Niagara でメッシュ パーティクル エフェクトを作成する方法

Niagara を使ってパーティクル エフェクトでスタティック メッシュを使用する方法を説明します。

Choose your operating system:

Windows

macOS

Linux

前提トピック

このページは以下のトピックへの知識があることを前提にしています。まず以下のトピックの内容についてご確認をお願いします。

カメラ方向のスプライト ではなくスタティック メッシュをスポーンすることで、より現実味のあるエフェクトを作成することができます。本ページでは、スプライトではなくスタティック メッシュをスポーンするように Niagara Emitter を設定する方法を紹介します。

前提条件: このドキュメントでは Starter Content (スターター コンテンツ) に含まれる Shape_Sphere スタティック メッシュを使用します。このスタティック メッシュまたは Starter Content をプロジェクトに追加していない場合は、先に進む前に追加してください。

マテリアルを作成する

このガイドでは、たくさんの風船が放たれたように見えるエフェクトを作成します。このエフェクトを向上すべく、メッシュをゴム風船に見えるようにするシンプルなマテリアルを作成します。

  1. コンテンツ ブラウザ内を右クリックして [Material (マテリアル)] を選択します。

    画像をクリックしてフルサイズ表示。

  2. 新しいマテリアルに「 M_Balloon 」と名前を付けます。これをダブルクリックしてマテリアル エディタで開きます。

    画像をクリックしてフルサイズ表示。

  3. [Palette (パレット)] パネルの検索バーに「 Particle 」と入力します。 [Particle Color (パーティクル カラー)] を選択してグラフに Particle Color ノードを追加します。

    画像をクリックしてフルサイズ表示。

  4. RGB 出力からドラッグして、 Material ノードの Base Color 入力に接続します。

  5. 1 キーを押しながらグラフ内をクリックします。これで Constant ノードが作成されます。これをコピーして 2 回貼り付けて、合計 3 つの Constant ノード を作成します。

    画像をクリックしてフルサイズ表示。

  6. Constant ノードの出力の 1 つを Material ノードの Metallic 入力に接続します。

  7. 選択した定数の [Value (値)] は、 [Details (詳細)] パネルの [Material Expression Constant (マテリアル式定数)] で設定できます。このマテリアルはメタリックではありません。 Metallic 定数の値は「 0 」のままにしておきます。

    画像を画像をクリックしてフルサイズ表示。

  8. 2 番目の Constant ノードの出力を Material ノードの Specular 入力に接続します。

    画像を画像をクリックしてフルサイズ表示。

  9. Specular 定数ノードを選択した状態で、 [Details] パネルでスペキュラの [Value (値)] を「 0.7 」に設定します。これによってマテリアルのサーフェスに多少の反射効果が加わります。

    画像を画像をクリックしてフルサイズ表示。

  10. 3 番目の Constant ノードの出力を Material ノードの Roughness 入力に接続します。

    画像を画像をクリックしてフルサイズ表示。

  11. Roughness 定数ノードを選択した状態で、 [Details] パネルでラフネスの [Value] を「 0.2 」に設定します。これによってサーフェスがほぼスムーズになります。

    画像をクリックしてフルサイズ表示。

マテリアルの最終結果は次の画像のようになります。

Material Final Result

システムとエミッタを作成する

Cascade とは異なり、Niagara のエミッタとシステムは独立して機能します。現時点では、既存のエミッタまたはエミッタ テンプレートからシステムを作成するワークフローが推奨されています。

  1. まず、コンテンツ ブラウザ内で右クリックし、 [FX] > [Niagara System] を選択して Niagara システムを作成します。Niagara Emitter ウィザードが起動します。

    画像を画像をクリックしてフルサイズ表示。

  2. [New system from selected emitters (選択したエミッタに基づく新規システム)] を選択します。 [Next] をクリックします。

    画像を画像をクリックしてフルサイズ表示。

  3. [Templates (テンプレート)] から [Fountain (噴水)] を選択します。

    画像を画像をクリックしてフルサイズ表示。

  4. プラス記号 ( + ) のアイコンをクリックして、システムに追加するエミッタのリストに目的のエミッタを追加します。次に [Finish] をクリックします。

    画像を画像をクリックしてフルサイズ表示。

  5. 新しいシステムに「 MeshSystem 」と名前を付けます。これをダブルクリックして Niagara エディタで開きます。

    画像を画像をクリックしてフルサイズ表示。

  6. 新しいシステム内のエミッタ インスタンスには、デフォルトで「Fountain」という名前が付けられていますが、名前は変更可能です。 [System Overview (システム概要)] でエミッタ インスタンスの名前をクリックすると、このフィールドが編集可能になります。エミッタの名前を「 FX_Mesh 」に変更します。

    画像を画像をクリックしてフルサイズ表示。

  7. MeshSystem をレベル内にドラッグします。

