この記事では【Unreal Engine】を使用した【リアルな爆発エフェクト】の作成方法を解説していきます
第2回目は、【Materialの作成(Part1)】について解説していきます
◆Projectの作成
【Version】
■Unreal Engine 5.1.1
——————————————————————————————–
- 【Project】の作成(名前は任意で構いません)
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-78.png)
——————————————————————————————–
◆環境構築
- 【Content】以下に各種格納フォルダを作成します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-79.png)
■【Content】
∟【VFX】
∟【Level】
【Level_Sequence】
【Material】
【Material_Instance】
【Niagara_System】
【Texture】
——————————————————————————————–
- 【新規Level】を作成する
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-80.png)
——————————————————————————————–
■【Basic】を選択
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-81.png)
——————————————————————————————–
■作成したLevelを保存する
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-82.png)
——————————————————————————————–
■作成した【Level】フォルダ内に名前を付けて保存する(名前は任意で構いません)
・今回は Levelの名前を「Level_VFX_Explosion_Tips」とします
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-83.png)
——————————————————————————————–
- 不要なものを【非表示】又は【削除】します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-84.png)
■以上で【環境構築】は終了です
(・ポストエフェクトを使いたい場合は、追加してください(今回は使用しません))
◆TextureのInport
- EmberGenで作成したTexture素材を、作成した【Textureフォルダ】内にInportします
——————————————————————————————–
- 【Motion Vector Map】のTextureをダブルクリックして開き、【sRGB設定】をOffにして設定を保存します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2024/02/image.png)
■以上でTextureのInportと設定は終了です
◆Material作成
- 作成した【Materialフォルダ】内で新規マテリアルを作成します(名前は任意で構いません)
- 今回はマテリアルの名前を「MT_Explosion_001」とします
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-86.png)
——————————————————————————————–
- 作成したマテリアルをダブルクリックで開きます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-87.png)
——————————————————————————————–
◆Materialの編集
- Materialの【Details】設定内の【Blend Mode】を【Translucent】に設定します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-88.png)
——————————————————————————————–
- 【FlipBook_MotionVectorノード】を4つ作成します
(マテリアル内で右クリックからノードを検索・作成できます)
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-89.png)
——————————————————————————————–
- 【Texture Objectノード】を5つ作成します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-90.png)
——————————————————————————————–
- 【Texrue Objectノード】の参照を、作成したTextureに変更します
——————————————————————————————–
■【Texture Objectノード】を選択し、【Details】→【Texture】のところに直接ドラッグ&ドロップするか、赤線で囲ったアイコンから変更します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-91.png)
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Texture】の部分に【MotionVectorを参照したTexture Objectノード】以外の【Texrue Objectノード】をつないでいきます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-92.png)
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-93.png)
——————————————————————————————–
- 各【FlipBook_MotionVectorノード】の【Motion Vector Texture】の部分に【MotionVectorを参照したTexrue Objectノード】をつなぎます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-94.png)
——————————————————————————————–
- 【Constantノード】を2つ作成する(ショートカット→1キーを押しながらクリック)
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-95.png)
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Number of Columns X】と【Number of Rows Y】に⑤の工程と同じようにつなぎます
- 【Number of Columns X】→Flipbook素材の横軸の数を入力するところ
- 【Number of Rows Y】→Flipbook素材の縦軸の数を入力するところ
(後に【Material Instance】を作成し値を入力しますので、今は「0」としておきます(後に入れる値は5/5になります))
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-96.png)
——————————————————————————————–
- 【Constantノード】を1つ作成する
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-97.png)
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Morion Vector Intensity】に同じようにつなぎます
(こちらも後に【Material Instance】で値を設定するので「0」としておきます)
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-98.png)
——————————————————————————————–
- 【StaticBoolノード】を1つ作成します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-99.png)
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Double Apply Motion Vectors】に同じようにつなぎます
■【Double Apply Motion Vectors】- リアルタイムでのビジュアル品質の向上を支援します
- 移動量を2回適用することで、より現実的なモーションブラーを実現します
- 速度や移動量が適切に考慮されるため、より滑らかなモーションブラーが得られます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-100.png)
——————————————————————————————–
- 【DynamicParameterノード】を1つ追加する
■【DynamicParameterノード】- マテリアル内の数値を【Niagara System】内で制御するために使用します
- 今回は【Flipbook素材】の【アニメーションを行う数値】の部分をこの機能で制御していきます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-101.png)
——————————————————————————————–
■【DynamicParameterノード】を選択し、【Details】→【Param Names】→【Index【0】】を【FlipBook_Animation_Speed】に変更します
■赤線の【Default Value】の【R】の値を「0」としておきます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-103.png)
——————————————————————————————–
- 【DynamicParameterノード】のR(FlipBook_Animation_Speed)を同じようにそれぞれの【Animation Phase(0-1)】につなぎます
■【Animation Phas(0-1)】- Flipbookのアニメーションを0から1の値で制御します
- 「0」→アニメーションの始まり
- 「1」→アニメーションの終わり
- 今回は25枚のFlipBook素材なので「0」の値が1枚目、「1」の値が25枚目にあたります
- この数値を後に【DynamicParameter】としてNiagara System内でカーブを使用して制御し、爆発のアニメーションを表現していきます
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-104.png)
◆Comment機能でノードをグループ化
■マテリアル内を見やすくするため【Comment機能】を使用して各Mapごとに【グループ化】を行います
——————————————————————————————–
- グループ化したいノードをドラッグで範囲選択します
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-105.png)
——————————————————————————————–
- 【Cキー】を押してグループ化をし、それぞれにグループ名を付けます
■今回は各Mapのグループ名を次の名前にします(名前は任意で構いません)
各Map | グループ名 |
Smoke Map | 【Smoke】 |
Emissive Map | 【Emissive】 |
Normal Map | 【Normal】 |
Ambient Occlusion Map | 【Ambient Occlusion】 |
——————————————————————————————–
■【Comment】を選択し、【Ditails】→【Comment Color】で色を変更するとより見やすくなります
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-106-1024x423.png)
——————————————————————————————–
■各Mapをグループ化できました
![](https://vfx.crdg.jp/tech/wp-content/uploads/2023/06/image-107.png)
以上がFlipBookの制御に関するMaterialの設定です
長くなりますので一旦、ここで区切ります
◆次回の記事
次回の記事【Materialの作成(Part2)】では、
■【マテリアルを汎用的に使うための処理】
■【陽炎表現の実装】
■【DepthFadeの実装】を記載していきます
■【Particl Colorの実装】を記載していきます
お疲れ様でした!