-
Photon 동기화 방식 - Photon View Component게임 클라이언트 개발/Photon 2023. 11. 3. 20:00
Photon 동기화 방식은 크게 5가지가 있다. 그 중 Photon View Component에 관한 글이다.
Photon View Component
Photon View Component는 Photon 동기화 시 네트워크가 동기화를 위해 오브젝트를 관측하는 Component이다.
- Photon View Component의 맴버 변수
- View ID : 오브젝트를 식별하기 위한 고유 ID
- IsMine : 로컬 플레이어의 소유인 Photon View Component인가? 즉, Owner가 로컬 플레이어인가?
- Owner : 해당 Photon View Component의 소유권을 가지고 있는 플레이어
- Creator : 해당 Photon View Component를 생성한 플레이어
- Observable Components : 자신 혹은 자식 오브젝트에 부착된 Photon View 류의 Components 중 관측하고자 하는 Components
- 상속받는 클래스를 MonoBehaviour 대신 MonoBehaviourPun 또는 MonoBehaviourPunCallbacks로 수정한 후 photonView라는 미리 캐싱된 변수를 사용하거나, 혹은 GetComponent로 PhotonView 컴포넌트를 가져올 수 있음.
- 해당 컴포넌트를 통해 로컬 플레이어가 생성한 오브젝트인지 확인하는 IsMine 변수나 RPC 메서드 사용 가능.
Photon Transform View Component
- Transform을 동기화하기 위한 Component
- 부모 혹은 자신에게 Photon View Component가 존재해야 동기화 가능
- 동기화하고 싶은 Option 체크
Photon Animator View Component
- Animator를 동기화하기 위한 Component
- Animator의 Parameter 동기화 정도를 설정할 수 있음 (Disable : 동기화 불가능, Discrete : 초당 10회 동기화, Continuous : 매프레임 동기화)
- RPC 매서드를 사용하지 않고 Photon Animator View로 애니메이션을 동기화할 경우 해당 컴포넌트가 Inspector 창의 가장 아래에 위치해야 함.
주의 사항
View ID가 같은 오브젝트가 존재할 경우 Photon에서 에러를 발생하므로 View ID가 같은 오브젝트가 존재하지 않도록 주의.
보통의 경우에는 View ID가 같은 오브젝트가 존재하지 않으나 싱글톤 객체에 Photon View Component가 존재할 경우 씬을 전환할 때 View ID가 같은 오브젝트가 존재하는 케이스가 있으니 주의해서 사용할 것.
'게임 클라이언트 개발 > Photon' 카테고리의 다른 글
Photon을 활용한 Matching 시스템 구축 (0) 2024.01.16 Photon 동기화 방식 - Custom Properties (0) 2023.11.07 Photon 동기화 방식 - RPC Method (0) 2023.11.05 - Photon View Component의 맴버 변수