この記事では【Unreal Engine】を使用した【リアルな爆発エフェクト】の作成方法を解説していきます
第2回目は、【Materialの作成(Part1)】について解説していきます
◆Projectの作成
【Version】
■Unreal Engine 5.1.1
——————————————————————————————–
- 【Project】の作成(名前は任意で構いません)
——————————————————————————————–
◆環境構築
- 【Content】以下に各種格納フォルダを作成します
■【Content】
∟【VFX】
∟【Level】
【Level_Sequence】
【Material】
【Material_Instance】
【Niagara_System】
【Texture】
——————————————————————————————–
- 【新規Level】を作成する
——————————————————————————————–
■【Basic】を選択
——————————————————————————————–
■作成したLevelを保存する
——————————————————————————————–
■作成した【Level】フォルダ内に名前を付けて保存する(名前は任意で構いません)
・今回は Levelの名前を「Level_VFX_Explosion_Tips」とします
——————————————————————————————–
- 不要なものを【非表示】又は【削除】します
■以上で【環境構築】は終了です
(・ポストエフェクトを使いたい場合は、追加してください(今回は使用しません))
◆TextureのInport
- EmberGenで作成したTexture素材を、作成した【Textureフォルダ】内にInportします
——————————————————————————————–
- 【Motion Vector Map】のTextureをダブルクリックして開き、【sRGB設定】をOffにして設定を保存します
■以上でTextureのInportと設定は終了です
◆Material作成
- 作成した【Materialフォルダ】内で新規マテリアルを作成します(名前は任意で構いません)
- 今回はマテリアルの名前を「MT_Explosion_001」とします
——————————————————————————————–
- 作成したマテリアルをダブルクリックで開きます
——————————————————————————————–
◆Materialの編集
- Materialの【Details】設定内の【Blend Mode】を【Translucent】に設定します
——————————————————————————————–
- 【FlipBook_MotionVectorノード】を4つ作成します
(マテリアル内で右クリックからノードを検索・作成できます)
——————————————————————————————–
- 【Texture Objectノード】を5つ作成します
——————————————————————————————–
- 【Texrue Objectノード】の参照を、作成したTextureに変更します
——————————————————————————————–
■【Texture Objectノード】を選択し、【Details】→【Texture】のところに直接ドラッグ&ドロップするか、赤線で囲ったアイコンから変更します
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Texture】の部分に【MotionVectorを参照したTexture Objectノード】以外の【Texrue Objectノード】をつないでいきます
——————————————————————————————–
- 各【FlipBook_MotionVectorノード】の【Motion Vector Texture】の部分に【MotionVectorを参照したTexrue Objectノード】をつなぎます
——————————————————————————————–
- 【Constantノード】を2つ作成する(ショートカット→1キーを押しながらクリック)
——————————————————————————————–
- 【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になります))
——————————————————————————————–
- 【Constantノード】を1つ作成する
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Morion Vector Intensity】に同じようにつなぎます
(こちらも後に【Material Instance】で値を設定するので「0」としておきます)
——————————————————————————————–
- 【StaticBoolノード】を1つ作成します
——————————————————————————————–
- 【FlipBook_MotionVectorノード】の【Double Apply Motion Vectors】に同じようにつなぎます
■【Double Apply Motion Vectors】- リアルタイムでのビジュアル品質の向上を支援します
- 移動量を2回適用することで、より現実的なモーションブラーを実現します
- 速度や移動量が適切に考慮されるため、より滑らかなモーションブラーが得られます
——————————————————————————————–
- 【DynamicParameterノード】を1つ追加する
■【DynamicParameterノード】- マテリアル内の数値を【Niagara System】内で制御するために使用します
- 今回は【Flipbook素材】の【アニメーションを行う数値】の部分をこの機能で制御していきます
——————————————————————————————–
■【DynamicParameterノード】を選択し、【Details】→【Param Names】→【Index【0】】を【FlipBook_Animation_Speed】に変更します
■赤線の【Default Value】の【R】の値を「0」としておきます
——————————————————————————————–
- 【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内でカーブを使用して制御し、爆発のアニメーションを表現していきます
◆Comment機能でノードをグループ化
■マテリアル内を見やすくするため【Comment機能】を使用して各Mapごとに【グループ化】を行います
——————————————————————————————–
- グループ化したいノードをドラッグで範囲選択します
——————————————————————————————–
- 【Cキー】を押してグループ化をし、それぞれにグループ名を付けます
■今回は各Mapのグループ名を次の名前にします(名前は任意で構いません)
各Map | グループ名 |
Smoke Map | 【Smoke】 |
Emissive Map | 【Emissive】 |
Normal Map | 【Normal】 |
Ambient Occlusion Map | 【Ambient Occlusion】 |
——————————————————————————————–
■【Comment】を選択し、【Ditails】→【Comment Color】で色を変更するとより見やすくなります
——————————————————————————————–
■各Mapをグループ化できました
以上がFlipBookの制御に関するMaterialの設定です
長くなりますので一旦、ここで区切ります
◆次回の記事
次回の記事【Materialの作成(Part2)】では、
■【マテリアルを汎用的に使うための処理】
■【陽炎表現の実装】
■【DepthFadeの実装】を記載していきます
■【Particl Colorの実装】を記載していきます
お疲れ様でした!