記事一覧

凍結や雪の表現 Snow Shader

ファイル 184-1.jpg

WL-ShaderのPhong・Crome・Plaster・TransparentGlassに追加した機能です。
マテリアルインスタンスからSwitchのパラメータで処理の有無を切り替える方式で導入。
雪または氷のDiffuse/Specular/SpecularPower/Normalのパラメータ一式を処理の最終段階で追加する流れです。マッピングはUVだが、全ての面に影響するのではなく、特定の方向から吹き付けて影響する部分に効果が出るようにしており、マスク用のテクスチャで境界部分を馴染ませています。
デフォルトでは真上から真下の方向になっているので雪が積もった感じになると思う。もちろんマテリアルインスタンスから方向も調整できるし、ノーマルマップの細かい面の向きの変化にも対応している。
他にも多くのパラメータで細かくカスタマイズできるようにしてあるが、マテリアルエディタの中身は結構すごいことになってます。
薄くしたり各種テクスチャを変えたりできるので、雪じゃなく砂埃を被ったエフェクトへの応用もできる。
これは初代Crysisで使われていたシェーダと同じ方式だと思うんですが、Crysisの方は縦に積雪と全体的に氷の粒を追加するなど、複数の雪エフェクトを追加してましたね。