パーティクル エフェクトを作成する際は、システムをレベル内にドラッグすることをお勧めします。こうすることで、すべての変更をコンテキスト内で確認して編集することができます。システムに加える変更は、レベル内にあるシステムのインスタンスにも自動的に適用されます。

レンダラを変更する

Render グループはスタック内の最後にありますが、希望どおりにエフェクトを表示するためにいくつかの変更を行う必要があります。このケースでは、テンプレートにはスプライト レンダラが含まれます。このエフェクトはメッシュ レンダラが必要です。

  1. [System Overview] にある [Render] をクリックして、 [Selection (選択項目)] パネルで開きます。

    画像を画像をクリックしてフルサイズ表示。

  2. メッシュ パーティクル エフェクトを作成するには Mesh Renderer モジュールが必要ですが、テンプレートには Sprite Renderer モジュールが付いています。 ゴミ箱 のアイコンをクリックして Sprite Renderer を削除します。

    画像を画像をクリックしてフルサイズ表示。

  3. [Render] の プラス記号 ( + ) のアイコンをクリックして、 [Mesh Renderer] を選択します。

    画像を画像をクリックしてフルサイズ表示。

  4. [Particle Mesh (パーティクル メッシュ)] のドロップダウンをクリックして [Shape_Sphere] を選択します。

    画像を画像をクリックしてフルサイズ表示。

  5. このエフェクトで使用する球状にはデフォルト マテリアルが適用されています。Override Materials を有効にすることによって、作成したカスタム マテリアルを代わりに使うことができます。 [Override Materials (マテリアルをオーバーライド)] をクリックして有効にし、 プラス記号 ( + ) のアイコンをクリックして要素を配列に追加します。

    画像を画像をクリックしてフルサイズ表示。

  6. [Explicit Mat (明示的マテリアル)] のドロップダウンをクリックして [M_Balloon] を選択します。

    画像を画像をクリックしてフルサイズ表示。

Emitter Update グループの設定を編集する

まず Emitter Update グループでモジュールを編集します。挙動には、エミッタに適用されるものと各フレームを更新するものがあります。

  1. [System Overview] にある [Emitter Update] グループをクリックして、 [Selection] パネルで開きます。

    画像を画像をクリックしてフルサイズ表示。

  2. [Emitter State (エミッタの状態)] モジュールを展開します。前に Fountain テンプレートを使用したため、[Life Cycle Mode (ライフ サイクル モード)] が [Self (自身)] に設定されています。ドロップダウンをクリックして、 [Life Cycle Mode] [System (システム)] に設定します。こうすることでシステムによってライフサイクルの設定が計算されるようになり、通常はパフォーマンスが最適化されます。

    画像を画像をクリックしてフルサイズ表示。

  3. Spawn Rate モジュールでは、エミッタが有効な間、パーティクルのストリームを継続して作成します。このモジュールは Fountain テンプレートにすでに含まれています。 [Spawn Rate (スポーン率)] を「 100 」に設定します。

    画像を画像をクリックしてフルサイズ表示。

Particle Spawn グループの設定を編集する

