執筆バージョン: Unreal Engine 5.6
|
今回は、キャラクターやカメラの動きに合わせて画面にかかるブロックノイズ風の表現を、Post Process Material で作ってみたいと思います

う……静止画だと伝わりにくい…!
➀Material を作成
- 新規マテリアルを作成してください
- “Material Domain”を”Post Process”に変更してください

➁Post Process Volume の設定
- Level 上に Post Process Volume を配置してください(すでに配置されている場合は、そちらを使用しても構いません)
- “ポストプロセスマテリアル”のArrayを「+」ボタンから追加し、➀で作成した Material をアサインしてください

- これから作成する Material の効果と干渉するので、モーションブラーは切っておきましょう

③カメラやキャラクターの速度を取得
- “Scene Texture”ノードを作成し、”Scene Texture Id”を”Velocity”に変更してください

- こんな感じで、スクリーン座標系のピクセルの移動量が取得できます
- このVelocityの値を使って、「移動量に合わせて、画面をブロックノイズ状に歪ませる」という処理を作成していきます
④ブロックノイズ風の効果を作成
- 下記のテクスチャを使用します(保存してご使用頂いても構いませんが、再配布はご遠慮ください)

- 下図のようにノードを組んでください

- このまま出力すると、こんな感じになります。(パラメータはお好みで良い感じに調整してみてください)
⑤移動速度に応じて画面のUVをブロックノイズ状に歪める
- ③のノードに、④のノードを”Multiply”(乗算)し、”Texture Coordinate”(画面全体のUV)から”Subtract”(減算)してください

- カメラやキャラクターの移動に合わせて、画面がブロックノイズ状に歪めることができました!
(ビューポート上カメラを動かしただけでも、効果が乗っていますね)
- スクリーン座標系の移動量に応じてノイズがかかるので、キャラを移動させているだけでは遠景にほぼノイズが乗らない事が分かるかと思います。
プレイヤーの入力に合わせて画面に効果がかかるので、ただ画面全体にノイズをかけるよりも面白い表現になっていると思います。
ファンドフッテージ風のホラーゲームとかに使えそうですね。
是非試してみください!