執筆バージョン: Unreal Engine 5.2
|
UE5.2でマテリアルエディタに「Switch」というノードが追加されました。
処理負荷は高めのノードなので使い所は吟味する必要がありますが、なかなか可能性を感じる便利ノードなので、
今回は”Custom Stencil”と組み合わせた用途について、紹介していきたいと思います
(※「Switch」ノードの基本的な使い方は下記の記事を御覧ください)
[UE5] 新規追加されたマテリアルノード「Switch」
メッシュに”Custom Stencil”を設定する
- “Custom Stencil”は初期設定だと無効なので、Project設定の「Custom Depth-Stencil Pass」を「Enable with Stencil」に変更してください

- レベル上にスケルタルメッシュを配置し、「Render CustomDepth Pass」をオンに設定し、「CustomDepht Stencil Value」を1以上に設定してください

- 今回は、3体のスケルタルメッシュにそれぞれ 1~3 の「Stencil Value」を割り当てました

ポストプロセスマテリアルを作成する
- 新規マテリアルを作成し、ポストプロセス用の設定を行ってください
- 「Switch」ノードを配置し、0~3 の “Input” を追加してください

- 下図のようにノードを組み、ステンシル毎に違う色を設定します
“Custom Stencil”で取得できる値は元々整数なので、そのまま”Switch Value”に渡すだけでOKです

- 作成したポストプロセスマテリアルを、レベル上の PostProcessVolume に設定します
結果
”Custom Stencil” 毎に3色に塗り分ける事ができました!

まとめ
- “Custom Stencil”も「Switch」ノードも、扱う値が整数なので、値を無加工で使用できてお手軽!
- ノードが少なくシンプルな構成なので、後からStencilを増やすのも楽々!
(「IF」や「Lerp」で同じことをやろうとすると結構面倒)
- 処理負荷の高いノードなので、ご利用は計画的に!