Unreal Engine 5で開発する過程で[CustomDepth Stencil Value]にハマったので仕組みと制御する方法を備忘録的に投稿します。
[CustomDepth Stencil Value]設定
Unreal Engineでアクターのアウトライン表示などに使う[Render CustomDepth Pass]と[CustomDepth Stencil Value]があります。
アウトラインの設定が1種類の場合には、気にならなかったのですが、複数の枠線の色を設定してコントロールできそうな[CustomDepth Stencil Value]の取り扱いは意味不明でした。
[CustomDepth Stencil Value]には整数値が設定できます。
設定するのは簡単ですが、[CustomDepth Stencil Value]の使い方にハマりました。
グラフに追加するノードで[Set CustomDepth Stencil Value]は検索できますが[Get CustomDepth Stencil Value]が見つかりません。
Custom Stencilの値による条件分岐
アウトラインの色を設定するための[マテリアル]内で[CustomDepth Stencil Value]の値を取得するには[Switch]ノードが使えます。
具体的には次の手順で[CustomDepth Stencil Value]による条件分岐ができます。
1. [エミッシブカラー]に色を設定する接続の直前に[SceneTexture]ノードを追加します。
2.[詳細]画面で[Scene Texture Id]設定を[CustomStencil]に編集します。
3.[Color]ピンからドラッグして[Switch]ノードを追加します。([Color]ピンに[CustomDepth Stencil Value]の値が入ってきます)
4.[Switch]ノードの[詳細]画面で[入力]配列を条件分岐する数だけ追加します。(入力名は適当に設定します)
5. 条件分岐で表示したい色を追加した入力値に接続します。([CustomDepth Stencil Value]に設定した整数値で条件分岐します)
こんな感じで[Switch]ノードを使って[CustomDepth Stencil Value]の値で色設定を切り替えることが可能でした。
まとめ
今回は短い記事になりましたが、Unreal Engine 5で[CustomDepth Stencil Value]を使って制御する方法について書きました。
グラフに追加する[Get CustomDepth Stencil Value]ノードが無いので、ハマりましたが[CustomDepth Stencil Value]の値は[SceneTexture]と[Switch]ノードを使って条件分岐させることができました。
Unreal Engine で[CustomDepth Stencil Value]の値で条件分岐したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。