次に、 Particle Spawn グループのモジュールを編集します。これらの挙動は、初回スポーン時にパーティクルに適用されます。

  1. [System Overview] [Particle Spawn] をクリックして [Selection] パネルで開きます。

    画像を画像をクリックしてフルサイズ表示。

  2. Initialize Particle モジュールを展開します。このモジュールでは、関連するいくつかのパラメータを 1 つのモジュールにまとめてスタック内を整理します。 Point Attributes Lifetime パラメータを確認します。このパラメータでは、パーティクルが消滅するまでの表示期間を指定します。このエフェクトでは Uniform Ranged Float (均一化された範囲内の浮動小数) と呼ばれる動的入力を使用して、パーティクルの表示期間をランダム化します。Fountain テンプレート内の Lifetime パラメータにはすでに Uniform Ranged Float が適用されています。 [Minimum (最小値)] および [Maximum (最大値)] を以下の値に設定します。

    画像を画像をクリックしてフルサイズ表示。

    設定

    Minimum

    2.0

    Maximum

    4.0

  3. Color パラメータを見つけます。 RGB のそれぞれの値を以下のように設定します。 [Create a Material (マテリアルを作成する)] セクションで作成したマテリアルには内部に色の設定項目がありません。メッシュ パーティクルを本物の風船のように見せるには、色を設定する必要があります。Particle Update グループにはさまざまな方法で色を変更できるモジュールが複数含まれていますが、このエフェクトについてはソリッド カラーがシンプルでうまく機能します。

    設定

    Red

    1.0

    Green

    0.0

    Blue

    0.0

  4. [Sprite Attributes (スプライト属性)] で、 [Sprite Size (スプライト サイズ)] および [Sprite Rotation (スプライトの回転)] チェックボックスをオフにします。メッシュを使用しているので、これらの属性はこのエフェクトには必要ありません。

    画像を画像をクリックしてフルサイズ表示。

  5. 元の球形メッシュはかなり大きいので、このエフェクト向けに大幅に小さくします。 [Mesh Attributes (メッシュ属性)] にある [Mesh Scale (メッシュ スケール)] チェックボックスをオンにします。 [X] [Y] [Z] の値をそれぞれ「 0.2 」に設定します。

    画像を画像をクリックしてフルサイズ表示。

  6. Add Velocity モジュールでは、パーティクルのスポーンと同時にスポーンに動きを与えます。 プラス記号 ( + ) のアイコンをクリックして [Velocity (ベロシティ)] > [Add Velocity (ベロシティを追加)] を選択し、Add Velocity モジュールを [Particle Spawn (パーティクルのスポーン)] セクションに追加します。

    画像を画像をクリックしてフルサイズ表示。

  7. このエフェクトは放たれる風船を表すことを目的としているため、パーティクルの速さにランダム性を取り入れる必要があります。 [Velocity] 値フィールドの横にある下向き矢印をクリックして、 [Dynamic Inputs (動的入力)] > [Uniform Ranged Vector (均一化された範囲内のベクター)] を選択します。これによりパーティクルが拡散されて、それぞれが X 軸、Y 軸、Z 軸方向に少しだけ動くようになります。

    画像を画像をクリックしてフルサイズ表示。

  8. [Velocity] の Minimum および Maximum を以下の値に設定します。これにより、エフェクトの X 軸および Y 軸方向には小さな動きが、Z 軸方向にはより大きな動きが加わります。

    画像をクリックしてフルサイズ表示。

    設定

    Minimum

    X :15, Y :25, Z :50

    Maximum

    X :30, Y :30, Z :100

  9. Sphere Location モジュールでは、スプライトがスポーンする場所の形状と原点を制御します。スプライトは球体形状でスポーンすることができ、半径を指定することでその球体形状のサイズも設定できます。 [Sphere Radius (球体の半径)] の値を「 200 」に設定します。これにより、本物の風船が放たれたときのように、パーティクルがより拡散されるようになります。

    画像をクリックしてフルサイズ表示。

Particle Update グループの設定を編集する

次に Particle Update グループのモジュールを編集します。これらの挙動はエミッタのパーティクルに適用され、それぞれのフレームを更新します。

  1. [System Overview] にある [Particle Update] をクリックして [Selection] パネルで開きます。

    画像をクリックしてフルサイズ表示。

  2. 通常は、オブジェクト対する重力の影響をシミュレートするには Gravity Force モジュールを使用します。また、これを使ってパーティクルにアクセラレーションを加えることもできます。[Gravity Force] の [X]、[Y]、[Z] の値をそれぞれ以下のように設定します。

    画像をクリックしてフルサイズ表示。

    設定

    X

    10

    Y

    10

    Z

    40

  3. Drag モジュールでは抗力をパーティクルに適用して、パーティクルの動きを遅くします。 [Drag] の値を「 1.0 」に設定します。

    画像をクリックしてフルサイズ表示。

  4. Scale Color モジュールは Fountain テンプレートの一部ですが、このエフェクトでは必ずしも必要ではありません。 ゴミ箱 のアイコンをクリックして Scale Color モジュールを削除します。

    画像をクリックしてフルサイズ表示。

最終結果

これで、Niagaraでメッシュ パーティクル エフェクトが完成しました。放された数多くの風船のシミュレートがこのエフェクトの用途ですが、使用しているメッシュとマテリアルは常にシンプルです。これらのシンプルなメッシュとマテリアルをより詳細なものに置き換えることで、現実味と外見を深めることができます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル