oceanShader/ocean(テクスチャ)
 
 
 

海洋(Ocean)テクスチャを使用すると、浴槽の小さい波から荒れた海の大きなうねりまで、さまざまな波のパターンをシミュレートできます。このテクスチャは、ディスプレイスメント マップとして使用するように作成されています。

海洋テクスチャをディスプレイスメントとして適用する前に、シェーダを割り当てるオブジェクトの機能ベースのディスプレイスメントをオフにします。これにより、ディスプレイスメントのほかにバンプ ノードが設定され、三角形の数を少なくすることができます。波のモーションを表示するには、時間(Time)アトリビュートをアニメートします。このテクスチャは、Perlin ノイズと、時間アトリビュートによってドリブンされる正弦波を使って内部的に定義されます(手続型)。

海洋シェーダは、ライトとビュー角度によってカラーが変化する様子をシミュレートして海洋のエフェクトを表現します。

海洋アトリビュート(Ocean Attributes)

スケール(Scale)

UV の 0~1 テクスチャ空間に対応するサイズをメートル単位で制御します(デフォルトのテクスチャ プレイスメント設定)。

時間(Time)

海洋(Ocean)テクスチャをアニメートするにはこのアトリビュートを使用します。時間アトリビュートにキーフレームを設定すると、海洋のテクスチャの変化のレートと量を制御することができます。この値は、指定されたスケール値での水のサーフェスを秒単位で表示します。時間(Time)フィールドにエクスプレッション "= time" を入力すると、スケールを基準とするほぼ正確なアニメーション スピードが作成されます。

風 UV(Wind UV)

風のエフェクトをシミュレートして、波が移動する(平均的な)方向を制御します。これは、UV テクスチャ空間で U/V の値として表示されます。

注:モーションが不自然になってしまうので、風 UVをアニメートすることは避けてください。
波のスピード(Wave Speed)

波が移動するスピードを定義します。波の動きを定義するのに使われる入力時間をスケールします。

波のスピード(Wave Speed)が 1.0 の場合、Maya の単位とスケール(Scale)アトリビュートで定義されたスケールで、大海原の波の正しいスピードが作成されます。たとえば、スケールが 10 で波のスピードが 1 であれば、1 ユニットは 10 メートルを表し、波は正しいスピードで移動します。

波を固定するには、スピードを 0 にします。

このアトリビュートを使用してスピードを時間の経過に従って変化させることはできません。代わりに、時間(Time)アトリビュートでアニメーションを変更する必要があります。

オブザーバのスピード(Observer Speed)

オブザーバのスピード(Observer Speed)は、シミュレートされたオブザーバーを移動させることで波の横のモーションをキャンセルします。これは、風向きに関連してテクスチャの UV オフセット(UV Offset)をアニメートすることに似ています。

オブザーバのスピードが 1.0 のとき、ビューワは波と同じスピードで動いているので一次波は移動しているように見えません。二次波は、一次波を基準として移動します。

周波数の値(Num Frequencies)

波長の最小(Wave Length Min)波長の最大(Wave Length Max)の間を補間する周波数の数を制御します。

注:この値が大きければ大きいほど、テクスチャの計算に時間がかかります。

この値が整数でない場合は、作成される周波数の数は四捨五入された値になりますが、追加の周波数の振幅は余りに比例します(たとえば 8.25 の 0.25)。これによって、このアトリビュートはスムースにアニメートされます。

波の方向のスプレッド(Wave Dir Spread)

風向きを基準にして波の方向の変動を定義します。

この値が 0 の場合、すべての波は同じ方向に移動します。

1 の場合、波はランダムな方向に移動します。

波の屈折のようなほかのエフェクトと風向に矛盾があれば、波の方向が不自然に変化する傾向があります。

波長の最小(Wave Length Min)

波の最小の長さをメートルで制御します。これは、波の長さの上限または下限のいずれかです。

波長の最大(Wave Length Max)

波の最大の長さをメートルで制御します。これは、波の長さの上限または下限のいずれかです。

波の高さ(Wave Height)

波の長さを基準として波のサイズを制御します。

グラフの左端はもっとも短い波を示し、右端はもっとも長い波を示します(波長の最小(Wave Length Min)波長の最大(Wave Length Max)によって決まります)。

値が 1.0 であれば、波の高さは長さの半分です。

グラフが横線であれば、すべての波の高さは長さに比例してまったく同じになります。

