Unity 네트워크 트랜스폼 자식 컴포넌트
이 문서는 Unity의 Network Transform Child 컴포넌트에 대한 내용을 설명합니다. 이 컴포넌트는 네트워크 환경에서 게임 오브젝트의 자식 오브젝트의 위치와 회전을 동기화하는 데 사용됩니다.
개요
- Network Transform Child는 부모 게임 오브젝트의 자식 오브젝트의 위치와 회전을 동기화합니다.
- 이 컴포넌트를 사용하여 네트워크 게임 오브젝트의 독립적으로 이동하는 자식 오브젝트를 처리할 수 있습니다.
사용 방법
- 컴포넌트 추가: Network Transform과 같은 부모 게임 오브젝트에 Network Transform Child 컴포넌트를 추가합니다.
- 타겟 설정:
Target필드를 사용하여 동기화할 자식 오브젝트를 지정합니다.
여러 개의 Network Transform Child 컴포넌트를 하나의 부모 게임 오브젝트에 추가할 수 있습니다.
주요 프로퍼티
| 프로퍼티 | 설명 |
|---|---|
| Network Send Rate | 초당 네트워크 업데이트 수를 설정합니다. |
| Target | 동기화할 자식 트랜스폼을 지정합니다. |
| Movement Threshold | 동기화하지 않고 이동할 수 있는 최대 거리입니다. |
| Interpolate Movement Factor | 보간을 활성화하고 조정합니다. 숫자가 클수록 더 빨리 보간됩니다. |
| Interpolate Rotation Factor | 회전 보간을 활성화하고 조정합니다. |
| Rotation Axis | 동기화할 회전 축을 정의합니다. 기본값은 XYZ입니다. |
| Compress Rotation | 회전 데이터 압축 수준을 설정합니다. None, Low, High 옵션이 있습니다. |
활용 예제
기본 사용 예제
public class Example : MonoBehaviour
{
private void Start()
{
// 부모 오브젝트에 Network Transform Child 컴포넌트를 추가
NetworkTransformChild netTransformChild = gameObject.AddComponent<NetworkTransformChild>();
// 자식 오브젝트의 타겟 설정
netTransformChild.Target = childGameObject.transform;
}
}
여러 자식 동기화
여러 자식 오브젝트를 동시에 동기화하려면 각 자식 오브젝트에 Network Transform Child 컴포넌트를 추가하면 됩니다. 각 컴포넌트의 Target 필드를 해당 자식의 트랜스폼으로 설정해야 합니다.
회전 데이터 압축 적용
회전 데이터 압축을 적용하여 네트워크 대역폭을 절약할 수 있습니다. 컴포넌트의 Compress Rotation 속성을 설정하여적인 데이터 전송량을 줄일 수 있습니다.
주의사항
- UNet 솔루션은 더 이상 지원되지 않으며, 게임 오브젝트용 새로운 멀티플레이어 및 네트워킹 솔루션이 개발 중입니다.
- Network Transform Child 컴포넌트는 물리를 사용하지 않고 포지션과 회전을 동기화합니다.
이 문서에서는 Unity의 Network Transform Child 컴포넌트를 간단히 설명하고, 어떻게 활용할 수 있는지에 대한 예시를 제공하였습니다. 추가적인 질문이 있는 경우 Unity의 공식 문서를 참조하시기 바랍니다.