Choose your operating system:
Windows
macOS
Linux
前提条件:
このページでは スターター コンテンツ に含まれる M_smoke_subUV、M_Spark、M_Radial_Gradient マテリアルを使用します。スターター コンテンツをプロジェクトに追加していない場合は、先に進む前に追加してください。また、「Niagara でスプライト パーティクル エフェクトを作成する」で作成した「FX_Smoke」エミッタも使用します。
スターター コンテンツにはいくつかのパーティクル エフェクトが入っています。これらのパーティクル エフェクトはすべて Cascade で作成されています。この操作ガイドでは Cascade で作成されたスパーク (火花) のエフェクトを Niagara で再生成する方法を学びます。この例を学ぶことで、Cascade から Niagara への移植がしやすくなります。
スターター コンテンツに含まれるスパーク ファウンテンを再生成するには、スパーク ファウンテン、スパークの中央部、スパーク ファウンテンから立ち上がるスモークの流れという 3 つの Niagara エミッタを作成する必要があります。既存のエミッタをコピーして作成できる Smoke エミッタから着手します。
Smoke エミッタと Sparks システムを作成する
Cascade とは異なり、Niagara のエミッタとシステムは独立しています。現時点では、既存のエミッタまたはエミッタ テンプレートからシステムを作成するワークフローを推奨します。
プロジェクトの「Content」フォルダに、この操作ガイドで使用するためのフォルダを新規作成します。
「Niagaraでスプライト パーティクル エフェクトを作成する」で作成した FX_Smoke エミッタをコピーします。
画像をクリックしてフルサイズ表示。
複製したエミッタを手順 1 で作成したフォルダにドラッグします。コンテキスト メニューが表示されたら [Move] を選択します。
コピーしたエミッタの名前を「FX_SparksSmoke」に変更します。
次に、スパーク エフェクト用のシステムを作成します。新しいスチームエミッタを右クリックして [Create Niagara System (Niagara システムを作成する)] を選択します。
画像をクリックしてフルサイズ表示。
Niagara システムを作成する方法は何通りかあります。この例では、作成済みのエミッタを使って開始する方法を使用するので、エミッタを含むシステムがすぐに作成できます。ただし、スプライト パーティクル エフェクト作成の操作ガイドにもあるように、エミッタ ウィザードとシステム ウィザードには Niagara システムの作成および設定オプションがたくさんあります。
システムに「SparkFountain」と名前を付けます。
まだの場合、レベル エディタでレベルを開きます。SparkFountain システムをレベルにドラッグします。
パーティクル エフェクトを作成する場合、常にシステムをレベルにドラッグすると良いです。こうすることで、すべての変更をコンテキスト内で確認して編集することができます。システムに行った変更はすべて、レベル内のシステムのインスタンスへ自動的に伝播します。
Smoke エミッタ - Emitter Update 設定を編集する
[System Overview (システム概要)] にある [Emitter Update (エミッタ更新)] グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックしてフルサイズ表示。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを調整します。ドロップダウンをクリックして [Life Cycle Mode (ライフサイクル モード)] を [System (システム)] に設定します。この設定により、ライフサイクル設定が計算されて、通常はパフォーマンスが最適化されます。デフォルトでシステムは 5 秒間隔で無限にループします。
画像をクリックしてフルサイズ表示。
Spawn Rate モジュールを開きます。[Spawn Rate] 設定を 20 に設定します。
画像をクリックしてフルサイズ表示。
スモーク エミッタ -パーティクル スポーン設定を編集する
次に、Particle Spawn グループのモジュールを編集します。これらの挙動は、初回スポーン時にパーティクルに適用されます。
[System Overview] で [Particle Spawn] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
Initialize Particle モジュールを開きます。[Point Attributes] で [Lifetime] を展開します。[Minimum (最小値)] と [Maximum (最大値)] を以下のように変更します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
2.0
Maximum
3.0
Color パラメータを探します。[RGB] 値を以下のように変更します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Red
.3
Green
.3
Blue
.3
[Sprite Attributes (スプライト属性)] で [Sprite Size (スプライト サイズ)] を展開します。[Sprite Size Mode (スプライト モード)] を [Non-Uniform] に設定します。[Minimum (最小値)] と [Maximum (最大値)] を以下のように変更します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
20
Maximum
40
Add Velocity モジュールを開きます。[Minimum (最小値)] と [Maximum (最大値)] を以下のように変更します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X:0, Y:0, Z:25
Maximum
X:1, Y:1, Z:35
Sphere Location モジュールを開きます。[Sphere Radius] 値を 5 に設定します。
画像をクリックしてフルサイズ表示。
Smoke エミッタ - Particle Update 設定を編集する
次に Particle Update グループのモジュールを編集します。これらの挙動はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] の [Particle Update] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
Acceleration Force モジュールを開きます。[Acceleration] 値を X:0, Y:0, Z:20 に設定します。
画像をクリックしてフルサイズ表示。
Scale Color モジュールを開きます。[Scale RGB] の隣のボックスをクリックして選択を解除します。Scale Alpha カーブのキーを以下のように設定します。
画像をクリックしてフルサイズ表示。
キー番号
時間
値
1
0.0
1.0
2
0.7
0.0
Spark Burst エミッタをシステムに追加する
エフェクトの中央にスパーク バーストを作成します。
SparkFountain システムの [System Overview] を右クリックします。[Add Emitter (エミッタを追加)] クリックすると既存エミッタの一覧が表示されます。
画像をクリックしてフルサイズ表示。
使用可能なエミッタの一覧で、[View Options (表示オプション)] をクリックしてオプションの一覧を開きます。[Show Engine Content (エンジン コンテンツを表示)] と[Show Plugin Content (プラグイン コンテンツを表示)] のボックスにチェックを入れます。Niagaraで含まれるすべてのエミッタ コンテンツが使用可能なエミッタ一覧で表示されます。
画像をクリックしてフルサイズ表示。
エミッタの一覧から Simple Sprite Burst テンプレートを選択します。
画像をクリックしてフルサイズ表示。
テンプレート エミッタのデフォルト名は「SimpleSpriteBurst」ですが、自由に変更できます。エミッタ名をクリックすると入力欄が編集可能になります。新しいエミッタの名前を「FX_SparkBurst」にします。
画像をクリックしてフルサイズ表示。
Spark Burst エミッタ - レンダリング設定を編集する
Render グループはスタックの最後ですが、エフェクトが正しく表示されるようにマテリアルを変更する必要があります。
System Overview で [Renderer] グループをクリックして [Selection (選択)] ペインで開きます。
画像をクリックしてフルサイズ表示。
[Sprite Renderer] で Material のドロップダウンをクリックして M_Spark マテリアルを選択します。
画像をクリックしてフルサイズ表示。
Spark Burst エミッタ - Emitter Update 設定を編集する
まず Emitter Update グループでモジュールを編集します。挙動には、エミッタに適用されるものと各フレームを更新するものがあります。
[System Overview (システム概要)] にある [Emitter Update (エミッタ更新)] グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックしてフルサイズ表示。
[Trashcan] アイコンをクリックして Sprite Burst Instantaneous モジュールを削除します。
画像をクリックしてフルサイズ表示。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを制御します。既に「Simple Sprite Burst」テンプレートを使用したので、Life Cycle Mode は [Self] に設定されています。通常、これは特定のエミッタに対してエミッタ ライフ サイクル ロジックを完全にカスタマイズするために使用しますが、このエフェクトに対しては必要ありません。ドロップダウンをクリックして [Life Cycle Mode (ライフサイクル モード)] を [System (システム)] に設定します。この設定により、ライフサイクル設定が計算されて、通常はパフォーマンスが最適化されます。デフォルトでシステムは 5 秒間隔で無限にループします。
画像をクリックしてフルサイズ表示。
Particle Update の プラス記号 アイコン (+) をクリックして [Spawning] > [Spawn Rate] を選択します。以下のように、検索バーに「
spawn
」と入力することもできます。画像をクリックしてフルサイズ表示。
Spawn Rate モジュールを開きます。[Spawn Rate] を 8 に設定して [Spawn Group] を 1 に設定します。
画像をクリックしてフルサイズ表示。
Spark Burst エミッタ - Particle Spawn 設定の編集
次に、Particle Spawn グループのモジュールを編集します。これらの挙動は、初回スポーン時にパーティクルに適用されます。
[System Overview] で [Particle Spawn] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
[Point Attributes] で [Lifetime] を .2 に設定します。
画像をクリックしてフルサイズ表示。
[Mass] 値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs] > [Uniform Ranged Float] を選択します。以下のように、検索バーに「
uniform
」と入力することもできます。画像をクリックしてフルサイズ表示。
[Mass (質量)] の [Minimum] と [Maximum] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
.6
Maximum
1.0
[Sprite Attributes (スプライト属性)] で [Sprite Size (スプライト サイズ)] を展開します。X 値と Y 値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs] > [Uniform Ranged Vector 2D] を選択します。検索バーに「
uniform
」と入力することもできます。画像をクリックしてフルサイズ表示。
[Sprite Size] の [Minimum] と [Maximum] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X:20, Y:20
Maximum
X:45, Y:35
[Sprite Rotation (スプライトの回転)] の横のチェックボックスをオンにして有効にします。[Value] 値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs] > [Uniform Ranged Float] を選択します。以下のように、検索バーに「
uniform
」と入力することもできます。画像をクリックしてフルサイズ表示。
Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
-10
Maximum
30
プラス 記号アイコン (+) をクリックして [Velocity] > [Add Velocity from Point] を選択します。以下のように、検索バーに「
velocity
」と入力することもできます。画像をクリックしてフルサイズ表示。
Add Velocity モジュールを開きます。[Value] 値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs] > [Uniform Ranged Vector] を選択します。
画像をクリックしてフルサイズ表示。
[Velocity (速度)] の [Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X:0, Y:0, Z:0
Maximum
X:5, Y:5, Z:5
Particle Spawn の プラス記号 (+) をクリックして、[Location (位置)] > [Sphere Location (球体の場所)] を選択します。以下のように、検索バーに「
sphere
」と入力することもできます。画像をクリックしてフルサイズ表示。
Sphere Location モジュールを開きます。[Sphere Radius (球体の半径)] の値を 5 に設定します。
画像をクリックしてフルサイズ表示。
Spark Burst エミッタ - Particle Update 設定を編集する
次に Particle Update グループのモジュールを編集します。これらの挙動はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] の [Particle Update] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
Scale Color モジュールを開きます。Scale RGB に対して [RGB] 値を以下のように設定します。
画像をクリックしてフルサイズ表示。
Scale Alpha に対して Alphe Stop を以下のように設定します。
Particle Update の プラス記号 アイコン (+) をクリックして [Size] > [Sprite Size Scale]** を選択します。以下のように、検索バーに「`size`」と入力することもできます。
画像をクリックしてフルサイズ表示。
Scale Sprite Size モジュールを開きます。Scale Factor 値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs] > [Uniform Ranged Vector] を選択します。以下のように、検索バーに「
uniform
」と入力することもできます。画像をクリックしてフルサイズ表示。
[Scale Factor] の Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X:1.0, Y:2.5
Maximum
X:3.5, Y:5.0
Radial Sparks エミッタをシステムに追加する
SparkFountain システムの [System Overview] を右クリックします。[Add Emitter (エミッタを追加)] クリックすると既存エミッタの一覧が表示されます。
画像をクリックしてフルサイズ表示。
エミッタの一覧から Simple Sprite Burst テンプレートを選択します。
画像をクリックしてフルサイズ表示。
テンプレート エミッタのデフォルト名は「SimpleSpriteBurst」ですが、自由に変更できます。エミッタ名をクリックすると入力欄が編集可能になります。新しいエミッタの名前を「FX_SparksRadial」にします。
画像をクリックしてフルサイズ表示。
Radial Sparks エミッタ - Render 設定を編集する
Render グループはスタックの最後ですが、エフェクトが正しく表示されるようにマテリアルを変更する必要があります。
System Overview で [Renderer] グループをクリックして [Selection (選択)] パネルで開きます。
画像をクリックしてフルサイズ表示。
Material のドロップダウンをクリックして M_Radial_Gradient マテリアルを選択します。このマテリアルはスターター コンテンツの一部です。
画像をクリックしてフルサイズ表示。
[Alignment] のドロップダウンをクリックして [Velocity Aligned] を選択します。
画像をクリックしてフルサイズ表示。
Radial Sparks エミッタ - Emitter Update 設定を編集する
まず Emitter Update グループでモジュールを編集します。挙動には、エミッタに適用されるものと各フレームを更新するものがあります。
[System Overview (システム概要)] にある [Emitter Update (エミッタ更新)] グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックしてフルサイズ表示。
[Trashcan] アイコンをクリックして Sprite Burst Instantaneous モジュールを削除します。
画像をクリックしてフルサイズ表示。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを制御します。前に「Simple Sprite Burst」テンプレートを使用したため、Life Cycle Mode は [Self] に設定されています。通常、これは特定のエミッタに対するエミッタ ライフ サイクル ロジックの完全なカスタマイズに使用しますが、このエフェクトに対しては必要ありません。ドロップダウンをクリックして [Life Cycle Mode (ライフサイクル モード)] を [System (システム)] に設定します。この設定により、ライフサイクル設定が計算されて、通常はパフォーマンスが最適化されます。デフォルトでシステムは 5 秒間隔で無限にループします。
画像をクリックしてフルサイズ表示。
Emitter Update の プラス記号 アイコン (+) をクリックして [Spawning] > [Spawn Rate]** を選択します。以下のように、検索バーに「`spawn`」と入力することもできます。
画像をクリックしてフルサイズ表示。
Spawn Rate モジュールを開きます。[Spawn Rate] を 500 に設定します。
画像をクリックしてフルサイズ表示。
Radial Sparks エミッタ - Edit Particle 設定を編集する
次に、Particle Spawn グループのモジュールを編集します。これらの挙動は、初回スポーン時にパーティクルに適用されます。
[System Overview] で [Particle Spawn] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
Initialize Particle モジュールを開きます。[Point Attributes] で [Lifetime] を展開します。[Lifetime] の Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
.2
Maximum
.7
[Mass] を展開します。Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
.3
Maximum
.6
[Color] を展開します。[RGB] 値を以下のように設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Red
2
Green
8
Blue
20
[Sprite Attributes] で [Sprite Size] のボックスにチェックを入れてを有効にして展開します。以下の値を設定します。X: .25, Y: .5.
画像をクリックしてフルサイズ表示。
[Sprite Rotation] のボックスをクリックして無効化します。
[Particle Spawn] の [プラス記号] (+) をクリックして、[Mass] > [Calculate Size and Rotational Inertia by Mass] を選択します。以下のように、検索バーに「
calculate
」と入力することもできます。画像をクリックしてフルサイズ表示。
Calculate Size and Rotational Inertia by Mass モジュールを開きます。[Density (密度)] で [Density by Material Type] を Water に設定します。
画像をクリックしてフルサイズ表示。
[Proportions] で [Height] を .5 に変更します。
画像をクリックしてフルサイズ表示。
プラス 記号アイコン (+) をクリックして [Velocity] > [Add Velocity from Point] を選択します。以下のように、検索バーに「velocity」と入力することもできます。
画像をクリックしてフルサイズ表示。
Add Velocity モジュールを開きます。[Velocity (速度)] の [Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X: -100, Y: -100, Z:300
Maximum
X:90, Y:90, Z:500
[Scaled Added Velocity] を X:3, Y:4, Z:1 に設定します。
画像をクリックしてフルサイズ表示。
Particle Spawn の プラス記号 (+) アイコンをクリックして、[Location (位置)] > [Sphere Location (球体の場所)] を選択します。以下のように、検索バーに「sphere」と入力することもできます。
画像をクリックしてフルサイズ表示。
Sphere Location モジュールを開きます。[Sphere Radius] を 2.0 に設定します。
画像をクリックしてフルサイズ表示。
Radial Sparks エミッタ - Particle Update 設定を編集する
次に Particle Update グループのモジュールを編集します。これらの挙動はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] の [Particle Update] をクリックして [Selection] パネルで開きます。
画像をクリックしてフルサイズ表示。
[Particle Spawn] の プラス 記号アイコン (+) をクリックして [Forces] > [Gravity Force] を選択します。
画像をクリックしてフルサイズ表示。
Niagara では新しいモジュールをグループのスタックの下部に追加するため、「モジュールの依存関係が解決していません」というエラーが発生します。これは、Gravity Force モジュールが Solve Forces and Velocity モジュールの後に置かれたためです。[Fix Issue (問題を解決)] ボタンをクリックしてモジュールを移動してエラーを解決します。
画像をクリックしてフルサイズ表示。
Gravity Force モジュールを開きます。Z 値を -4500 に変更します。
画像をクリックしてフルサイズ表示。
[Particle Spawn] の プラス 記号アイコン (+) をクリックして [Forces] > [Drag] を選択します。
画像をクリックしてフルサイズ表示。
Drag モジュールを開きます。[Drag] 値を 1.7 に設定します。
画像をクリックしてフルサイズ表示。
プラス記号 のアイコン (+) をクリックして [Collision] > [Collision] を選択します。以下のように、検索バーに「
collision
」と入力することもできます。画像をクリックしてフルサイズ表示。
「モジュールに満たされていない依存があります」というエラーが出る場合があります。[Fix Issue (問題を解決)] ボタンをクリックして Collision モジュールを Solve Forces and Velocity の上に移動することでエラーが解消されます。
Collision モジュールを開きます。[Bounce] で [Restitution] 値を .4 に設定します。
画像をクリックしてフルサイズ表示。
[Friction] で Friction 値を .2 に設定します。
画像をクリックしてフルサイズ表示。
[Trashcan (ごみ箱)] アイコンをクリックして Scale Color モジュールを削除します。
画像をクリックしてフルサイズ表示。
プラス記号 アイコン (+) をクリックして [Size] > [Sprite Size Scale] を選択します。以下のように、検索バーに「
size
」と入力することもできます。画像をクリックしてフルサイズ表示。
Sprite Size Scale by Speed モジュールを開きます。[Scale Factor] の [Minimum (最小値)] と [Maximum (最大値)] を以下の値に設定します。
画像をクリックしてフルサイズ表示。
パラメータ
値
Minimum
X:0, Y:3
Maximum
X: .5, Y:6
[Velocity Threshold] 値を 3000 に設定します。
画像をクリックしてフルサイズ表示。
最終結果
これで終了です。これらの手順を行うと、レベル内の SparkFountain システムは以下の動画のものに似たスパーク ファウンテンを生成するようになります。左側は Niagara で作成したスパーク ファウンテン、右側は Cascade で作成したスパーク ファウンテンです。