UE4 SphereMaskでホラー的な表現を行う
今回はPostProcess Materialを使用して、
一定以上の距離から先が見えないといった処理を作成します。
作成にはUE4 4.19.2を使用しています。
First Person Templateを起動してください。
Materialを作成する
コンテンツブラウザを右クリックから
Materialを選択します。
Materialが作成できたら
名前を付けましょう。
MaterialをPostProcessVolumeに適応する
First Person Templateには最初から
PostProcess Volumeが配置されています。
PostProcess VolumeのPostProcess Material内の
Arrayに配列を追加して、先程作成したMaterialを適応します。
Materialを編集する
先程作成したMaterialを開きます。
まずは、Material DomainをSurfaceから
Post Processに変更します。
次にこのようにノードをつなげます。
Sphere MaskはAにチェックする座標の値、
Bに球体の原点の座標の値を入力し、
RadiusとHardnessに球体の半径と
トランジションエリアのサイズを指定します。
確認してみる
ここまでの処理が作成できたら実行して確認してみましょう。
プレイヤーを中心に半径1000の球体マスクが適応されました。
改良してみる
しかしこのままではプレイヤーや、
その他のオブジェクトが白く塗りつぶされたままになります。
そこでのように改良してみました。
LerpのAには0を入れ真っ黒になるようにします。
BにはScene Textureで本来描画されるべき色を入力します。
Alphaに先程作成したSphere Maskの値を入れ、
AとBの間を補間します。
確認してみる
確認してみると、マスクの範囲内には
正しい色が描画され、範囲外は黒くなりました。
また、Material Instanceなどで扱う場合は
RadiusとHardnessをパラメータにしておくと便利です。
パラメータを調整したものがこちらになります。