네트워크 트랜스폼
NetworkTransform
NetworkTransform
은 NetworkObject
의 위치 및 회전을 동기화하는 컴포넌트입니다.
선택적으로 오브젝트의 스케일(scale)과 계층 구조에서의 부모 상태도 동기화할 수 있습니다.
사용 방법
NetworkTransform
컴포넌트를 NetworkObject
의 루트 또는 자식 Transform에 추가하면 해당 Transform 상태의 변경 사항이 복제됩니다.
주의: 부모 상태 동기화는 NetworkObject
의 루트에 위치한 NetworkTransform
에만 적용됩니다.
스케일 동기화 (Sync Scale)
transform.localScale
값을 네트워크 상에서 동기화할지 여부를 설정합니다.
부모 동기화 (Sync Parent)
이 옵션을 활성화하면 transform.parent
값이 동기화됩니다.
부모 설정에 대한 주의사항은 다음과 같습니다:
- 부모 Transform에는 반드시
NetworkBehaviour
컴포넌트가 있어야 합니다. 부모는 내부적으로NetworkBehaviourId
를 통해 식별됩니다. NetworkTransform
은 반드시NetworkObject
의 루트에 위치해야 합니다. 하나의NetworkObject
내에서 자식 오브젝트들 간의 계층은 재구성할 수 없습니다.- 부모 Transform은
NetworkObject
의 자식 Transform이 될 수 있습니다. 예: 플레이어의 손.
AutoAOIOverride
이 옵션을 활성화하면, 자식 오브젝트의 AreaOfInterestOverride
값이 부모 NetworkObject
의 값으로 자동 설정됩니다.
이렇게 하면 자식 오브젝트도 부모 오브젝트와 동일한 관심 영역(Player Interest)을 갖게 됩니다.
예를 들어, 어떤 플레이어가 오브젝트를 들고 있다면, 해당 오브젝트는 그 플레이어를 수신하는 클라이언트에게만 업데이트됩니다.
자세한 내용은 이 매뉴얼의 NetworkTRSP
섹션에 있는
SetAreaOfInterstOverride 설명을 참조하세요.
Teleport()
이 메소드를 호출하면 트랜스폼의 위치와 회전이 즉시 지정된 값으로 설정되며, 네트워크에 해당 이동 이벤트가 전송됩니다.
이때, Render()
에서 이전 틱 상태와 현재 틱 상태 간의 보간이 중단되며, 순간적으로 지정된 위치로 이동하는 효과를 줍니다.