カーブを作成するには

  1. カーブ上の位置を選択するには、マーカを示すドットをクリックします。選択されたマーカのドットのまわりには白いアウトラインが表示されます。

  2. マーカを追加するには、グラフ上でクリックします。
  3. マーカを移動するには、マーカのドットを左右にドラッグするか、マーカを選択して選択した位置(Selected Position)ボックスで移動先の位置を入力します。
  4. マーカを削除するには、マーカ位置にある四角で囲まれた X 印をクリックします。
    選択した位置(Selected Position)

    この値は、選択されたマーカの、ランプ上の位置(左端の 0~右端の 1 の間)を示します。

    選択した値(Selected Value)

    選択された位置のランプの値を示します。値を変更するには、マーカのドットを上下にドラッグするか、このフィールドに値を入力します。

    補間(Interpolation)

    カーブ上の位置マーカ間で値をブレンドする方法を制御します。デフォルト設定はリニア(Linear)です。

    なし(None)

    各値の間は補間されません。

    リニア(Linear)

    値は直線的に補間されます。

    スムース(Smooth)

    値はベル曲線に沿って補間されます。Ramp の各値が周囲の領域に適用され、それから隣の値とすばやくブレンドされます。

    スプライン(Spline)

    値はスプライン カーブで補間され、隣接する位置マーカの値を考慮してよりスムースな変化が作成されます。

波の乱気流(Wave Turbulence)

さまざまな波の周波数での乱気流の量を制御します。

グラフの左端はもっとも短い波を示し、右端はもっとも長い波を示します(波長の最小(Wave Length Min)波長の最大(Wave Length Max)によって決まります)。

この値が 1.0 なら、波のモーションは定義された周波数で完全に荒れ狂います。

それぞれの波の周波数において、乱流の波のコンポーネントはその周波数における複数の正弦波から構成されます。これは、もっとも計算量の大きいアトリビュートです。この値を 0 にするとレンダー スピードは飛躍的に向上しますが、このアトリビュートは嵐や強風時の水のシミュレーションにとっては重要です。波のピーキング(Wave Peaking)アトリビュートは荒れた波のレイヤだけに作用するので、この値が 0 の場合、波のピーキング アトリビュートによる影響はありません。

カーブの作成方法の詳細については、 カーブを作成するにはを参照してください。

波のピーキング(Wave Peaking)

あらゆる波の周波数において波頭の作成を制御します。波のピーキングは、波の上下のモーションとは逆に、横方向の波の動きをシミュレートします。このアトリビュートが適用されるのは荒れた波だけなので、このアトリビュートを有効にするには波の乱気流(Wave Turbulence)も 0 以外の値でなければなりません。

このアトリビュートが 0 以外の場合、ノイズ関数で実行される計算が増えるため、計算スピードが落ちます。

カーブの作成方法の詳細については、 カーブを作成するにはを参照してください。

波の高さのオフセット(Wave Height Offset)

(シェーダのみ)海洋の全体的なディスプレイスメントにおける単純なオフセットです。テクスチャ マッピングする際に、独自の波やボートの航跡を追加するのに便利です。

泡の放出(Foam Emission)

泡のしきい値(Foam Threshold)で設定された値以上で生成された泡の密度を制御します。泡の放出値は outFoam アトリビュートに出力されます。これを使って、階層化された泡シェーダの不透明度を定義できます。

泡のしきい値(Foam Threshold)

泡の生成に必要な波の振幅(Wave Amplitude)と泡が消えるまでの時間を制御します。

泡のオフセット(Foam Offset)

均一な泡を任意の場所に追加します。独自の泡テクスチャを追加する際に便利です。

バンプのブラー(Bump Blur)

シェーディング用にバンプされた法線を計算する際に使われるサンプルの区切りを(最も短い波を基準として)定義します。この値が大きければ、小さい波や波頭はよりスムースになります。

水平線フィルタ(Horizon Filter)

ビューの距離と角度を基にしてバンプのブラーを大きくすることにより、海洋の水平線に沿ったジッタやノイズをスムースにしてフィルタします。水平線フィルタはデフォルトでは 1.0 です。

カラー モード(Color Mode)

(テクスチャのみ)カラー チャンネル、正規化された波の高さ(Wave Height)泡(Foam)、または上の(白い泡を伴う青緑色の波の高さ(Wave Height))に何を出力するかを選択します。

共通マテリアル アトリビュート(Common Material Attributes)

水のカラー(Water Color)

サーフェスの基本カラーを定義します。

泡のカラー(Foam Color)

泡のレイヤのカラーを定義します。シミュレートされた泡の一部は水中にあるとみなされることがあります。その場合、カラーはマテリアルカラーとブレンドされます。

透明度(Transparency)

マテリアルの不透明度を制御します。黒は完全に不透明(デフォルト)、白は完全に透明な状態を意味します。この間のどんなレベルにも設定できます。透明度をチャンネルごとに制御することもできます。たとえば、これを赤に設定すると、赤チャンネルのみが透明になります。

注:このマテリアルにスぺキュラ ハイライト(たとえばPhongマテリアルまたはBlinnマテリアル シェーダとすれば)がある場合は、透明度の設定はハイライトに影響を及ぼしません。そのため、透明度のアトリビュートをアニメートしてオブジェクトを消す場合は、スぺキュラ ハイライト アトリビュートもアニメートしなければならないことがあります。
屈折インデックス(RefractiveIndex)

