BLOGブログ

2021.11.10UE4UE/ Materialその他

[UE4]「Scene Texture」を用いたパーティクルエフェクト表現

執筆バージョン: Unreal Engine 4.26

マテリアル内で様々なバッファを取得できる「Scene Texture」ノード。便利ですよね。
主に Post Process Material で使用されるノードですが、普通の半透明マテリアルでも使用する事が可能です。

今回は、このノードを使用した半透明マテリアルと、パーティクルエフェクトを組み合わせた表現について紹介します。

 

1.  Custom Depth

CustomDepthを用いてパーティクルエフェクトのスプライトをマスクしてみます。

※カスタムデプスってなんぞや?という方は、下記の公式ドキュメントを御覧ください。

https://docs.unrealengine.com/4.27/ja/RenderingAndGraphics/PostProcessEffects/PostProcessMaterials/

 

まず、下図のようにノードを組みます。

あとはこのマテリアルを用いて、Cascadeで適当にエフェクトを作成します。

グレーマンの Custom Depth を On にした状態で、作成したエフェクトを重ねると…

パーティクルエフェクトが、グレイマンのシルエットでマスクされました。

※パーティクルは「Camera Offset」を使ってカメラ方向に少しオフセットしておくのがオススメです。

 

2. World Normal

次は、World Normal を使ってみます。このノードはワールド空間の法線情報が取得できるので、Fresnel ノードと組み合わせる事で面白い表現ができます。

では、下図のようにノードを組んでみましょう。

このマテリアルを用いて、Cascadeで適当にエフェクトを作成します。

普通、こういった表現はキャラクター側のマテリアルに仕込む事が多いですが、パーティクルエフェクトとして実装する事で、

出したり消したりが容易となりますし、キャラクターマテリアルの肥大化も避けられるため、何かと取り回しが良いです。

 

応用。もちろん Sub UV を用いた連番アニメーションも使う事ができます。

これは、この手法ならではの表現という感じがしますね。

 

色々と応用が効く面白いテクニックなので、是非チャレンジしてみてください!