728x90
반응형
- 개요
프로젝트는 Photon PUN 프레임워크를 사용하여 멀티플레이어 네트워크 시스템을 구현한다
단, 프로젝트의 규모가 커질수록 PUN 프레임워크가 아닌 Photon Fusion을 사용할 것을 권장한다
따라서 프로젝트의 구성은 PUN 프레임워크를 중심으로 작업하였다
- Photon 네트워크 동작 구성
Photon은 P2P 방식의 네트워크가 아닌 중간의 클라우드를 거쳐 플레이어를 연결하는 방식으로 동작한다
그리고 이러한 Photon의 구성 요소는 다음과 같다
- Room : 실제 게임 플레이가 이루어지는 독립된 공간
- 인원 제한 및 비공개 여부 설정 가능
- Lobby : 방을 생성하거나 목록을 확인하고 선택하는 공간
- Master Client : 방에 가장 먼저 접속한 플레이어
- 해당 방의 환경 설정 및 게임의 중추적인 권한이 부여됨
Photon PUN은 위와 같은 구성 요소로 이루어져 있으며
최종적으로 리슨 서버 방식을 지원한다
- Photon Server Setting 관련 설정

Photon PUN 패키지를 프로젝트에 설치하고 Photon 클라우드와 연동하면
프로젝트의 네트워크 관련 설정을 담고 있는 Photon Server Setting 애셋이 생성된다
해당 애셋에서 설정할 수 있는 속성은 다음과 같다
- 1) App ID Pun : 같은 게임을 플레이하기 위해 반드시 동일한 ID를 사용해야 함
- 2) Fixed Region : 기본적으로 사용자와 가장 가까운 서버에 자동 연결됨

Unity에서 프로젝트를 빌드하는 경우 Development Build 속성에 관해 다음과 같이 처리할 수 있다
- Development Build 체크 : 프로젝트에 대한 모든 사용자가 동일한 서버로 연결
- Development Build 체크해제 : 각각의 사용자가 가장 가까운 서버로 연결
- PUN 스크립트 작성의 구성요소
Photon PUN 기반의 프로그램에서 스크립트를 작성하는 방법은 다음과 같다
- Photon.Pun 네임스페이스 : Photon의 기본 기능을 사용하기 위한 필수 네임 스페이스
- MonoBehaviourPunCallbacks 클래스 : 서버와의 통신을 위해 MonoBehaviour 대신 상속
- override 사용 : 서버에서 일어나는 특정 상황에 맞춰 함수를 오버라이드하여 서버와 통신
- 기본 함수 사용 : 클라이언트에서만 동작하는 로직은 기본 함수를 사용
728x90
반응형
'유니티 엔진 - 게임 프로젝트 > Photon을 사용한 멀티 플레이어 게임' 카테고리의 다른 글
| 서버 연결 - 2) Room 입장 + 플레이어 분리 (0) | 2026.03.10 |
|---|---|
| 서버 연결 - 개선) 입력 시스템의 개선 (0) | 2026.03.10 |
| 프로젝트 세팅 - 최종) 엄지 손가락 리깅 추가 (0) | 2026.03.09 |
| 프로젝트 세팅 - 3) Cinemachine의 사용과 조준 애니메이션 (0) | 2026.03.04 |
| 프로젝트 세팅 - 개선) InputManager 추가 (0) | 2026.02.24 |