ナイアガラの主要概念

Unreal とナイアガラのパーティクル エディタでパーティクルを扱う際の重要な概念について説明します。

Windows
MacOS
Linux

ナイアガラ エディタを使用すると、Unreal Engine を使用したプロジェクトで必要になるさまざまなビジュアル エフェクトを作成できます。すべてのタイプのビジュアル エフェクトに対して、ナイアガラにはいかなるプロジェクト要件にも対応可能な性能と柔軟性が備わっています。このドキュメントでは、ナイアガラと Cascade の相違点についての概要、さらにナイアガラ エディタの機能の仕組みについて説明します。

パーティクル エフェクトに対するモジュラー アプローチ

Cascade の主要な概念は、可能な場合にはいつでもエフェクト モジュラーを作成できるようにすることでした。Cascade では、新しいエフェクトの作成時に一連のデフォルト モジュールを提供し、ビジュアル エフェクト担当のアーティストが求めるものに応じて、追加のモジュールまたはまったく新しいエミッタを追加するツールを提供することでこれを可能にしました。このシステムは何年もの間広く使われていましたが、エフェクト間のデータ共有や多数のエフェクトの一括更新など、特定のタスクに非常に時間がかかり、エラーが発生しやすくなるという問題がありました。

Cascade パーティクル システム は一連のエミッタで構成されています。

ナイアガラでは完全に包括的なモジュール方式によりこれらの問題に対処します。ナイアガラでは、パーティクル システムを構成する個別のエミッタがそれぞれ分離されます。ナイアガラ システム は、パーティクル システムに各エミッタを含めるのではなく、多数の ナイアガラ エミッタ により構成されています。これらのナイアガラ エミッタには、 [Lifetime (存続期間)][Location (場所)][Size (サイズ)] などの使い慣れたモジュールを使用して制御可能な単一のエフェクトがそれぞれ含まれています。パーティクルの外観および動作は、これらのモジュールを使用して調整することができます。ただし、これらのナイアガラ エミッタは独立したアクタとしてコンテンツ ブラウザ内に保存されているため、更新したり、作成するナイアガラ システムと共有したりすることができます。つまり、これらのエミッタにはより短時間で変更を加えることができることを意味しています。

NiagaraSystemWithEmitters.jpg

ナイアガラ システム は一連の ナイアガラ エミッタ で構成されています。

ナイアガラ エミッタ

ナイアガラ エミッタには、プロジェクトで求められる特殊エフェクトを作成するためのさまざまな設定が含まれています。このドキュメントの「ナイアガラ エミッタ ウィザード」セクションでは、ウィザード自体と、エミッタを作成する際のさまざまなオプションについて説明します。「ナイアガラ エミッタ モジュール」セクションでは、[Selected Emitters (選択したエミッタ)] パネルに含まれるデフォルトのセクションを紹介し、それぞれのセクションを使用する状況とその機能について説明します。

ナイアガラ エミッタ ウィザード

ナイアガラ エミッタを新しく作成すると、エミッタの作成に関連するオプションを含むダイアログが表示されます。

  • 一連のテンプレートから新しいエミッタを作成できます。これらのテンプレートは頻繁に使用されるタイプのエミッタを示すものです。大規模な開発スタジオでは、すべてのベスト プラクティスを確実に含めるために、これらのテンプレートはアート関連の責任者によって管理されることが多くあります。また、Unreal Engine の初心者であれば、これらのテンプレートを出発点として使用するのも良い方法です。

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

  • 一連の既存のエミッタから新しいエミッタを作成できます。単一または複数のシステムで使用するために、同じようなエミッタを複数作成する必要がある場合などに便利です。

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

  • 完全に空の新しいエミッタを作成できます。

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

  • 既存のエミッタのプロパティを継承するエミッタを作成できます。このオプションを使用すると、既存のエミッタを継承する子エミッタが作成されます。親エミッタを変更すると、子エミッタにもその変更が自動的に反映されます。

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

ナイアガラ エミッタ モジュール

ナイアガラ エミッタを作成または開くと、いくつかのモジュールがデフォルトで [Selected Emitters (選択したエミッタ)] タブに表示されます。このタブには下記のオプションが含まれており、展開してその設定を変更することができます。それぞれのモジュールは、継続期間内におけるエミッタのスポーンおよび動作に影響を及ぼします。

NiagaraEmitter.png

Emitter Spawn (エミッタのスポーン)

[Emitter Spawn (エミッタのスポーン)] セクションは、エミッタを開始した際に実行されます。後のスクリプトで使用可能な 1 回限りの設定を実行する点で、ブループリントのコンストラクション スクリプトに似ています。個別のパーティクルを参照することはできませんが、エミッタ変数の設定、エミッタ モジュールの実行、パーティクル スクリプトで使用される変数の設定を行うことは可能です。

Emitter Update (エミッタの更新)

[Emitter Update (エミッタの更新)] セクションは、エミッタがアクティブなすべてのフレームで実行されます。ユーザーは、スポーンするパーティクルの数を定義したり、パーティクル更新スクリプトで使用する定数値を算出したり、エミッタに対するフレームごとの他の「ティック」ロジックを行ったりすることができます。このセクションにある [Emitter Lifecycle (エミッタの継続期間)] モジュールは、各エミッタに対してすべての継続期間ロジックが実行されることを確実にするうえで非常に重要です。これにより、システムを正しく終了することができます。

