Network Transform
NetworkTransform
NetworkTransform
コンポーネントは、ネットワークオブジェクトの位置と回転を同期します。また、任意でスケールとゲームオブジェクトの親子関係を同期することも可能です。
使用方法
NetworkTransform
コンポーネントを、ネットワークオブジェクトのルートまたは子に追加すると、そのTransform
の状態の変更が複製されます。
備考: 親子関係の同期は、NetworkObject
のルートのNetworkTransform
コンポーネントにのみ適用可能です。
スケールの同期(Sync Scale)
名前の通り、transform.localScale
の値の同期を有効にします。
親子関係の同期(Sync Parent)
有効にすると、transform.parent
が同期されます。
親子関係の同期には、いくつかの注意点があります。
- 親の
transform
には、必ずNetworkBehaviour
コンポーネントが必要です。親を見つけるために、NetworkBehaviourId
が使用されるからです。。 NetworkTransform
は、必ずネットワークオブジェクトのルートになければいけません。親子関係の同期は、ネットワークオブジェクト自体の入れ子にのみ有効です。ネットワークオブジェクト単体で子要素の再配置はできません。- 親の
transform
を、ネットワークオブジェクトの子のtransform
にすることができます。プレイヤーの手などが例です。
AutoAOIOverride
有効にすると、親子関係にあるTransform
のAreaOfInterestOverride
は、自動的に最上位の親のNetworkObject
に設定され、子と親で同じ関心領域を持つことが保証されます。例えば、プレイヤーがオブジェクトを持っている場合、そのプレイヤーの更新の受け取っている他のプレイヤーでのみ、オブジェクトが更新されます。
SetAreaOfInterestOverride
の詳細は、マニュアルのNetworkTRSP
(こちら)をご覧ください。
Teleport()
このメソッドを呼び出すと、Transform
の位置と回転を指定した値に設定し、テレポートイベントが送信されます。これによって、Render()
における前回のティックと現在のティック間の補間を止めて、テレポート先への瞬間的な移動が行われます。