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
を返します。
状態権限者変更時のスムーズな補正
この機能は、状態権限者が変更された時に、NetworkTRSP
の位置と回転の誤差をスムーズに補正し、不定期なワープを回避します。
補正はNetworkTRSP.Rencer
メソッドで行われtransform
に適用されます。インスペクターから調整可能なStateAuthorityChangeErrorCorrectionDelta
プロパティで設定される値を使用することで、誤差が軽減されます。0に設定すると、補正は無効になります(デフォルトは0です)。
備考:スムーズな補正を行うために、値は0.15から試してみると良いでしょう。
SetAreaOfInterestOverride()
SetAreaOfInterestOverride()
によって、NetworkTRSP
派生コンポーネント(NetworkTransform
やNetworkRigidbody3D
)は、自身の位置データのかわりに、別のNetworkObject
の位置を、関心領域の決定に使用できます。

実質的に、あるNetworkObject
を、他のNetworkObject
の関心領域のプロキシとして割り当てることができます。例えば、プレイヤーがネットワークオブジェクトを拾って手で持つ場合、持たれているオブジェクトのAreaOfInterestOverride
をプレイヤーにしたくなるでしょう。なぜなら、持たれているオブジェクトはプレイヤーの子オブジェクトとなり、関心領域の処理が無効になるからです。そうならないように、プレイヤーとプレイヤーが持つオブジェクトの関心領域は同じにしたくなります。