-
Notifications
You must be signed in to change notification settings - Fork 17
WF_Water Manual
UnlitWF/Water は、水面を描画するシェーダと付属の特殊効果を描画するシェーダで構成される、水シェーダのアセットです。 このページでは WF_Water の設定方法について説明します。
設定済みマテリアルが Example の unitypackage 内 Unlit_WF_ShaderSuite/Examples/Water/WaterMaterials
に収録されています。
複製してご利用ください。
WF_Water では、複数のシェーダとマテリアルの組み合わせで、水を描画します。
- 水面の描画
- WF_Water_Surface (Opaque, Transparent, TransparentRefracted)
- コースティクスの描画
- WF_Water_Caustics (Addition)
- 深度の描画
- WF_Water_DepthFog (Fade)
WF_Water_Surface シェーダが水面を描画します。
以下、サンプルとして同梱している mat_Day_Pool (TransparentRefracted)
を例に設定項目を解説していきます。
基本色と透過度の設定を行います。
水面を移動する波面を生成します。以下の設定が計3セット用意されていて、WF_Water_Surface では最大で3つまでの波面を合成して描画することができます。
UVタイプ
には UV1, UV2, WORLD_XZ を選ぶことができます。
- UV1: 水面メッシュのUV1を基準に波面を生成します。
- UV2: 水面メッシュのUV2を基準に波面を生成します。
- WORLD_XZ: ワールドXZ平面を基準に波面を生成します。
サンプルでは WORLD_XZ を設定しています。この設定では波の大きさはメッシュの大きさと相関しないため、どの大きさのメッシュにも適用可能です。一方 WORLD_XZ では垂直面が正しく描画されません。 UV 展開したメッシュであれば UV1 や UV2 のほうが適切になるため、適用先のメッシュの都合と合わせて調整してください。
凹凸スケール
からは波面ノーマルマップの凹凸具合を調整できます。大きくしたほうが波として見栄えが良いようです。
水面に光沢を付与します。WF_Water_Surface では最大2色までの光沢を追加できます。
滑らかさ
は、Standard シェーダにおける Smoothness に相当するパラメータです。滑らかさが大きいほど、光沢は狭く鋭くなります。滑らかさが小さいときは、光沢は広く淡くなります。
水面に反射を付与します。
サンプルマテリアルでは キューブマップ混合タイプ
が CUSTOM に設定されていて、キューブマップが明示的に指定されています。
ここを REFLECTION_PROBE に変更すると、指定したキューブマップではなくワールド側でベイクされた ReflectionProbe が映り込むようになります。
水面下の屈折描写を追加します。(TransparentRefracted のみ)
屈折率
と 距離
のパラメータを変更すると、屈折による歪みの量を変化させることができます。
視点から一定距離離れた先の色を調整できる機能です。
フェード距離 (Near)
と フェード距離 (Far)
の単位はメートルです。Near で指定した距離だけ離れた位置から色調整が始まり、Far で指定した距離になると色調整が最大になります。
ライトマップを読み取って影を描画する場合は有効にしてください。なお水面をライトベイクする際の注意点は後述します。
コントラスト
の初期値は 1.0 ですが、水面に使う場合は 0.4~0.8 くらいとするのが良いと思います。影が弱めに描画されます。
光源方向をカスタマイズできます。光源方向は『光沢(スペキュラ)』およびLambert影にて使用されます。
設定方法は UnToon Manual -> Lit Advance と同様です。 初期値は AUTO なので、通常は変更せずとも大丈夫のはずです。カスタマイズする際に変更してください。