Emitter Update グループ

このドキュメントには、ナイアガラ エミッタの Emitter Update モジュールのリファレンス情報が記載されています。

Windows
MacOS
Linux

Emitter Update モジュールは、エミッタが CPU 上でティックするたびに実行されます。このグループのモジュールで、このフレームの Particle Spawn (パーティクルのスポーン) パラメータまたは Update (更新) パラメータの値を計算する必要があります。モジュールはそれぞれスタックの上から下の順に実行されます。

このドキュメントには、Emitter Update グループ内の各モジュール タイプを説明するセクションがそれぞれあり、利用可能なデフォルト オプションを説明する表が記載されています。ナイアガラ エミッタのどの部分でもカスタム モジュールを作成できます。ここでは、Unreal Engine 4 に自動的に含まれるモジュールについてのみ取り上げます。

Beam モジュール

モジュール

説明

Beam Emitter Setup

ビーム エミッタの開始ポイント、終了ポイント、タンジェントの設定と管理を行います。

Chaos モジュール

モジュール

説明

Spawn from Chaos

Chaos イベントに対応してパーティクルをスポーンします。

Emitter State

パラメータ

説明

Life Cycle Mode

ライフサイクル (ループ、存続期間、消滅) をエミッタで管理するか、エミッタを所有するシステムで管理するかを指定します。オプションは次のとおりです。

  • System:所有するシステムによってすべてのライフ サイクル関数が計算されます。ほとんどの場合、ライフ サイクルをシステムに計算させることで最適化の度合いを高めることができます。このオプションを選択すると、その他のフィールドが非表示になります。

  • Self:エミッタ自身によってライフ サイクル関数が計算されます。このオプションを選択すると、それに含まれるその他の設定が利用可能になります。

Inactive Response

エミッタが非アクティブの状態になったときの動作を指定します。「非アクティブ」とは、エミッタが休止してパーティクルをスポーンまたは管理できなくなった状態を指します。オプションは次のとおりです。

  • Complete:パーティクルが完了すると、エミッタがキルされます。

  • Kill:エミッタとパーティクルの両方がすぐにキルされます。

  • Continue:エミッタは非アクティブになりますが、システムによって破棄されるまで存続します。

Loop Behavior

エミッタの挙動を決定します。以下から選択することができます。

  • Once: エミッタはアニメーションを 1 度プレイします。

  • Multiple: エミッタはアニメーションを固定回数プレイします。

  • Infinite: エミッタはアニメーションを無限にプレイします。

Loop Duration

ループの長さを決定します。

Loop Duration Mode

ループが有限か無限かを決定します。

Loop Delay

任意の数字によって次のループを遅らせる設定です。

Scalability

Scalability Mode

エミッタがシステムからスケーラビリティ設定を受け取るかどうか、あるいは独自のスケーラビリティ設定を持たせるかどうかを決定します。以下から選択できます。

  • System:所有するシステムによってすべてのライフ サイクル関数が計算されます。ほとんどの場合、ライフ サイクルをシステムに計算させることで最適化の度合いを高めることができます。このオプションを選択すると、その他のフィールドが非表示になります。

  • Self:エミッタ自身によってライフ サイクル関数が計算されます。このオプションを選択すると、それに含まれるその他の設定が利用可能になります。

Enable Distance Culling

ボックスにチェックを入れて有効にします。カメラからのエミッタの距離に基づいてエミッタのカリングを有効にします。エミッタはカメラから一定の距離になると、スリープ、復活、消去などになります。

Enable Visibility Culling

ボックスにチェックを入れて有効にします。カメラから見えるかどうかに基づいてエミッタのカリングを有効にします。オンスクリーンかオフスクリーンかに応じてエミッタはスリープ、復活、消去などになります。

Reset Age on Awaken

ボックスにチェックを入れて有効にします。スケーラビリティ設定によりスリープ状態になった後でこのエミッタが復活する時、この設定はエミッタの年齢をリセットします。つまり、スポーン バーストが再発生し、エミッタのライフサイクルは再スタートします。

Location モジュール

モジュール

説明

Spawn Particles in Grid

ユーザー定義のグリッド解像度設定に基づいてパーティクルをスポーンします。

MAX Scripts モジュール

モジュール

説明

Spawn MS Vertex Animation Tools Morph Target

