nDisplay アクタのレプリケーション

nDisplay クラスターでのアクタのレプリケーションのコントロール方法。

Windows
MacOS
Linux

nDisplay システムへのすべての入力は、マスター ノードによってのみ処理されます。レプリケーションがない場合、シーンの変化はマスター ノードででしか見られなくなります。したがって、マスター ノードが、 nDisplay ネットワークの他のすべての部分に対し変更をレプリケートできる必要があります。

これを実現するために、 nDisplay にはアクタにアタッチできる2種類のコンポーネントがあります。

  • DisplayClusterSceneComponentSyncParent コンポーネントは、親コンポーネントの 3D トランスフォームの変更を追跡し、それをネットワーク内の他のクラスター ノードに送信します。 nDisplay システムで使用されるデフォルトの DisplayClusterPawn は、このコンポーネントを使用します。

  • DisplayClusterSceneComponentSyncThis コンポーネントは、子コンポーネントの 3D トランスフォームの変更を追跡し、それをネットワーク内の他のクラスター ノードに送信します。

たとえば、以下に示すアクタでは、 DisplayClusterSceneComponentSyncParent_DefaultSceneRoot コンポーネントが、アクタがレベルを移動するときに親アクタの 3D トランスフォームへの変更を追跡してレプリケートします。また、 DisplayClusterSceneComponentSyncThis コンポーネントは、その子のキューブコンポーネントがシーン グラフのルートを基準にして動くなか、その動きを追跡し、同期します。

DisplayClusterSceneComponentSyncParent

シーンに、ゲームプレイ中影響を受ける可能性があるアクタが他にもある場合は、これら2つのコンポーネントのいずれかを使い、変更をすべてのノードにレプリケートする必要があります。そのためには、以下の方法を実行します。

  1. レベル ビュー ポートまたは [World Outliner] パネルで、レプリケートする必要があるアクタを選択します。

  2. [Details] パネルで、 [+ [Add] Component] をクリックします。DisplayClusterSceneComponentSyncParent もしくは DisplayClusterSceneComponentSyncThis のどちらかを検索し、リストから選択します。 nDisplay の同期コンポーネントを追加する

これらのコンポーネントによって完全なレプリケーションは実行されません。親アクタまたは子コンポーネントのトランスフォームだけがクラスターに送信されます。

カスタム データをレプリケートする

マスター ノードと残りのクラスタ間に他のカスタム データをレプリケートする必要がある場合、IDisplayClusterClusterSyncObject インターフェースを実装する独自の C++ クラスをかき出すことができます。nDisplay はこのクラスの各インスタンスがマスター ノードからその他のクラスタ ノードに同期する必要があるかチェックするために、このインターフェースの中に自動的にメソッドを呼び出します。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる