GPU パーティクル エフェクトを作成する

このドキュメントでは、GPU を使用して数百万にもおよぶパーティクルをスポーンする方法を説明します。

Windows
MacOS
Linux
前提トピック

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

このページ中

エフェクトによっては、数万にもおよぶパーティクルのスポーンが必要になるものがあります。このような多数のパーティクルを標準的な CPU で生成する場合、ゲームに遅延が生じることがあります。以下では、CPU ではなく GPU を使用してパーティクルをスポーンする方法を紹介します。

ステップ

  1. まず、コンテンツ ブラウザ 内を右クリックして [FX] > [Niagara Emitter] を選択し、ナイアガラ エミッタを作成します。 [Niagara Emitter] ウィザードが開きます。

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

  2. [Create a new emitter from an emitter template (エミッタ テンプレートから新しいエミッタを作成)] ラジオ ボタンをクリックします。Fountain テンプレートを選択して、[OK] をクリックし、コンテンツ ブラウザ内に新しいナイアガラ エミッタを作成します。

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

  3. 作成したナイアガラ エミッタに 「FX_GPU」 と名前を付け、ダブルクリックして開きます。

    CreateGPU_Steps_Step2-CreateEmitter.png

  4. [Emitter Spawn (エミッタのスポーン)] セクションを展開します。[Emitter Properties (エミッタのプロパティ)] を見つけて展開します。[Sim Target (ターゲットのシミュレーション)] の横にあるドロップダウンをクリックします。表示されたリストから [GPUCompute Sim (GPU 計算のシミュレーション)] オプションを選択します。

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

    これにより、パーティクルのシミュレーションが CPU から GPU に変更されます。こうすることで、パフォーマンスを維持しながらエンジンでより多くのパーティクルをスポーンできるようになります。

  5. [Emitter Update (エミッタの更新)] セクションを展開します。[Spawn Rate (スポーン率)] モジュールを見つけます。[SpawnRate] の値を 「5000」 に設定します。

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

  6. [Particle Spawn (パーティクルのスポーン)] セクションを展開します。[Initialize Particle (パーティクルの初期化)] モジュールを展開して、[Point Attributes (ポイント属性)] にある [Lifetime (存続期間)] の [Minimum (最小値)][Maximum (最大値)] をそれぞれ「5.0」 に設定します。

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

  7. [Mass (質量)] の [Minimum][Maximum] を以下の値に設定します。

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

    プロパティ

    Minimum

    1.0

    Maximum

    2.0

  8. [Sprite Attributes (スプライト属性)] セクションの [Sprite Size (スプライト サイズ)][X] を「5.0」に、[Y] を「5.0」 にします。[Sprite Rotation (スプライトの回転)] チェックボックスがオフになっていることを確認してください。

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

  9. [Add Velocity (速度の追加)] モジュールを展開します。[Velocity (速度)] の [Minimum (最小値)][Maximum (最大値)] を以下の値に設定します。

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

    プロパティ

    Minimum

    X:10.0, Y:10.0, Z:400

    Maximum

    X:50.0, Y:50.0, Z:800.0

  10. [Sphere Location (球体の場所)] モジュールを展開します。[Sphere Radius (球体の半径)] の値を 「100」 に設定します。

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

  11. [Particle Update (パーティクルの更新)] セクションの [Gravity Force (重力)] を展開します。[Gravity][X:0]、[Y:0]、[Z:500] に設定します。

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

    [Z] に負の値を設定すると、メッシュ パーティクルはやや上昇した後に落下します。[Z] に正の値を設定すると、メッシュ パーティクルは落下せずに上昇します。

  12. [Compile (コンパイル)]、[Apply (適用)][Save (保存)] の各ボタンをクリックして、作業内容をコンパイルして保存します。保存したら FX_GPU エミッタを閉じます。

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

  13. コンテンツ ブラウザ 内で右クリックして、コンテキスト メニューの [FX] > [Niagara System] を選択します。ナイアガラ システム ウィザードが開きます。

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

  14. [Create an empty system with no emitters (エミッタを含まない空のシステムを作成)] の横にあるラジオ ボタンをクリックします。[OK] をクリックして、コンテンツ ブラウザ内に新しいナイアガラ システムを作成します。

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

  15. 作成したナイアガラ システムに 「GPU」 と名前を付けます。 

    NiagaraSystem_GPUIcon.png

  16. GPU Niagara System をダブルクリックして開き、コンテンツ ブラウザから FX_GPU ナイアガラ エミッタをシステムの [Timeline (タイムライン)] にドラッグします。

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

    上記の手順 13 ~ 16 を行う代わりに、コンテンツ ブラウザ内でエミッタを右クリックして [Create Niagara System (ナイアガラ システムの作成)] を選択することもできます。選択したエミッタに応じてシステムが作成され、これに名前を付けて開くことができます。

  17. [Compile] および [Save] ボタンをクリックして作業内容をコンパイル、保存したら、GPU Niagara System を閉じます。コンテンツ ブラウザ 内で、GPU Niagara System をレベル ビューポートにドラッグします。この手順を完了すると、次の画像のような画面が表示されます。

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

最終結果

上記のすべての手順を完了すると、リソースの使用量はより少ないながらも、より大きく複雑なパーティクル エフェクトが完成します。次のビデオにはその例が示されています。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信