頂点アニメーション ツールで作成されたモーフ ターゲット テクスチャをスポーンしてサンプリングします。頂点アニメーション ツールでは、モーフ ターゲットのブレンド形状を表すテクスチャを生成します。このモジュールは、ツールがキャプチャしたすべての頂点に対して 1 つのパーティクルをスポーンします。これは、Update MS Vertex Animation Tools Morph Target モジュールとの併用を想定しています。

Spawning モジュール

モジュール

説明

Spawn Burst Instantaneous

パーティクルのバーストを自発的にスポーンするモジュールです。

Spawn Per Frame

各フレームごとにパーティクルのバーストをスポーンするモジュールです。

Spawn Per Unit

Unreal 単位での移動距離に基づいてパーティクルをスポーンするモジュールです。

Spawn Rate

特定の割合でパーティクルをスポーンし続けるモジュールです。

Utility モジュール

モジュール

説明

Emitter Frame Counter

このモジュールの Increment Counter を有効にすると、エミッタのアニメーションの各フレームで増加するカウンターが設定されます。

New Scratch Pad Module (新しいスクラッチ パッド モジュール)

[Add] (プラス記号) メニューでアイテムを選択すると [Scratch Pad] パネルが開き (デフォルトで System Overview の横にドックします)、[Selection] パネルに [Scratch Pad module] が配置されます。[Scratch Pad] パネルは [Windows (ウィンドウ)] > [Scratch Pad] から開くこともできます。ただし、スタック内に Scratch Pad モジュールを配置することで、[Scratch Pad] で作成するモジュールまたは動的入力はすべて自動的にスクリプトに接続されます。[Windows] メニューから [Scratch Pad] パネルを開いた場合は、[Scratch Pad] パネルで作成した項目をすべて手作業でスクリプトに追加する必要があります。

Set New or Existing Value Directly (新規または既存の値を直接設定)

[Add] メニュー内のこの項目を選択すると、[Selection] パネルに Set Parameter モジュールが追加されます。Add Parameter (パラメータを追加) または Create New Parameter (新規パラメータを作成) を選択するには、プラス記号 (+) のアイコンをクリックします。

Add Parameter (パラメータを追加)

Add Parameter を選択したら、リストされているパラメータから選択します。これにより、そのパラメータが Emitter Update グループ内の Set Parameter モジュールに追加されます。

パラメータの中には、他のモジュールで設定や修正ができるものがあります。また、Set Parameter モジュールを使用してのみ設定可能なパラメータもあります。

パラメータ

説明

Emitter.Age

このエミッタの存続期間を定義します。

Emitter.CurrentLoopDelay

エミッタの現在のループが繰り返されるまでの、現在の遅延の量を定義します。

Emitter.CurrentLoopDuration

現在のエミッタのループの長さを定義します。

Emitter.ExecutionState

エミッタの状態に影響を及ぼすパラメータです。有効値は以下のとおりです。

  • Active

  • Inactive

  • InactiveClear

  • Complete

Emitter.ExecutionStateSource

実行状態設定のソースを示します。これは、その状態がより高い優先度が設定されている要素で定義されていない場合にのみ、スケーラビリティで状態を変更できるようにするために使用されます。

Emitter.LocalSpace

このパラメータでは、パーティクルの位置の基準を、ワールド基点または所有するナイアガラ コンポーネントの場所のいずれにするかを定義します。

  • False:パーティクルの位置は WorldSpace 内になり、ワールド基点を基準とします。位置が 0,0,0 のパーティクルは、ワールド基点でレンダリングされます。

  • True:パーティクルの位置は LocalSpace 内になり、所有するナイアガラ コンポーネントの位置を基準とします。位置が 0,0,0 のパーティクルは、所有するナイアガラ コンポーネントの位置でレンダリングされます。

Emitter.LoopCount

エミッタのループが繰り返される回数を定義します。

Emitter.LoopedAge

現在のループに相対するエミッタの存続期間を計算します。例えば、8 秒間有効なエミッタが 5 秒ごとにループする場合、エミッタの LoopedAge は 3 秒 になります。LoopedAge は、エミッタがループするたびに 0 に戻ります。

Emitter.NormalizedLoopAge

現在のループに相対するエミッタの存続時間を計算し、01 の間で正規化されるパラメータです。NormalizedLoopAge は、LoopedAgeCurrentLoopDuration で除算して表されます。例えば、8 秒間有効なエミッタが 5 秒ごとにループする場合、エミッタの LoopedAge は 3 で、エミッタの NormalizedLoopAge は 0.6 になります。