光線がオブジェクトを通過するときの屈折度を定義します。このアトリビュートが機能するのは、マテリアルが部分的または完全に透明で(「透明度(Transparency)」を参照)、屈折(Refractions)がオンになっており(「屈折(Refractions)」を参照)、レイ トレーシング(Ray Tracing)を使ってレンダーする場合だけです(レンダー設定(Render Settings)で設定)。

屈折インデックスが 1.0 に設定されていれば、光線はオブジェクトを通過しても屈折しません。次に、屈折インデックスの参考になる値をいくつか示します。

Air: 1.0 Water: 1.33 Gasoline: 1.45 Crystal: 2.00 Glass: 1.5 Ice: 1.309 Quartz: 1.6 Ruby: 1.77 Sapphire: 1.77 Salt: 1.54 Alcohol: 1.329 Emerald: 1.57 Polystyrene: 1.55
注:オブジェクトを透明にすると、そのオブジェクトを通して見たほかのオブジェクトは、屈折に現れる(Visible In Refractions)アトリビュートがオンになっている場合だけ屈折します。
白熱光(Incandescence)

溶岩や青光りしている苔など、マテリアルが光を放っているかのような外観を作成します。たとえば、植物に白熱光をわずかに当てると、植物を本物らしく見せることができます。

デフォルトのカラーは黒で、サーフェスは影響を受けません。

注:白熱光を当てるとサーフェスは発光しているように見えますが、サーフェスがシーン内で光源として機能するわけではありません。

グロー(Glow)も参照してください。

アンビエント カラー(Ambient Color)

アンビエント カラーのデフォルト値は黒で、マテリアル全体のカラーは影響を受けません。アンビエント カラーが明るくなるにつれ、光を当てて 2 つのカラーをブレンドすることによってマテリアルのカラーに影響を及ぼします。

シーン内に環境光がある場合、これらのカラーと輝度を使い、アンビエント カラーがマテリアルの最終的なカラーにどの程度影響するかを制御します。

拡散(Diffuse)

シーン内のライトがオブジェクトからどの程度拡散するかを制御します。大半のマテリアルは当たっているライトの一部を吸収して、残りを拡散します。

波の谷間のシャドーイング(Trough Shadowing)

波の谷間で拡散するカラーを暗くします。これで、波頭の方が明るくて光を拡散している特定のタイティング状況をシミュレートすることができます。このアトリビュートは波のカラーが青緑色の範囲にあるときうまく機能します。

半透明(Translucence)

ライトが半透明のオブジェクト内を拡散的に貫通する方法を指定します。つまり、ライトがオブジェクトの一方側を照らすと、反対側が部分的に照らされるということです。これはクラウド、毛皮、毛髪、大理石、ひすい、ワックス、紙、木の葉などのエフェクトに使用します。

半透明を 0(デフォルト)に設定すると、光はオブジェクト内を通過しません。1 に設定すると、光はすべて通過します。

半透明の焦点(Translucence Focus)

半透明のオブジェクトを通して、ライトが前方に向かってより拡散する方法をシミュレートします。葉や、クラウドのような密度の低いオブジェクトは、光を前方に向かって乱反射する傾向があります。

半透明の焦点が 0.0 であれば、半透明の光はあらゆる方向に拡散します。焦点値が上がるにつれ、半透明の光は光の方向へより拡散します。これにより、葉は前面からライトを受けたときよりも背後からライトを受けた場合により輝きます。焦点値が高いと、半透明のオブジェクトを通して見たときに、光源の周囲にハロが生じたり発光しているように見えたりします。

半透明のデプス(Translucence Depth)

特定のオブジェクトで、光がどこまで貫通すれば半透明(Translucence)値が完全に減衰するかを定義します。

半透明のデプスが 0 の場合、半透明値は光がオブジェクトを通して進む距離に関係なく減衰しません。

スペキュラ シェーディング(Specular Shading)

鏡面反射性(Specularity)

スぺキュラ ハイライトの明るさを制御します。スペキュラ カラーの乗数です。

偏心(Eccentricity)

スぺキュラ ハイライト(ホットスポット)の大きさを制御します。

スペキュラ カラー(Specular Color)

マテリアル上のスぺキュラ ハイライトのカラーを定義します。スペキュラ反射の最終的なカラーは スペキュラ カラーとライトのカラーの組み合わせになります。

スペキュラ カラーを明るくしたり暗くしたりすることで、オブジェクトのスペキュラ反射の明るさを制御することができます。

ヒント:マテリアルをさらにプラスチック調に見せたい場合は、スペキュラ カラーに白を使用します。マテリアルをさらにメタリック調に見せたい場合は、スペキュラ カラーにサーフェスと同じ色を使用します。
反射率(Reflectivity)

