less than 1 minute read

Photon 주요 클래스 및 컴포넌트 정리

Photon 주요 클래스

  1. 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);
      
      • 네트워크를 통해 새로운 게임 오브젝트를 생성하고 동기화합니다.
  2. MonoBehaviourPunCallbacks 클래스
    • 주요 기능: 포톤의 주요 이벤트에 대한 콜백 메서드를 제공합니다.

    • OnConnectedToMaster 메서드:
      public override void OnConnectedToMaster() { ... }
      
      • 포톤 마스터 서버에 성공적으로 연결되면 호출됩니다.
    • OnJoinedRoom 메서드:
      public override void OnJoinedRoom() { ... }
      
      • 로컬 플레이어가 방에 입장하면 호출됩니다.
    • OnPlayerEnteredRoom 메서드:
      public override void OnPlayerEnteredRoom(Player newPlayer) { ... }
      
      • 다른 플레이어가 방에 입장하면 호출됩니다.

주요 컴포넌트 및 기능

  1. PhotonView
    • 역할: 네트워크 상태를 동기화합니다. 주로 Transform 컴포넌트나 사용자 정의 스크립트를 참조합니다.
    • RPC (Remote Procedure Call):
      • 원격 클라이언트에서 메소드를 실행할 수 있게 합니다.
      • 메서드에 [PunRPC] 어트리뷰트를 추가하고, PhotonView.RPC("RPC메소드명", RPC타겟, [파라미터]); 형식으로 호출합니다.
  2. PhotonTransformView
    • 역할: 위치, 회전, 크기를 동기화합니다.
    • PhotonView에 추가하여 사용합니다.
  3. PhotonAnimatorView
    • 역할: Animator 컴포넌트를 동기화합니다.
    • 애니메이션 상태와 변수를 동기화합니다.
  4. PhotonRigidbodyView
    • 역할: Rigidbody 또는 Rigidbody2D 컴포넌트를 동기화합니다.
    • 물리적 움직임과 회전을 네트워크를 통해 동기화합니다.