System.ExecutionState

システムの状態に影響を及ぼすパラメータです。有効な値は ActiveInactiveInactiveClearCompleteDisabled または Num のいずれかです。

System.ExecutionStateSource

システム実行状態設定のソースを示します。これは、その状態がより高い優先度が設定されている要素で定義されていない場合にのみ、スケーラビリティで状態を変更できるようにするために使用されます。

Create New Parameter (新規パラメータを作成)

Create New Parameter を選択するときは、リストされたパラメータから選択します。これにより、Emitter Update グループに Set Variable モジュールが追加されます。

パラメータ

タイプ

説明

Audio Oscilloscope

データ インターフェース

新しい Audio Oscilloscope データ インターフェース モジュールをエミッタに追加します。Audio Oscilloscope モジュールでは、オーディオ信号の波形に直接アクセスすることができます。

Audio Spectrum

データ インターフェース

新しい Audio Spectrum データ インターフェース モジュールをエミッタに追加します。Audio Spectrum モジュールでは、特定の周波数でのオーディオ音量に応じてビジュアリゼーションを作成できます。

Bool

プリミティブ

true/false チェックボックスを含む Set Variable モジュールを追加します。

Camera Query

データ インターフェース

新しい Camera Query データ インターフェース モジュールをエミッタに追加します。このデータ インターフェースは、特定のコントローラー インデックスのカメラ情報 (カメラ位置、回転、FOV など) の取得に使用できます。

Collision Query

データ インターフェース

エミッタ スタックにコリジョン データ インターフェースを追加します。これは、通常、コリジョン モジュールと併用します。

Curl Noise

データ インターフェース

カール ノイズ データ インターフェースをエミッタ スタックに追加します。これを Curl Noise Force モジュールと併用すると、このデータ インターフェースでは異なるタイプのノイズをシミュレーションに挿入します。

Curve for Colors

データ インターフェース

シミュレーション用に 4 チャンネルのカラー カーブ データ インターフェースを追加します。このカーブを動的入力またはその他のモジュールによってサンプリングすることで、時間によって変化するカラーを作成できます。

Curve for Floats

データ インターフェース

シミュレーション用に単一チャンネルのカーブ データ インターフェースを追加します。このカーブを動的入力またはその他のモジュールによってサンプリングすることで、時間によって変化する浮動小数 (Float) 値を作成できます。

Curve for Vector 2Ds

データ インターフェース

シミュレーション用に 2 チャンネルのカーブ データ インターフェースを追加します。このカーブを動的入力またはその他のモジュールによってサンプリングすることで、時間によって変化する浮動小数 (Float) 値のペアを作成できます。

Curve for Vector 3s

データ インターフェース

シミュレーション用に 3 チャンネルのカーブ データ インターフェースを追加します。このカーブを動的入力またはその他のモジュールによってサンプリングすることで、時間によって変化する一連の浮動小数 (Float) 値を作成できます。

Curve for Vector 4s

データ インターフェース

シミュレーション用に 4 チャンネルのカーブ データ インターフェースを追加します。このカーブを動的入力またはその他のモジュールによってサンプリングすることで、時間によって変化する一連の浮動小数 (Float) 値を作成できます。

ENiagaraBooleanLogicOps

列挙型

次のブール論理を使ってテストを行う各種モジュールおよび動的入力で使用される列挙型です。

  • Greater Than

  • Greater Than Or Equal To

  • Equal To

  • Not Equal To

ENiagaraCoordinateSpace

列挙型

複数の座標空間を区別するために各種モジュールおよび動的入力で使用される列挙型です。

  • Simulation:エミッタが [Local (ローカル)] に設定されている場合は、[Local] を使用します。それ以外の場合は、[World (ワールド)] を使用します。

  • World:ゲームのワールド空間内です。

  • Local:所有するコンポーネントの座標空間内です。

ENiagaraExecutionState

列挙型

この列挙型は、Emitter.ExecutionStateSystem.ExecutionState など、システムまたはエミッタの実行状態を管理するパラメータによって使用されます。

ENiagaraExecutionStateSource

列挙型

実行状態設定のソースを示します。これは、その状態がより高い優先度が設定されている要素で定義されていない場合にのみ、スケーラビリティで状態を変更できるようにするために使用されます。

ENiagara ExpansionMode

列挙型

拡張の原点を以下のいずれかに決定するために Location モジュールで使用される列挙型です。

  • Inside

  • Centered

  • Outside

ENiagaraOrientationAxis

列挙型

どの軸で計算するかを決定するために、いくつかのモジュールで使用される列挙型です。

  • X Axis

  • Y Axis

  • Z Axis

ENiagaraRandomnessMode

列挙型

このエミッタで使用される乱数生成のタイプを設定します。有効な選択肢は以下のとおりです。

  • Simulation Defaults

  • Deterministic

  • Non-Deterministic

Float

プリミティブ

浮動小数値の変数を作成します。

Grid2D Collection

データ インターフェース

シミュレーションの段階で使用するパラメータです。これにより、ユーザーはデータの 2D 配列を読み取ったり書き込んだりでき、シミュレーションの段階でグリッド内でピクセルごとにイテレーションできるようになります。

Int32

プリミティブ

整数の変数を作成します。

Linear Color

プリミティブ

カラー ピッカーとして表される RGBA 色の変数を作成します。

Matrix

プリミティブ

4x4 の行列変数を作成します。

Mesh Tri Coordinate

構造体

トライアングル表面の重心座標を伴うトライアングルのインデックスを含む単純な構造体です。

Neighbor Grid 3D

データ インターフェース

シミュレーションの段階で使用するパラメータです。これにより、ユーザーはデータの 3D 配列を読み取ったり書き込んだりでき、シミュレーションの段階でボリューム内でピクセルごとにイテレーションできるようになります。

Niagara ID

構造体

パーティクルの追跡に使用される 2 要素からなる構造体です。このパーティクルの間接テーブルのインデックスです。パーティクル データに迅速にアクセスできるようになります。Niagara ID は、現在存続しているパーティクル間において常に一意であり、パーティクルの消滅後には再利用されます。AcquireTag はこの ID が取得されたときの一意のタグです。これを使用すると、特定のパーティクルが消滅し、別のパーティクルがその消滅したパーティクルのインデックスを再利用する際に、それらのパーティクルを区別できます。

Occlusion Query

データ インターフェース

新しい Occlusion Query データ インターフェース モジュールをエミッタに追加します。このデータ インターフェースは深度バッファ オクルージョン情報の読み取りに使用します。

GPU エミッタでのみ使用可能です。

Particle Attribute Reader

データ インターフェース

新しい Particle Attribute Reader データ インターフェースをエミッタに追加します。このデータ インターフェースは、他のエミッタからのパーティクル ペイロード値に対するクエリに使用でき、状況によっては Events よりも使いやすい場合があります。

Quat

プリミティブ

回転を表すクォータニオン変数を作成します。

Simple Counter

データ インターフェース

新しい Simple Counter データ インターフェース モジュールをエミッタに追加します。このデータ インターフェースにより、スレッドセーフなカウンターを増大させることができます。

CPU エミッタでのみ使用可能です。

Skeletal Mesh

データ インターフェース

これは関数を含むデータ インターフェースで、スケルタル メッシュのボーンまたはソケットとスキン ジオメトリとのやり取りに使用します。

Spawn Info

構造体

パーティクルの作成回数を表す Count、スポーンを開始する現在のフレームの開始時間からのオフセットである InterpStartDt、スポーンされるパーティクル間の間隔を定義する IntervalDt、スポーンしたパーティクルを異なるカテゴリに属させる SpawnGroup を指定するためにスポーンで使用される構造体です。

Spline

データ インターフェース

Spline アセットとやりとりするデータ インターフェースです。

Static Mesh

データ インターフェース

これは関数を含むデータ インターフェースで、スタティック メッシュのサーフェスとのやり取りに使用します。

Texture Sample

データ インターフェース

これは関数を含むデータ インターフェースで、GPU 上のテクスチャとのやり取りに使用します。

Vector

プリミティブ

3 チャンネルの一連の浮動小数値を作成します。

Vector 2D

プリミティブ

2 チャンネルの一連の浮動小数値を作成します。

Vector 4

プリミティブ

4 チャンネルの浮動小数点のセットを作成します。

Vector Field

データ インターフェース

これは関数を含むデータ インターフェースで、ベクター フィールドのクエリに使用します。

Volume Texture Sample

データ インターフェース

新しい Volume Texture データ インターフェース モジュールをエミッタに追加します。これはボリューム テクスチャのサンプリングに使用できます。

Select Skin
Light
Dark

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

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

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

フィードバックを送信