PUN Classic(PUN1이라고도 불립니다)은 PUN의 첫 버전입니다.         현재는 리팩토링 및 기능 확장에 의해 PUN2로 새롭게 바뀌었습니다.          새 프로젝트에는 PUN2를 이용해 주시고, 기존의 프로젝트도 가능하면 PUN1에서 PUN2로 옮기는 것을 권장합니다.  자세한 내용은: "마이그레이션 노트". PUN Classic은 곧 점검이 시작됩니다.        중요한 버그의 수정과 Unity의 신버전의 지원 등을 예정하고 있습니다. 신기능의 추가는 PUN2에서만 이루어지므로 주의해 주십시오.

2D Jump And Run 데모

이 씬에서는 Photon를 사용하여 2D 개체를 동기화하는 방법과 위치와 물리적 업데이트의 조합이 어떻게 동기화된 객체의 부드러운 움직임에 영향이 있는지 설명합니다. 메인 캐릭터에는 PhotonTransformViewPhotonRigidbody2DView 두 개의 컴포넌트가 적용 됩니다. PhotonTransformView 에 대한 상세 내용은 RPG Movement Demo 를 참고 하시기 바랍니다.

Screenshot of 2D Jump And Run Demo
Animated Demo Characters

PhotonRigidbody2DView 의 간단한 인스펙터에서 객체의 속도와 각속도 동기화 옵션을 설정 할 수 있습니다. 캐릭터는 속도와 각속도로 인하여 움직이기 때문에 원격 클라이언트에 있는 이동결과는 로컬 클라이언트처럼 부드럽게 이동 합니다.

PhotonRigidbody2DView in Jump And Run Demo
PhotonRigidbody2DView in Jump And Run Demo

Unity의 물리 시뮬레이션은 결정적이지 않으므로 동일 입력일지라도 결과가 약간 달라 질 수 있습니다.

물리적 데이터 동기화에만 의존하게 되면 약간씩 발생되는 차이가 누적되어 연결된 클라이언트의 동기화가 어긋나게 될 수 있으니 물리적 데이터 동기화에만 의존하지 않아야 합니다.

이를 극복하기 위해서 PhotonTransformViewPhotonRigidbody2DView 의 조합을 이용 합니다.

PhotonTransformView 는 실제 정확한 위치를 일정 간격으로 전송하고 PhotonRigidbody2DView의 속도는 위치 업데이트 사이의 움직임을 부드럽게 합니다.속도를 동기화하여 캐릭터가 레벨 오브젝트에 부딪쳤을 때 적용되는 충격이 적절한 지 확인할 수 있습니다. 씬에 스폰되는 물리 큐브에서 실제로 해 볼 수 있습니다.

보충

여러개의 붉은 타일 (위에 설 수 있는 타일)을 덮는 충돌 상자가 있다는 것을 알 수 있습니다. 모든 붉은 박스에 콜라이더(collider)를 가지고 있다면 캐릭터가 상자 가장자리 사이에서 움직일 수 없게되어, 움직임에 지장을 초래합니다.

콜라이더(collider)가 적으면 성능이 향상됩니다.(이 데모에서는 적절하지 않습니다)

기술문서 TOP으로 돌아가기