NetworkTransform 컴포넌트는 네트워크에 걸쳐 게임 오브젝트의 이동을 동기화합니다. 컴포넌트는 권한을 고려하여 동작하므로, LocalPlayer 오브젝트(로컬 권한을 가짐)는 클라이언트로부터 서버로 자신의 위치를 동기화한 후에 다른 클라이언트로 넘어갑니다. 서버 권한을 지닌 다른 오브젝트는 서버로부터 클라이언트로 포지션을 동기화합니다.
컴포넌트를 사용하기 위해서는 이동을 동기화하고자 하는 프리팹이나 게임 오브젝트에 컴포넌트를 추가해야 합니다. 또한, 해당 게임 오브젝트에 NetworkIdentity가 있어야 합니다. 네트워크에 연결된 오브젝트는 동기화를 위해 스폰되어야 한다는 점에 주의해야 합니다.
프로퍼티: | 기능: |
---|---|
characterContoller Cached | CharacterController입니다. |
clientMoveCallback2D | 서버에서 클라이언트 권한 오브젝트를 승인하기 위해 사용되는 콜백입니다. |
clientMoveCallback3D | 서버에서 클라이언트 권한 오브젝트를 승인하기 위해 사용되는 콜백입니다. |
grounded | NetworkTransform 컴포넌트가 표면에 있음(디폴트)을 알려줍니다. |
interpolateMovement | 동기화된 이동의 보간을 활성화합니다. |
interpolateRotation | 동기화된 회전의 보간을 활성화합니다. |
lastSyncTime | 이동 동기화 패킷이 이 오브젝트에 마지막으로 도착한 시간을 나타냅니다. |
movementTheshold | 오브젝트가 이동 동기화 업데이트를 전송하지 않고 움직일 수 있는 거리입니다. |
rigidbody2D | 캐시된 Rigidbody2D입니다. |
rigidbody3D | 캐시된 Rigidbody입니다. |
rotationSyncCompression | 회전 싱크 업데이트를 얼마나 압축할지를 나타냅니다. |
sendInterval | sendInterval은 오브젝트를 위해 스테이트 업데이트가 전송되는 주기를 제어합니다. |
snapThreshold | 이동 업데이트로 인해 오브젝트가 현 포지션으로부터 해당 값보다 더 멀리 움직인 경우, 오브젝트는 부드럽게 움직이는 것이 아니라 순간적으로 이동합니다. |
syncRotationAxis | 어떤 축을 기준으로 회전이 동기화되어야 하는지를 나타냅니다. |
targetSyncPosition | 포지션 보간이 일어날 타겟을 나타냅니다. |
targetSyncRotation2D | 회전 보간이 일어날 타겟을 나타냅니다. |
targetSyncRotation3D | 포지션 보간이 일어날 타겟을 나타냅니다. |
targetSyncVelocity | 동기화를 위해 전송되는 속도를 나타냅니다. |
transformSyncMode | 오브젝트의 포지션을 동기화하기 위해 사용되는 메서드입니다. |