게임 오브젝트에 추가할 컴포넌트

Camera Setup

Photon View

Photon Transform View

Photon Animator View

 

 


 

Photon View 컴포넌트

 

Photon View는 각 컴퓨터들의 다양한 인스턴스들을 하나로 연결해 주며 컴포넌트들을 관창하고 어덯게 관찰할 지를 정의해줍니다.

View ID - 네트워크 상에서 구별 가능한 식별자( 같은 식별자를 가진 오브젝트는 같은 오브젝트로 취급하고 서로 동기화한다)

Observables Synchronization - 값을 관측하고 동기화하는 방식을 변경할 수 있습니다. 

  • Off - 동기화하지 않습니다.
  • Reliable Delta Compressed - 상대방이 최근에 수신한 값과 동일한 값은 송신하지 않습니다.
  • Unreliable - 패킷의 수신 여부를 검사하지 않고 지속적으로 송신하비다.
  • Unreliable On Change - Unreliable과 동일하나 값의 변화가 감지될 때만 송신합니다.

Reliable Delta Compressed 또는 Unreliable On Change를 사용하면 대역폭을 아낄 수 있습니다.

Photon View를 거치지 않고 RPC등의 별개의 방법으로 값을 동기화할 경우에도 Off를 사용하여 대역폭을 아낄 수 있습니다.

Observed Components(n) - 리스트에 등록된 컴포넌트들의 변화한 수치를 관측하고 네트워크를 넘어서 다른 클라이언트에 전달할 수 있습니다.

 

Photon Transform View 컴포넌트

 

자신의 게임 오브젝트에 추가된 트랜스폼 컨포넌트 값의 변화를 측정하고, Photon View 컴포넌트를 사용해 동기화합니다.

현재 설정된 것은 transform의 위치와 회전을 동기화하도록 설정되어 있습니다. 위치, 회전, 스케일을 동기화할 수 있습니다.

 

자신의 로컬이라면 트랜스폼 컴포넌트의 속성값들을 감지하고 Photon View를 사용해 네트워크 너머의 리모트로 보냅니다.

자신의 리모트라면 Photon View를 사용해 송신된 로컬의 값을 받아 자신의 트랜스폼 컴포넌트에 적용합니다. 

 

+ 로컬 : 주도권이 자신에게 있음. 물리적으로 사용자의 위치에 존재하는 단말기나 프로그램, 오브젝트를 표현하는 단어

+ 리모트 : 주도권이 네트워크 너머의 타인에게 있음. 원격 접속을 통해 접근할 수 있는 단말기나 프로그램, 오브젝트를 표현하는 단어

 

❗❗Photon Transform View 컴포넌트는 Photon View컴포넌트 없이는 동작할 수 없습니다.

 

Photon Animator View 컴포넌트

 

 

이 컴포넌트를 정상적으로 작동하게 하려면 오브젝트에 Animation이 적용되어 있어야 합니다.

네트워크를 넘어 로컬 게임 오브젝트와 리모트 게임 오브젝트 사이에서 애니메이터 컴포넌트의 파라미터를 동기화하여 서로 같은 애니메이션을 재생하도록 합니다.

 

로컬일 때는 자신의 애니케이터 컴포넌트의 파라미터들을 관측하고 Photon View를 사용해 다른 클라이언트에 있는 자신의 리모트에 전달합니다.

리모트일 때는 네트워크를 통해 로컬이 건넌 수치들을 받아 자신의 애니메이터 컴포넌트의 파라미터를 덮어쓰기합니다.

 

동기화를 원하는 파라미터는 드롭다운 메뉴를 클릭하고 Discrete 또는 Continuous로 동기화 홉션을 설정

Discrete는 값의 연속적인 변화를 Continuous에 비해 잘 반영하지 못하지만 대역폭을 아낄 수 있습니다.

 

 

 

 

'Unity > 얼음땡' 카테고리의 다른 글

Photon을 이용한 Unity 네트워크 게임 개발 책 추천  (0) 2023.07.26

+ Recent posts