참고: UNet은 지원이 중단되었으며 향후 Unity에서 삭제될 예정입니다. 현재 새로운 시스템이 개발 중입니다. 자세한 내용과 다음 단계는 이 블로그 포스트를 참조하십시오. |
Network Animator 컴포넌트를 사용하여 네트워크에 연결된 오브젝트의 애니메이션 상태를 동기화할 수 있습니다. 이 컴포넌트는 AnimatorController에서 상태와 파라미터를 동기화합니다.
빈 게임 오브젝트에 네트워크 애니메이터 컴포넌트를 생성하면 해당 게임 오브젝트에 Network Identity 컴포넌트와 Animator 컴포넌트도 생성됩니다.
|프로퍼티|기능| |:—|:—| |Animator**|이 필드를 사용하여 네트워크 애니메이터와 동기화할 Animator 컴포넌트를 정의할 수 있습니다.|
네트워크 애니메이터를 사용하면 게임 오브젝트 애니메이션이 전체 네트워크에 걸쳐 동기화됩니다. 즉, 모든 플레이어에게 애니메이션이 동시에 표시됩니다. 다음과 같은 두 가지 네트워크 애니메이션 권한이 있습니다. 권한에 대한 자세한 내용은 네트워크 시스템 개념 문서를 참조하십시오.
게임 오브젝트가 클라이언트에서 권한이 있는 경우, 게임 오브젝트를 소유한 클라이언트에서 게임 오브젝트를 로컬로 애니메이션화해야 합니다. 해당 클라이언트에서 애니메이션 상태 정보를 서버에 전송하고, 서버에서 이 정보를 다른 모든 클라이언트에 브로드캐스트합니다. 이 방법은 예를 들어 플레이어 캐릭터에 적합합니다.
게임 오브젝트가 서버에서 권한이 있는 경우, 게임 오브젝트를 서버에서 애니메이션화해야 합니다. 그러면 서버에서 상태 정보를 모든 클라이언트로 전송합니다. 이 경우는 일반적으로 논 플레이어 캐릭터(NPC)처럼 특정 클라이언트와 관련이 없는 애니메이션화된 게임 오브젝트에 해당합니다.
네트워크 애니메이터는 인스펙터 창에서 선택된 애니메이션 파라미터를 동기화합니다. 애니메이션 트리거를 자동으로 동기화하지는 않습니다. 권한이 있는 게임 오브젝트는 SetTrigger 함수를 사용하여 애니메이션 트리거를 다른 클라이언트에서 실행할 수 있습니다.
GetParameterAutoSend 및 SetParameterAutoSend 함수를 사용하여 자동으로 동기화할 개별 애니메이터 파라미터를 설정할 수 있습니다.