single.php

UEの[CustomDepth Stencil Value]の値で条件分岐する方法

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]の値で条件分岐したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です