This document is about: PUN 1
SWITCH TO

PUN Classic (v1), PUN 2, Bolt는 휴업 모드입니다. Unity2022에 대해서는 PUN 2에서 서포트하지만, 신기능의 추가는 없습니다. 현재 이용중인 고객님의 PUN 및 Bolt 프로젝트는 중단되지 않고, 퍼포먼스나 성능이 떨어지는 일도 없습니다. 앞으로의 새로운 프로젝트에는 Photon Fusion 또는 Quantum을 사용해 주십시오.

Mecanim 데모

이 데모에서는 PhotonAnimatorView 로 쉽게 메카님 애니메이션 동기화에 대해서 보여 드립니다. 간단히 AnimatorPhotonView 를 가진 객체에게 PhotonAnimatorView 컴포넌트를 추가합니다. 새로운 콤포넌트를 PhotonViewObserved Components 목록에 드래그앤 드롭 합니다. PhotonAnimatorView 컴포넌트에서 어떤 부분의 애니메이션을 동기화를 할지 제어 할 수 있습니다.

screenshot of mecanim demo
Animated Demo Characters

이 데모에서는 PhotonAnimatorView 컴포넌트에 애니메이션을 동기화 하고있는 캐릭터의 인스턴스를 생성 합니다. 데모를 두개 실행하면 어떤 애니메이터 파라미터(Speed, Direction, Jump, Hi)가 전송되는지와 수신측의 클라이언트의 값을 확인할 수 있습니다.

"Robot Kyle Mecanim" 프리팹은 PhotonView 가 있고 , "Observed Components" 에는 PhotonAnimatorViewPhotonTransformView 가 있습니다. PhotonTransformView 컴포넌트는 캐릭터의 위치와 회전 정보를 동기화합니다. PhotonTransformView 의 상세 내용은 RPG Movement 데모에서 확인 해 보세요.

PhotonAnimatorView

PhotonAnimatorView 에서 레이어 가중치와 어떤 파라미터를 동기화 할지를 정할 수 있습니다. 레이어 가중치는 게임이 진행되는 과정에서 동기화가 변경되어 나중에 전혀 동기화가 필요 없을 경우에만 사용합니다. 파라미터의 경우에도 동일 합니다. 때로는 다른 요소에 의해서 애니메이터 값을 도출 할 수 있습니다. 동기화 파라미터는 가능한 작게 동기화 하는 것이 좋습니다.

photonanimatorview on prefab for mecanim demo
Mecanim 데모에서 프리팹의 PhotonAnimatorView

각각의 값은 개별적으로 또는 연속적으로 동기화 될 수 있습니다.

Discrete synchronization(개별동기화)은 값이 초당 10번 전송(OnPhotonSerializeView 내)됩니다. 수신 클라이언트들은 값을 로컬 애니메이터로 전달 합니다.

Continuous synchronization(연속동기화)은 PhotonAnimatorView 가 추가적인 값을 저장합니다. OnPhotonSerializeView 이 호출(초당 10회)될 때 마지막 호출이 같이 전송되었기 때문에 값들이 기록됩니다. 수신 클라이언트는 부드러운 전환을 유지 하기 위해서 순차적으로 값을 적용합니다. 이 모드는 더 부드럽지만 전송 해야 하는 데이터의 양은 증가 됩니다.

보충

데모의 초기 구성에서 Speed(속도)는 연속동기화로 설정되어 있습니다. 다른 모든 값은 개별동기화로 설정되어 있습니다. Speed와 Direction의 값으로 2가지 모드의 차이점 이해가 쉽습니다.

Speed 파라미터의 수신 값은 전송 후 바로 변경되지만 Direction 매개 변수의 수신 값은 더 큰 간격으로 천천히 변화합니다. Direction 파라미터의 동기화 모드를 Discrete 에서 Continuous 변경하면 더 부드러워 집니다 (트래픽은 증가합니다)

지금까지 했던 것은 캐릭터에 PhotonAnimatorView 컴포넌트를 적용하여 동기화 모드를 각각의 파리미터에 가장 적합 한 것으로 설정한 것으로 매우 간단 합니다.

Back to top