オブジェクトがミラーのように光を反射するようにするには、反射率を使用します。

マテリアルがまったく反射しないようにするには、この値を 0 にします。反射を明るくするには値を大きくします。反射を明るくするに従って、元のサーフェスカラーは隠れていくことになることに注意してください。このアトリビュートは、反射マップがあるか、レイ トレーシングをしているときだけ有効です。

反射率を設定する場合、次の値を参考にしてください。

車の塗料: 0.4 ガラス: 0.7 鏡: 1.0 クローム: 1.0

注:レイ トレーシングを行ってシーン内のほかのオブジェクトが反射して見えるようにしたい場合、これらのオブジェクトの反射に現れる(Visible In Reflections)アトリビュートを有効(デフォルト)にする必要があります。

環境(Environment)

ランプを使って、空の地上に対する単純な環境反射を定義します。ランプの左は空の一番上で、右は一番下です。詳細については、 環境(Environment)を参照してください。

グロー(Glow)

グローの強度(Glow Intensity)

グロー(マテリアルの周囲に広がるかすかな光のハロ)の明るさを制御します。グローの強度はデフォルトでは 0 で、これはマテリアルにグローが追加されていないことを示しています。グローの強度を大きくすると、グロー エフェクトの外見上のサイズも大きくなります。

グローの強度(Glow Intensity)は、2 つの重要な点で白熱光(Incandescence)アトリビュートと異なります。

マットの不透明度(Matte Opacity)

このセクションのアトリビュートは、マット(アルファ チャンネルまたはマスク)を使ってレンダーする際に、流体がマットではどのように表示されるかを制御します。これは、レンダーしたイメージを合成する際に便利です。

マットの不透明度モード(Matte Opacity Mode)

Maya がマットの不透明度(Matte Opacity)値を使用する方法を選択します。

不透明度ゲイン(Opacity Gain)

オブジェクトの透明度に基づいてマットの値が計算され、その後でマットの不透明度値が掛け合わせられます。不透明度ゲインを使って、あとで合成する際に、マットの不透明度値をアニメートしてオブジェクトの全体的な透明度を変更することができます。

ソリッド マット(Solid Matte)

流体のマット全体がマットの不透明度(Matte Opacity)アトリビュートの値に設定されます。このオプションは不透明度ゲイン(Opacity Gain)と同様です。ただし、マットの不透明度(Matte Opacity)設定が優先され、通常の方法で計算されたマット値は無視されます。オブジェクトに透明な領域がある場合、その透明度はマットでは無視されます。透明な部分があるオブジェクトを合成し、透明な部分を通して背景が見えないようにしたい場合にこの設定を使います。

ブラック ホール(Black Hole)

マットの不透明度の値は無視され、この流体におけるすべてのマットは透明に設定されます。これは、あとで合成する背景イメージのオブジェクトの代わりにする代用ジオメトリをシーン内に作成するときに使います。代用オブジェクトは、マットに「穴を開けます」。これによって、ほかのコンピュータで生成したジオメトリに代用オブジェクトの裏を通過させることができます。あとでフォアグラウンドとバックグラウンドを合成すると、バックグラウンド オブジェクトが 'black hole' 領域を通して表示され、適切な結果を得ることができます。

マットの不透明度のデフォルト値は 1 なので、デフォルトではソリッド マット不透明度ゲインには効果がありません。

マットの不透明度(Matte Opacity)

マットの不透明度モード(Matte Opacity Mode)と一緒にマットの不透明度を使って、マテリアルのマット(アルファ チャンネルまたはマスク)の計算方法を制御します。

レイ トレース オプション(Raytrace Options)

屈折(Refractions)

屈折を有効にし、レイ トレーシング(Ray Tracing)でレンダーしているときにマテリアルで光が屈折するようにします。屈折インデックス(Refractive Index)が 1.0 以外の値に設定されていない限り、違いはわかりません (詳細は、屈折インデックス(Refractive Index)アトリビュートを参照してください)。屈折はデフォルトではオフになっています。

屈折の最大値(Refraction Limit)

レイ デプスの最大値です。

シャドウの減衰(Shadow Attenuation)

フェイクのリフラクション コースティクス

シャドウの減衰は、透明なオブジェクトのシャドウの中心部分をより明るくして、ライトの焦点をシミュレートします。0 では輝度が一定のシャドウ、1 では中心に焦点を当てたシャドウを得ることができます。

反射の最大値(Reflection Limit)

レイ デプスの最大値(Reflected Ray Depth)の限界です。

反射の鏡面反射性(Reflection Specularity)

レイ トレーシングの反射光線を扱う際に、スペキュラ コンポーネントの影響を制御します(鏡の反射とみなされるスペキュラの影響)。