NetworkTRSP
NetworkTRSP
NetworkTRSP
は、全てのTransform
やRigidbody
を同期するコンポーネントに必要となる、関心領域周りの処理を実装している抽象基底コンポーネントです。これは、Fusionの関心領域システムと互換性を持ちます。
使用方法
NetworkTRSP
は、Fusionの全てのTransform
やRigidbody
の同期コンポーネント(NetworkTransform
やNetworkRigidbody
など)の基底クラスです。独自の同期コンポーネントの基底クラスにも使用可能で、関心領域の処理や今後のカスタム共有サーバープラグインとの互換性を持たせることができます。
TRSPの定義
TRSPは、Translate(位置)/Rotation(回転)/Scale(スケール)/Parent(親)の頭文字です。これらは、Transform
の主要なプロパティになります。
IsMainTRSP
このプロパティは、NetworkTRSP
がNetworkObject
と同じゲームオブジェクトにある場合にtrue
を返し、このNetworkTRSP
がNetworkObject
自身の位置の表していることを示します。このデータは、NetworkObject
の関心領域の決定に使用されます。
子ゲームオブジェクト(手や頭など)のNetworkTRSP
派生コンポーネントは、NetworkObject
のワールド座標を表していないため、値はfalse
を返します。
SetAreaOfInterestOverride()
SetAreaOfInterestOverride()
によって、NetworkTRSP
派生コンポーネント(NetworkTransform
やNetworkRigidbody3D
)は、自身の位置データのかわりに、別のNetworkObject
の位置を、関心領域の決定に使用できます。
実質的に、あるNetworkObject
を、他のNetworkObject
の関心領域のプロキシとして割り当てることができます。例えば、プレイヤーがネットワークオブジェクトを拾って手で持つ場合、持たれているオブジェクトのAreaOfInterestOverride
をプレイヤーにしたくなるでしょう。なぜなら、持たれているオブジェクトはプレイヤーの子オブジェクトとなり、関心領域の処理が無効になるからです。そうならないように、プレイヤーとプレイヤーが持つオブジェクトの関心領域は同じにしたくなります。