概要
Niagara データ チャンネル (NDC) は、ゲーム コードと Niagara システム間の通信、または異なる Niagara システム間の通信を容易に実行できるようにします。
データ チャンネルは、ゲーム コードや Niagara システムが読み取りまたは書き込みを行うことができる定義されたペイロードを含むデータのストリームです。さまざまな目的のために、プロジェクトには専用のデータ チャンネル タイプを複数含むことができます。
従来のワークフローでは、Niagara システムを作成して、ワールドに配置 (またはスポーン) します。衝撃効果の場合、ゲームプレイ中にプレイヤーが同じ Niagara システムを複数回スポーンすることがあります。各システムは個別にスポーンおよび実行されます。プレイヤーが多数のシステムを急速にスポーンすると、負荷が高くなる可能性があります。
Niagara データ チャンネルでは、Niagara システムを大規模な共有シミュレーションに組み込むことでバースト Niagara システムを最適化できる代替手法を使用できます。つまり、複数の個別の Niagara システムをスポーンするのではなく、データ チャンネルに割り当てられたすべてのバースト パーティクルを処理する単一のシステムをスポーンします。これによりパフォーマンスが大幅に向上します。
主要なクラスとコンセプト
Niagara でデータ チャンネルを使用するには、次の主要コンポーネントが必要です。
- データ チャンネル アセット。チャンネルに書き込まれる変数 (ペイロード) とともに、チャンネルを使用する Niagara システムのリストを保持します。
- Niagara システム。連続的なリスナー システムに設定されています。これらの Niagara システムの 1 つは島ごとにスポーンされ、データ チャンネルのイベントをリッスンします。システムは、この情報を使用してパーティクルをスポーンすることが可能です。
- データ チャンネルに書き込み、特定の情報 (ペイロード) を渡す ブループリント。
Niagara データ チャンネル アセット

このアセットはデータ チャンネル タイプやチャンネル変数など、共通のデータ チャンネル設定を保持します。島タイプを使用している場合は、島の初期の範囲と最大範囲および島のプール サイズを指定できます。変数は、Float または Vector 4、コリジョン チャンネルといった列挙子、物理サーフェス、Niagara の実行状態など一般的な型にすることができます。特定の Chaos Destruction と Niagara コリジョン イベントを表す変数を追加することもできます。
各データ チャンネルには、イベントがデータ チャンネルに送信されるときに島の境界内でスポーンできる Niagara システムのリストが含まれています。
Niagara システム
Niagara システムはデータ チャンネルのイベントをリッスンし、その情報を使用してパーティクルをスポーンします。システムは無限ループ動作で設定する必要があるため、島でスポーンするとデータ チャンネルから受信されるイベントが存在する限り、有効のまま維持できます。

未使用のモジュールの場合は、完了のモジュールも持つ必要があります。これにより、一定の時間が経過した後にイベントを受信しなかった時点でシステムが破棄されます。また、Niagara システムが残っていない時点でデータ チャンネルが島をクリーンにすることができます。

エミッタは 2 つのスクラッチパッド モジュールを備えている必要があります。1 つはデータ チャンネルからデータを読み取るため、もう 1 つはデータ チャンネルから読み取るデータのパーティクルをスポーンするためのスクラッチパッド モジュールです。


ブループリント
ブループリントは Niagara データ チャンネルに直接書き込み、関連する変数を設定します。

Niagara データ チャンネルを使用する方法をステップごとに説明するガイドについては、EDC の「Niagara データ チャンネル入門」を参照してください。