Skip to content

WF_Water Manual

whiteflare edited this page Dec 11, 2022 · 15 revisions

WF_Water マニュアル

UnlitWF/Water は、水面を描画するシェーダと付属の特殊効果を描画するシェーダで構成される、水シェーダのアセットです。 このページでは WF_Water の設定方法について説明します。

Image from Gyazo

サンプルマテリアル

設定済みマテリアルが Example の unitypackage 内 Unlit_WF_ShaderSuite/Examples/Water/WaterMaterials に収録されています。 複製してご利用ください。

Image from Gyazo

シェーダの全体構成について

WF_Water では、複数のシェーダとマテリアルの組み合わせで、水を描画します。

Image from Gyazo

  • 水面の描画
    • WF_Water_Surface (Opaque, Transparent, TransparentRefracted)
  • コースティクスの描画
    • WF_Water_Caustics (Addition)
  • 深度の描画
    • WF_Water_DepthFog (Fade)

水面の描画

WF_Water_Surface シェーダが水面を描画します。

Image from Gyazo

以下、サンプルとして同梱している mat_Day_Pool (TransparentRefracted) を例に設定項目を解説していきます。

Surface - 基本設定と透過

基本色と透過度の設定を行います。

Image from Gyazo

Surface - 波面の生成

水面を移動する波面を生成します。以下の設定が計3セット用意されていて、WF_Water_Surface では最大で3つまでの波面を合成して描画することができます。

Image from Gyazo

UVタイプ には UV1, UV2, WORLD_XZ を選ぶことができます。

  • UV1: 水面メッシュのUV1を基準に波面を生成します。
  • UV2: 水面メッシュのUV2を基準に波面を生成します。
  • WORLD_XZ: ワールドXZ平面を基準に波面を生成します。

サンプルでは WORLD_XZ を設定しています。この設定では波の大きさはメッシュの大きさと相関しないため、どの大きさのメッシュにも適用可能です。一方 WORLD_XZ では垂直面が正しく描画されません。 UV 展開したメッシュであれば UV1 や UV2 のほうが適切になるため、適用先のメッシュの都合と合わせて調整してください。

凹凸スケール からは波面ノーマルマップの凹凸具合を調整できます。大きくしたほうが波として見栄えが良いようです。

Image from Gyazo

Surface - 光沢(スペキュラ)

水面に光沢を付与します。WF_Water_Surface では最大2色までの光沢を追加できます。

Image from Gyazo

滑らかさ は、Standard シェーダにおける Smoothness に相当するパラメータです。滑らかさが大きいほど、光沢は狭く鋭くなります。滑らかさが小さいときは、光沢は広く淡くなります。

Surface - 反射(Reflection)

水面に反射を付与します。

Image from Gyazo

サンプルマテリアルでは キューブマップ混合タイプ が CUSTOM に設定されていて、キューブマップが明示的に指定されています。 ここを REFLECTION_PROBE に変更すると、指定したキューブマップではなくワールド側でベイクされた ReflectionProbe が映り込むようになります。

Surface - 屈折(Refraction)

水面下の屈折描写を追加します。(TransparentRefracted のみ)

Image from Gyazo

屈折率距離 のパラメータを変更すると、屈折による歪みの量を変化させることができます。

Surface - 距離フェード

視点から一定距離離れた先の色を調整できる機能です。

Image from Gyazo

Image from Gyazo

フェード距離 (Near)フェード距離 (Far) の単位はメートルです。Near で指定した距離だけ離れた位置から色調整が始まり、Far で指定した距離になると色調整が最大になります。

Surface - AOマップとライトマップ

ライトマップを読み取って影を描画する場合は有効にしてください。なお水面をライトベイクする際の注意点は後述します。

Image from Gyazo

コントラスト の初期値は 1.0 ですが、水面に使う場合は 0.4~0.8 くらいとするのが良いと思います。影が弱めに描画されます。

Surface - ライト設定(拡張)

光源方向をカスタマイズできます。光源方向は『光沢(スペキュラ)』およびLambert影にて使用されます。

Image from Gyazo

設定方法は UnToon Manual -> Lit Advance と同様です。 初期値は AUTO なので、通常は変更せずとも大丈夫のはずです。カスタマイズする際に変更してください。

Clone this wiki locally