2022.09.14 경일 메타버스 24주차 2일 특강 수업내용. 네트워크 게임월드 구현
호스트에서만 체력 관리와 데미지 처리 실행
리스폰 기능 추가
호스트에서만 아이템 사용 판단
RPC 사용해 호스트에 위임, 동기화
[PunRPC]
RPC()
호스트에서만 실제 사격 처리 부분 실행
RPC()
상태 동기화
IPunObservable
인터페이스
Photon View
컴포넌트를 사용해 동기화를 구현할 모든 컴포넌트(스크립트)가 상속하고
OnPhotonSerializeView()
메소드를 구현해야 한다.
OnPhotonSerializeView()
메소드
Photon View
컴포넌트를 사용해 로컬과 리모트 사이에서
어떤 값을 어떻게 주고받을지 결정
값을 직렬화하여 전달
탄알 추가를 모든 클라이언트에서 실행
모든 클라이언트에서 스스로 파괴
모든 클라이언트에서 스스로 파괴
PhotonNetwork.Destroy()
호스트에서만 아이템 생성
플레이어 기준이 아닌 맵 중심 기준으로
PhotonNetwork.Instantiate()
일정한 시간 후 모든 클라이언트에서 파괴
룸 나가기 구현
게임 점수 동기화
IPunObservable
인터페이스 상속, OnPhotonSerializeView()
메소드 구현네트워크 플레이어 캐릭터 생성
PhotonNetwork.Instantiate()
네트워크 상에서 좀비 생성
Color
클래스는 포톤에서 직렬화를 지원하지 않는다.
기존에 RPC에서 지원하지 않던 타입을 직접 지원하도록 정의하는 것이 가능
PhotonPeer.RegisterType()
남은 좀비 수 동기화