Particle Spawn (パーティクルのスポーン)

[Particle Spawn (パーティクルのスポーン)] セクションは、パーティクルが作成されるたびに一度だけ実行されます。ユーザーはこのセクションを使用して、パーティクルの初期状態を設定できます。エミッタが補間スポーンを使用するように設定されていない場合は、このセクションの出力値により、レンダリングされる最初のフレームにおけるパーティクルの状態が定義されます。補間スポーンを使用する場合、パーティクルは前のフレームからの時間の範囲内で均等に分散されます。それ以外の場合は、作成された以降のフレームの分割量に対して瞬間バーストが発生し、各パーティクルに対して更新スクリプトが実行されます。これにより、ユーザーはスムーズなトレイルを実現できるほか、レンダリングされる最初のフレームにおけるパーティクルの状態をパーティクル更新スクリプトで定義できるようになります。各パーティクルを区別するためにランダム性を必要とする場合は、スポーン スクリプト内でランダム変数を選択し、後続の各更新「ティック」でその値を使用するよう保存します。

Particle Update (パーティクルの更新)

[Particle Update (パーティクルの更新)] セクションでは、継続期間内における個別のパーティクルの動作を制御できます。ユーザーは、このセクションで物理シミュレーション属性やレンダリング属性などに対して変更を加えることができます。データを他のエミッタにブロードキャストする場合は、イベントを発行するモジュールをこのセクション内で発生させることができます。各パーティクルに時間の経過が適用され、存続期間の満了とともにパーティクルが無効になることを確実にするうえで、このセクションに含まれる [Update Age (存在時間の更新)] モジュールは重要です。

Add Event Handler (イベントハンドラの追加)

[Add Event Handler (イベント ハンドラの追加)] セクションでは、コリジョンや他のエミッタからの受信イベントに対するエミッタの対応を設定します。

Render (レンダリング)

[Render (レンダリング)] セクションには、次のモジュールの 1 つまたは複数が含まれます。

  • Niagara Light Renderer Properties (ナイアガラ ライト レンダラ プロパティ):このモジュールには、ライトのレンダリングと並べ替え順序に関する設定が含まれます。

  • Niagara Mesh Renderer Properties (ナイアガラ メッシュ レンダラ プロパティ):このモジュールには、メッシュ レンダリング、並べ替え、バインディング、並べ替え順序に関する設定が含まれます。

  • Niagara Ribbon Renderer Properties (ナイアガラ リボン レンダラ プロパティ):このモジュールには、リボンのレンダリングと並べ替え順序に関する設定が含まれます。

  • Niagara Sprite Renderer Properties (ナイアガラ スプライト レンダラ プロパティ):このモジュールには、スプライト レンダリング、並べ替え、サブ UV、バインディング、並べ替え順序に関する設定が含まれます。

プラス記号 (+) のアイコンをクリックすることで、上記の各セクションに変数、パラメータ、またはモジュールを追加できます。また、 ゴミ箱 のアイコンをクリックすることで、変数、設定、またはモジュールを削除することもできます。

ナイアガラ システム

プロジェクトで使用するナイアガラ エミッタは ナイアガラ システム 内に配置する必要があります。ナイアガラ システムは、エフェクト作成のために作られた個別のナイアガラ エミッタを表示します。また、これによってさまざまなナイアガラ エミッタを混ぜ合わせたり、一致させたりすることができ、さらに既存のエミッタのみを使用してまったく新しいエフェクトを作成することもできます。

ナイアガラ システムの作成にはナイアガラ システム ウィザードを使用します。ウィザードにはさまざまなオプションが用意されており、プロジェクトに最適なナイアガラ システムを容易に作成することができます。

  • 一連のテンプレートからシステムを作成できます。これらのテンプレートは頻繁に使用されるタイプのシステムを示すものです。大規模な開発スタジオでは、すべてのベスト プラクティスを確実に含めるために、これらのテンプレートはアート関連の責任者によって管理されることが多くあります。また、Unreal Engine の初心者であれば、これらのテンプレートを出発点として使用するのも良い方法です。 NiagaraSystem_TemplateOptions.png

  • 作成済みのエミッタから新しいシステムを作成できます。必要なエミッタがすでに作成されている場合はこのオプションを使用します。 NiagaraSystem_CreateFromEmitter.png

  • プロジェクト内にすでに存在するシステムをコピーできます。 NiagaraSystem_CopyFromExisting.png

  • 空のシステムを作成できます。 NiagaraSystem_BlankSystem.png

ナイアガラ エミッタナイアガラ システム に追加するには、目的のナイアガラ エミッタをコンテンツ ブラウザから [Timeline (タイムライン)][Track (トラック)] セクションにドラッグします。

エミッタをシステムに追加したら、エミッタのプロパティを変更できるようになります。[Timeline] 内で目的のエミッタを選択すると、 [Selected Emitter] パネルにそのエミッタのモジュールとプロパティが表示されます。ここでエミッタのプロパティを調整することができます。

Select Skin
Light
Dark

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

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

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

フィードバックを送信