내일배움캠프 41일차 6/13 TIL + Unity공부
Photon 주요 클래스 및 컴포넌트 정리
Photon 주요 클래스
- PhotonNetwork 클래스
-
주요 기능: 포톤 네트워크의 중심 클래스이며, 다양한 네트워크 기능을 제공합니다.
- ConnectUsingSettings 메서드:
PhotonNetwork.ConnectUsingSettings();
- 포톤 클라우드에 연결합니다.
- 연결 상태는
PhotonNetwork.IsConnected
를 통해 확인할 수 있습니다.
- CreateRoom 및 JoinRoom 메서드:
PhotonNetwork.CreateRoom("RoomName"); PhotonNetwork.JoinRoom("RoomName"); PhotonNetwork.JoinOrCreateRoom("RoomName"); // 방이 없으면 생성하고 있으면 입장
CreateRoom
: 새로운 방을 생성합니다.JoinRoom
: 기존 방에 참가합니다.JoinOrCreateRoom
: 방이 없으면 만들고, 있으면 들어갑니다.
- Instantiate 메서드:
PhotonNetwork.Instantiate("PrefabName", position, rotation);
- 네트워크를 통해 새로운 게임 오브젝트를 생성하고 동기화합니다.
-
- MonoBehaviourPunCallbacks 클래스
-
주요 기능: 포톤의 주요 이벤트에 대한 콜백 메서드를 제공합니다.
- OnConnectedToMaster 메서드:
public override void OnConnectedToMaster() { ... }
- 포톤 마스터 서버에 성공적으로 연결되면 호출됩니다.
- OnJoinedRoom 메서드:
public override void OnJoinedRoom() { ... }
- 로컬 플레이어가 방에 입장하면 호출됩니다.
- OnPlayerEnteredRoom 메서드:
public override void OnPlayerEnteredRoom(Player newPlayer) { ... }
- 다른 플레이어가 방에 입장하면 호출됩니다.
-
주요 컴포넌트 및 기능
- PhotonView
- 역할: 네트워크 상태를 동기화합니다. 주로
Transform
컴포넌트나 사용자 정의 스크립트를 참조합니다. - RPC (Remote Procedure Call):
- 원격 클라이언트에서 메소드를 실행할 수 있게 합니다.
- 메서드에
[PunRPC]
어트리뷰트를 추가하고,PhotonView.RPC("RPC메소드명", RPC타겟, [파라미터]);
형식으로 호출합니다.
- 역할: 네트워크 상태를 동기화합니다. 주로
- PhotonTransformView
- 역할: 위치, 회전, 크기를 동기화합니다.
PhotonView
에 추가하여 사용합니다.
- PhotonAnimatorView
- 역할:
Animator
컴포넌트를 동기화합니다. - 애니메이션 상태와 변수를 동기화합니다.
- 역할:
- PhotonRigidbodyView
- 역할:
Rigidbody
또는Rigidbody2D
컴포넌트를 동기화합니다. - 물리적 움직임과 회전을 네트워크를 통해 동기화합니다.
- 역할: