Notice
Recent Posts
Recent Comments
Link
박민혁의 개발
유니티 멀티 포톤 본문
01_ 포톤이란?
포톤 (Photon)은 Exit Games에서 개발한 멀티플레이어 게임 개발을 위한 네트워크 엔진입니다. Unity와 같은 게임 엔진과 함께 사용되어 멀티플레이어 기능을 게임에 추가할 수 있게 합니다.
02_ 포톤의 주요 특징
- Cross-platform: 포톤은 다양한 플랫폼 간에 통신을 지원합니다. 이는 PC, 모바일, 콘솔 게임에서 멀티플레이어를 지원하게 해줍니다.
- Real-time, Multiplayer: 포톤은 실시간 멀티플레이어 게임 개발에 초점을 맞추고 있습니다.
- Scalability: 포톤은 클라우드 기반 서버를 사용하여 게임의 플레이어 수에 따라 자동으로 확장되는 기능을 제공합니다.
- Reliability: 포톤은 데이터 전송에 대한 높은 신뢰성을 제공합니다.
03_ 포톤의 주요 메서드 및 기능
포톤에서 주로 사용되는 몇 가지 중요한 메서드와 클래스에 대해 설명하겠습니다.
- 1. PhotonNetwork 클래스1.1. ConnectUsingSettings 메서드이 메서드를 호출하면, 앱이 포톤 클라우드에 연결됩니다. 연결 상태는 **PhotonNetwork.IsConnected**로 확인할 수 있습니다.
CreateRoom 메서드는 새로운 방을 만들고, JoinRoom 메서드는 이미 존재하는 방에 참가합니다.PhotonNetwork.CreateRoom("RoomName"); PhotonNetwork.JoinRoom("RoomName");
포톤 네트워크를 통해 새로운 게임 오브젝트를 생성합니다. 이 메서드는 Unity의 Instantiate 메서드와 유사하나, 네트워크를 통해 동기화됩니다.PhotonNetwork.Instantiate("PrefabName", position, rotation);
- 1.3. Instantiate 메서드
- 1.2. CreateRoom 및 JoinRoom 메서드
- PhotonNetwork.ConnectUsingSettings();
- PhotonNetwork 클래스는 포톤 네트워크의 주요 기능에 액세스하는 중심적인 클래스입니다.
- 2. MonoBehaviourPunCallbacks 클래스2.1. OnConnectedToMaster 메서드게임이 포톤 마스터 서버에 성공적으로 연결되면 호출됩니다.
로컬 플레이어가 방에 입장하면 호출됩니다.public override void OnJoinedRoom() { ... }
다른 플레이어가 방에 입장하면 호출됩니다.public override void OnPlayerEnteredRoom(Player newPlayer) { ... }
- 2.3. OnPlayerEnteredRoom 메서드
- 2.2. OnJoinedRoom 메서드
- public override void OnConnectedToMaster() { ... }
- MonoBehaviourPunCallbacks 클래스는 포톤의 주요 이벤트에 대한 콜백 메서드를 제공합니다.
04_ 주요 컴포넌트 및 기능
- 컴포넌트 소개
- PhotonView
- PhotonView는 포톤 네트워크에서 네트워크 상태를 동기화하는 데 사용됩니다. 이 컴포넌트를 통해 PhotonNetwork.Instantiate를 사용해 생성된 객체가 네트워크를 통해 동기화됩니다. PhotonView는 주로 Transform 컴포넌트나 사용자 정의 스크립트와 같이 동기화하고자 하는 컴포넌트를 참조합니다.
- PhotonTransformView
- PhotonTransformView는 위치, 회전, 및 크기를 동기화하는 데 사용되는 컴포넌트입니다. PhotonView에 추가하여 사용하며, 이 컴포넌트를 통해 게임 오브젝트의 움직임이 네트워크를 통해 동기화됩니다.
- PhotonAnimatorView
- PhotonAnimatorView는 Animator 컴포넌트를 동기화하는 데 사용됩니다. 이 컴포넌트는 PhotonView와 함께 사용되며, 애니메이션 상태와 변수를 동기화하는 데 사용됩니다.
- PhotonRigidbodyView
- PhotonRigidbodyView는 Rigidbody 또는 Rigidbody2D 컴포넌트를 동기화하는 데 사용됩니다. 이 컴포넌트는 움직임과 회전을 동기화하여 물리적 효과를 네트워크를 통해 동기화할 수 있습니다.
- 포톤에서 주요하게 사용되는 컴포넌트 몇 가지를 설명하겠습니다.
'TIL' 카테고리의 다른 글
유니티 사운드 매니저 (0) | 2023.10.19 |
---|---|
조던 메크너의 게임 제작 20가지 팁 (1) | 2023.10.17 |
유니티 깃 머지 주의사항 (0) | 2023.10.13 |
유니티 구글 모브앱 넣기 (0) | 2023.10.12 |
유니티 URP란 (0) | 2023.10.05 |