前提条件:
このドキュメントでは、スターター コンテンツに含まれる M_smoke_subUV、M_Spark、M_Radial_Gradient マテリアルを使用します。スターター コンテンツをプロジェクトに追加していない場合は、先に進む前に追加してください。また、「Niagara でスプライト パーティクル エフェクトを作成する方法」で作成した FX_Smoke エミッタも使用します。
スターター コンテンツに含まれるスパーク エフェクトを作成するためには、スパーク ファウンテン、スパークの中央部、スパーク ファウンテンから立ち上がるスモークの流れのという 3 つの Niagara エミッタの作成が必要です。
最終的には以下のようなエフェクトが得られます。
既存のエミッタをコピーして作成できる Smoke エミッタから始めます。
Smoke エミッタと Sparks システムを作成する
Niagara のエミッタとシステムは独立して機能します。現時点では、既存のエミッタまたはエミッタ テンプレートからシステムを作成するワークフローが推奨されています。
プロジェクトの「Content」フォルダに、このチュートリアル用の新規フォルダを作成します。
「Niagara でスプライト パーティクル エフェクトを作成する方法」で作成した FX_Smoke エミッタをコピーします。
画像をクリックするとフルサイズで表示されます。
複製したエミッタを手順 1 で作成したフォルダにドラッグします。コンテキスト メニューが表示されたら [Move] を選択します。
コピーしたエミッタの名前を「FX_Sparks_Smoke」に変更します。
次に、スパーク エフェクト用のシステムを作成します。新しいスモーク エミッタを右クリックして [Create Niagara System (Niagara システムを作成する)] を選択します。
画像をクリックするとフルサイズで表示されます。
Niagara システムを作成する方法はいくつかあります。この例では、作成済みのエミッタを使って開始する方法を使用するため、そのエミッタを含むシステムがすぐに作成できます。ただし、「スプライト パーティクル エフェクトを作成する方法」の操作ガイドにもあるように、エミッタ ウィザードとシステム ウィザードには Niagara システムの作成および設定オプションがたくさんあります。
システムに「SparksSystem」と名前を付けます。
まだ開いていない場合は、レベル エディタでレベルを開きます。コンテンツ ドロワー から SparksSystem タイルをレベルにドラッグします。
パーティクル エフェクトを作成する際は、システムをレベル内にドラッグすることをお勧めします。これにより、すべての変更をコンテキスト内で確認して編集することができます。システムに加える変更は、レベル内にあるシステムのインスタンスにも自動的に適用されます。
画像をクリックするとフルサイズで表示されます。
Smoke エミッタ - Emitter Update 設定を編集する
[System Overview] にある Emitter Update グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを制御します。ドロップダウンをクリックして Life Cycle Mode を [System] に設定します。この設定により、ライフ サイクル設定が計算されて、通常はパフォーマンスが最適化されます。デフォルトで、システムは 5 秒間隔で無限にループします。
画像をクリックするとフルサイズで表示されます。
Spawn Rate モジュールを開きます。[Spawn Rate (スポーン率)] の設定を 20 に変更します。
画像をクリックするとフルサイズで表示されます。
Smoke エミッタ - Particle Spawn 設定を編集する
次に、Particle Spawn グループのモジュールを編集します。これらはパーティクルが初めてスポーンされるときに適用される動作です。
[System Overview] にある Particle Spawn グループをクリックして [Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Initialize Particle モジュールを開きます。[Point Attributes (ポイント属性)] で [Lifetime (ライフタイム)] を展開します。[Minimum (最小値)] と [Maximum (最大値)] を以下のように変更します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Lifetime モード
ランダム
最小値
2.0
最大値
3.0
Color パラメータを探します。[RGB] 値を以下のように変更します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Red
0.3
Green
0.3
Blue
0.3
[Sprite Attributes (スプライト属性)] で [Sprite Size (スプライト サイズ)] を展開します。[Sprite Size Mode (スプライト モード)] を [Non-Uniform] に設定します。[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Sprite Size Mode
Random Uniform
Minimum
20.0
Maximum
40.0
Add Velocity モジュールを開きます。[Minimum (最小値)] と [Maximum (最大値)] を以下のように変更します。
画像をクリックするとフルサイズで表示されます。
速度
最小値
最大値
X
0.0
1.0
Y
0.0
1.0
Z
25.0
35.0
Shape Location モジュールを開きます。[Sphere Radius] 値を 5 に設定します。
画像をクリックするとフルサイズで表示されます。
Smoke エミッタ - Particle Update 設定を編集する
次に、Particle Update グループのモジュールを編集します。これらの動作はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] にある Particle Update グループをクリックし、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Scale Color モジュールを開きます。[Scale RGB] の隣のボックスをクリックして選択を解除します。Scale Alpha のカーブの上の「Smooth Ramp Down」テンプレートをクリックして、カーブに形状を適用します。
画像をクリックするとフルサイズで表示されます。
Acceleration Force モジュールを開きます。Acceleration (加速度) の値を次のように設定します。0、Y:0、Z:20**。
画像をクリックするとフルサイズで表示されます。
この段階で、システムの最初のエミッタの設定が終了しました。以下のようになるはずです。
Spark Burst エミッタをシステムに追加する
エフェクトの中央にスパーク バーストを作成します。
SparkFountain システムの [System Overview] を右クリックします。[Add Emitter (エミッタを追加)] クリックすると既存エミッタの一覧が表示されます。エミッタの一覧から「Simple Sprite Burst」テンプレートを選択します。
画像をクリックするとフルサイズで表示されます。
テンプレート エミッタのデフォルト名は「SimpleSpriteBurst」ですが、自由に変更できます。エミッタ名をクリックすると入力欄が編集可能になります。新しいエミッタの名前を「FX_SparkBurst」にします。
画像をクリックするとフルサイズで表示されます。
Spark Burst エミッタ - レンダリング設定を編集する
Render グループはスタックの最後ですが、エフェクトが正しく表示されるようにマテリアルを変更する必要があります。
[System Overview] にある Render グループをクリックし、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
[Sprite Renderer] で Material のドロップダウンをクリックして M_Spark マテリアルをスターター コンテンツから選択します。
画像をクリックするとフルサイズで表示されます。
Spark Burst エミッタ - Emitter Update 設定を編集する
まず Emitter Update グループでモジュールを編集します。これらはエミッタに適用される動作で、それぞれのフレームを更新します。
[System Overview] にある Emitter Update グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
ごみ箱 アイコンをクリックして Sprite Burst Instantaneous モジュールを削除します。
画像をクリックするとフルサイズで表示されます。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを制御します。既に「Simple Sprite Burst」テンプレートを使用したので、Life Cycle Mode は [Self] に設定されています。通常、これは特定のエミッタに対してエミッタ ライフ サイクル ロジックを完全にカスタマイズするために使用しますが、このエフェクトには必要ありません。ドロップダウンをクリックして Life Cycle Mode を [System] に設定します。この設定により、ライフ サイクル設定が計算されて、通常はパフォーマンスが最適化されますデフォルトで、システムは 5 秒間隔で無限にループします。
画像をクリックするとフルサイズで表示されます。
[Emitter Update] の [プラス記号] (+) をクリックして [Spawning] > [Spawn Rate] を選択します。
画像をクリックするとフルサイズで表示されます。
Spawn Rate モジュールを開きます。[Spawn Rate (スポーン率)] を 50 に設定します。
画像をクリックするとフルサイズで表示されます。
Spark Burst エミッタ - Particle Spawn 設定の編集
次に、Particle Spawn グループのモジュールを編集します。これらはパーティクルが初めてスポーンされるときに適用される動作です。
[System Overview] にある Particle Spawn グループをクリックして [Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
[Point Attributes (ポイント属性)] にある [Lifetime (存続期間)] を .2 に設定します。
画像をクリックするとフルサイズで表示されます。
[Mass Mode (Mass モード)] を [Random (ランダム)] に設定し、[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Mass Mode
Random
Minimum
0.6
Maximum
1.0
[Sprite Attributes (スプライト属性)] で [Sprite Size (スプライト サイズ)] を展開します。[Sprite Size Mode (スプライト モード)] を [Random Non-Uniform] に設定します。[Sprite Size (スプライト サイズ)] の[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
Sprite Size
Minimum
Maximum
X
10.0
30.0
Y
10.0
25.0
[Sprite Rotation (スプライトの回転)] の横のチェックボックスをオンにして有効にします。[Sprite Size Mode (スプライト モード)] を [Direct Angle (Degrees) (ダイレクト角度 (度単位))] に設定します。[Value] フィールドの横のドロップダウンをクリックして、[Dynamic Inputs (動的入力)] > [Random Range Float (ランダムな範囲内の浮動小数)] を選択します。
画像をクリックするとフルサイズで表示されます。
[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Minimum
-10.0
Maximum
30.0
Particle Spawn の [プラス記号] (+) をクリックして[Velocity] > [Add Velocity] を選択します。
画像をクリックするとフルサイズで表示されます。
Add Velocity モジュールを開きます。値の横のドロップダウンをクリックして、[Dynamic Inputs (動的入力)] > [Random Range Vector (ランダムな範囲内のベクター)] を選択します。
画像をクリックするとフルサイズで表示されます。
[Velocity (速度)] の [Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
速度
最小値
最大値
X
0.0
5.0
Y
0.0
5.0
Z
0.0
5.0
[Particle Spawn] の [プラス記号] (+) をクリックして、[Location (位置)] > [Shape Location] を選択します。
画像をクリックするとフルサイズで表示されます。
Shape Location モジュールを開きます。[Sphere Radius (球体の半径)] の値を 5 に設定します。
画像をクリックするとフルサイズで表示されます。
Spark Burst エミッタ - Particle Update 設定を編集する
次に、Particle Update グループのモジュールを編集します。これらの動作はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] にある Particle Update グループをクリックし、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Scale Color モジュールを開きます。Scale RGB に対して [RGB] 値を以下のように設定します。Scale Alpha では「Smooth Ramp Down (スムーズな下降)」 テンプレートを選択します。
画像をクリックするとフルサイズで表示されます。
色
値
R
2.0
G
6.0
B
25.0
[Particle Update] の [プラス記号] アイコン (+) をクリックして [Size (サイズ)] > [Scale Sprite Size (スプライト サイズをスケーリング)] を選択します。以下のように、検索バーに「
scale
」と入力することもできます。画像をクリックするとフルサイズで表示されます。
Scale Sprite Size モジュールを開きます。[Scale Factor] の値フィールドの横のドロップダウンをクリックして、[Dynamic Inputs (動的入力)] > [Random Range Vector 2D (ランダムな範囲内の Vector 2D)] を選択します。検索バーに「
random
」と入力することもできます。画像をクリックするとフルサイズで表示されます。
[Scale Factor] の Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
Scale
最小値
最大値
X
1.0
3.5
Y
2.5
5.0
この段階で、システムの 2 つ目のエミッタの設定が終了しました。以下のようになるはずです。
Radial Sparks エミッタをシステムに追加する
SparkFountain システムの [System Overview] を右クリックします。[Add Emitter (エミッタを追加)] クリックすると既存エミッタの一覧が表示されます。エミッタの一覧から「Simple Sprite Burst」テンプレートを選択します。
画像をクリックするとフルサイズで表示されます。
テンプレート エミッタのデフォルト名は「SimpleSpriteBurst」ですが、自由に変更できます。エミッタ名をクリックすると入力欄が編集可能になります。。新しいエミッタの名前を「FX_Sparks_Radial」にします。
画像をクリックするとフルサイズで表示されます。
Radial Sparks エミッタ - Render 設定を編集する
Render グループはスタックの最後ですが、エフェクトが正しく表示されるようにマテリアルを変更する必要があります。
System Overview で [Renderer] グループをクリックして [Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Material のドロップダウンをクリックして M_Radial_Gradient マテリアルをスターター コンテンツから選択します。検索するには以下のように、検索バーに「
radial
」と入力します。画像をクリックするとフルサイズで表示されます。
[Alignment] のドロップダウンをクリックして [Velocity Aligned] を選択します。
画像をクリックするとフルサイズで表示されます。
Radial Sparks エミッタ - Emitter Update 設定を編集する
まず、Emitter Update グループのモジュールを編集します。これらはエミッタに適用される動作で、それぞれのフレームを更新します。
[System Overview] にある Emitter Update グループをクリックして、[Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
ごみ箱 アイコンをクリックして Sprite Burst Instantaneous モジュールを削除します。
画像をクリックするとフルサイズで表示されます。
Emitter State モジュールを開きます。モジュールはこのエミッタの時間とスケーラビリティを制御します。前に「Simple Sprite Burst」テンプレートを使用したため、Life Cycle Mode は [Self] に設定されています。通常、これは特定のエミッタに対してエミッタ ライフ サイクル ロジックを完全にカスタマイズするために使用しますが、このエフェクトには必要ありません。ドロップダウンをクリックして Life Cycle Mode を [System] に設定します。この設定により、ライフ サイクル設定が計算されて、通常はパフォーマンスが最適化されますデフォルトで、システムは 5 秒間隔で無限にループします。
画像をクリックするとフルサイズで表示されます。
[Emitter Update] の [プラス記号] アイコン (+) をクリックして [Spawning] > [Spawn Rate] を選択します。
画像をクリックするとフルサイズで表示されます。
Spawn Rate モジュールを開きます。[Spawn Rate] を 500 に設定します。
画像をクリックするとフルサイズで表示されます。
Radial Sparks エミッタ - Particle Spawn 設定を編集する
次に、Particle Spawn グループのモジュールを編集します。これらはパーティクルが初めてスポーンされるときに適用される動作です。
[System Overview] にある Particle Spawn グループをクリックして [Selection (選択)] パネルで開きます。
画像をクリックするとフルサイズで表示されます。
Initialize Particle モジュールを開きます。[Point Attributes (ポイント属性)] で [Lifetime (ライフタイム)] を展開します。[Lifetime Mode (Lifetime モード)] を [Random (ランダム)] に設定し、[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Lifetime Mode
Random
Minimum
0.2
Maximum
0.7
[Color] を展開します。[Color Mode (Color モード)] を [Direct Set (直接設定)] に設定し、 は [RGB] 値を以下のように変更します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Red
2.0
Green
8.0
Blue
20.0
Alpha
1.0
[Mass] を展開します。[Mass Mode (Mass モード)] を [Random (ランダム)] に設定し、[Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
パラメータ
値
Mass Mode
Random
Minimum
0.3
Maximum
0.6
[Sprite Attributes (スプライト属性)] で、[Sprite Size Mode (スプライト モード)] を [Non-Uniform] に設定します。以下の値を設定します。X:0.25, Y:0.5。
画像をクリックするとフルサイズで表示されます。
[Sprite Rotation Mode (スプライトの回転モード)]、および [Sprite UV Mode (スプライトの UV モード)] を [Unset (未設定)] のままにします。
[Particle Spawn] の [プラス記号] アイコン (+) をクリックして [Mass] > [Calculate Size and Rotational Inertia by Mass (質量によるサイズと回転慣性の計算)] を選択します。以下のように、検索バーに「
calc
」と入力することもできます。画像をクリックするとフルサイズで表示されます。
Calculate Size and Rotational Inertia by Mass モジュールを開きます。[Density (密度)] で [Density by Material Type (マテリアル タイプ別密度)] を Water (水) に設定します。
画像をクリックするとフルサイズで表示されます。
[Proportions (比率)] で、[Height (高さ)] を 0.5 に、[Depth (深さ)] を 0.0 に変更します。
画像をクリックするとフルサイズで表示されます。
プラス 記号アイコン (+) をクリックして [Velocity] > [Add Velocity from Point] を選択します。検索バーに「
velocity
」と入力することもできます。画像をクリックするとフルサイズで表示されます。
Add Velocity モジュールを開きます。ドロップダウンをクリックして、[Dynamic Inputs (動的入力)] > [Random Range Vector (ランダムな範囲内のベクター)] を選択します。
画像をクリックするとフルサイズで表示されます。
[Velocity (速度)] の [Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
速度
最小値
最大値
X
-100.0
90.0
Y
-100.0
90.0
Z
300.0
500.0
[Particle Spawn] の [プラス記号] (+) をクリックして、[Location (位置)] > [Shape Location] を選択します。検索バーに「
sphere
」と入力することもできます。画像をクリックするとフルサイズで表示されます。
Shape Location モジュールを開きます。[Sphere Radius (球体の半径)] の値を 2.0 に設定します。
画像をクリックするとフルサイズで表示されます。
Radial Sparks エミッタ - Particle Update 設定を編集する
次に、Particle Update グループのモジュールを編集します。これらの挙動はエミッタのパーティクルに適用され、それぞれのフレームを更新します。
[System Overview] にある Particle Update グループをクリックすると、[Selection] パネルで開かれます。
画像をクリックするとフルサイズで表示されます。
[Particle Update] の プラス記号 のアイコン (+) をクリックして [Velocity (ベロシティ)] > [Shape Location] を選択します。
画像をクリックするとフルサイズで表示されます。
[Scale Velocity] を次のように設定します。X:3.0, Y:4.0, Z:1.0。
画像をクリックするとフルサイズで表示されます。
[Particle Update] の [プラス記号] アイコン (+) をクリックして [Forces] > [Gravity Force (重力)] を選択します。
画像をクリックするとフルサイズで表示されます。
Gravity Force モジュールを開きます。Z 値を -4500 に変更します。
画像をクリックするとフルサイズで表示されます。
[Particle Update] の [プラス記号] アイコン (+) をクリックして [Forces] > [Drag] を選択します。
画像をクリックするとフルサイズで表示されます。
Drag モジュールを開きます。[Drag] 値を 1.7 に設定します。
画像をクリックするとフルサイズで表示されます。
[Particle Update] の [プラス記号] (+) をクリックして [Collision (コリジョン)] > [Collision] を選択します。このモジュールは床のようなものに当たったスパークが確実に衝突し、跳ね返るようにします。
画像をクリックするとフルサイズで表示されます。
Collision モジュールを開きます。[Bounce (弾力)] で [Restitution (反発)] 値を 0.4 に設定します。
画像をクリックするとフルサイズで表示されます。
[Friction (摩擦)] で [Friction] 値を 0.2 に設定します。
画像をクリックするとフルサイズで表示されます。
ごみ箱 のアイコンをクリックして Scale Color モジュールを削除します。
画像をクリックするとフルサイズで表示されます。
[Particle Update] の [プラス記号] (+) をクリックして [Size (サイズ)] > [Scale Sprite Size by Speed (スピードでスプライト サイズをスケーリング)] を選択します。
画像をクリックするとフルサイズで表示されます。
Sprite Size Scale by Speed モジュールを開きます。[Scale Factor] の [Minimum (最小値)] と [Maximum (最大値)] を以下のように設定します。
画像をクリックするとフルサイズで表示されます。
Sprite Size Scale by Speed
最小値
最大値
X
0
0.5
Y
3
6
[Velocity Threshold (速度しきい値)] 値を 2000 に設定します。
画像をクリックするとフルサイズで表示されます。
最終結果
おつかれさまでした!これでスパーク エフェクトが完成しました。レベルに戻って最終結果を確認し、必要に応じて微調整を行ってください。