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. [System Overview][Emitter Properties] をクリックして [Selection (選択)] パネルで開きます。

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

  5. [Sim Target (ターゲットのシミュレーション)] の横にあるドロップダウンをクリックして、[GPUCompute Sim] オプションを選択します。

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

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

  6. [System Overview][Emitter Update] をクリックして [Selection (選択)] パネルで開きます。

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

  7. Spawn Rate モジュールを展開します。[Spawn Rate] の値を「10,000」に設定します。

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

  8. [System Overview][Particle Spawn] をクリックして [Selection (選択)] パネルで開きます。

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

  9. Initialize Particle モジュールを展開して、[Point Attributes (ポイント属性)][Lifetime (存続期間)] の [Minimum (最小値)] と [Maximum (最大値)] をそれぞれ「5.0」 に設定します。Minimum (最小値)][Maximum (最大値)] を「5.0」に設定します。

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

  10. [Mass] を確認し、Minimum (最小値)][Maximum (最大値)] を以下の値に設定します。

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

    プロパティ

    Minimum

    1.0

    Maximum

    2.0

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

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

  12. [Add Velocity (ベロシティの追加)] モジュールを展開します。[Velocity (ベロシティ)]Minimum (最小値)][Maximum (最大値)] を以下の値に設定します。

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

    プロパティ

    Minimum

    X:10.0, Y:10.0, Z:400

    Maximum

    X:50.0, Y:50.0, Z:800.0

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

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

  14. [System Overview][Particle Update] をクリックして [Selection (選択)] パネルで開きます。

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

  15. [Gravity Force (重力)] を展開します。[Gravity][X:0]、[Y:0]、[Z:500] に設定します。

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

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

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

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

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

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

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

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

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

    NiagaraSystem_GPUIcon.png

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

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

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

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

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

最終結果

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

タグ
Select Skin
Light
Dark

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

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

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

フィードバックを送信