今回は【SphereMask】ノードを使用し、暗闇の迷路を作成してみます。
【UE4 4.19.2】 New Project からTop Downを使用します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/Top_Down_2-300x219.png)
ボックスを動かして迷路にしました。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/maze-300x198.png)
このままプレイすると以下のような感じです。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/maze_2-300x215.png)
ここで、プレイヤーの周囲を暗闇にしていきます。
まずはレベルに【PostProcessVolume】を迷路全体が収まるように配置します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/Post_1-1024x643.png)
次に新規マテリアルを作成します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/Post_2-234x300.png)
作成したマテリアルを開き、【SphereMask】ノードを使用します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/SphereMask.png)
このノードでは球状のマスクを作成し、1つの点を指定します。
指定した点が球状の内側にあれば1。外側にあれば0に遷移するものです。
【A】チェックしたいポイントを指定します。
【B】球の中心を指定します。
【Radius】球の半径を指定します。
【Hardness】数値を入力し0に近い程、球の内外の境い目で緩やかにグラデーションします。
以下のように組んでみました。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/Post_3.png)
迷路を歩きたいので、【B】には常に付いてくるカメラを球の中心として指定し、プレイヤーが収まる程度の半径を入力しました。
チェックしたいポイントも歩くと常に変わるので【A】に【Absolute World Position】を使用し、絶対ワールド位置からピクセル情報をとってきます。
次に、【Material Domain】に【Post Process】を指定します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/SpheraMask_3.png)
設定後、レベルに戻り、【PostProcessVolume】を選択します。
【Rendering Features】の【Post Process Materials】の[+]を押して、先程作成したマテリアルを指定します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/Post_4.png)
設定はこれで完了です。プレイしてみましょう。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/maze_3-300x212.png)
周囲は暗くなっていますが、白黒の世界になってしまいました。
なので、作成したマテリアルを再度開き、以下のノードを追加しました。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/SpheraMask_4.png)
【Lerp】で色の補間を行います。
Aには黒を指定。Bには【Scene Texture】ノードを使用し、レベルにあるテクスチャー情報をPost Processに適用します。
【SphereMask】をAlphaに繋ぎ、完了です。再度プレイしてみましょう。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/maze_4-300x205.png)
球状の内側に元のテクスチャーが適用されました!
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/252ac743e9e3be7c9f3cba1813d0a5ab.gif)
このように、お手軽に暗闇表現が出来るので、様々なジャンルのゲームに役立ちそうですね。