Photon Lobby
Room 에 들어가기 전의 중단 단계
현재 생성된 방 목록을 받아오는 공간이다.
아직 게임은 시작되지 않았고 서버 ( Photon Engine )와 연결되어 매칭 준비를 하는 곳
PhotonNetwork.JoinLobby();
public override void OnJoinedLobby()
{
Debug.Log("로비 입장 완료");
}
Lobby 에서 할 수 있는 것
- 방 목록 조회 ( Room List )
- 방 생성 / 방 선택
- 랜덤 매칭 시도
- 유저 대기 상태 관리
Photon Room
멀티플레이에서 플레이어들이 함께 접속해 게임 상태를 공유하는 가상 방
같은 방에 들어온 사람들끼리만 서로의 행동이 보이는 공간이다.
- 플레이어 그룹 단위 공간
- 같은 Room 에 있는 플레이어끼리만 동기화 ( RPC, Transform, 상태 ) 된다.
- Room 밖의 플레이어와는 완전리 분리된다.
Room 안에서 가능한 것
- 플레이어 입장 / 퇴장
OnPlyaerEnteredRoom , OnPlayerLeftRoom - 네트워크 오브젝트 생성
PhotonNetwork.Instantiate() - 데이터 공유
Room Properties , Player Properties - 게임 시작 조건 제어
인원 수 , 방장 ( Master Client ) 기준
PhotonNetwork.CreateRoom("Room01"); // 방 생성
PhotonNetwork.JoinRoom("Room01"); // 기존 방 입장
PhotonNetwork.JoinRandomRoom(); // 랜덤 방 입장
Master Client ( 방장 )
- Room 안에서 대표 플레이어
- 서버가 아닌 클라이언트 중 1명
- 주로 담당하는 역할
└ 게임 시작 트리거
└ 몬스터 / 아이템 스폰 관리
└ 방 상태 제어
방장이 나가면 자동으로 다른 플레이어가 승계 , 또는 방이 깨짐
| Lobby | 방 목록을 보고 입장할 곳을 고르는 대기 공간 |
| Room | 실제로 게임이 진행되는 공간 |
전체 흐름
- 타이틀 씬
└ 서버 연결만 처리 - 로비 씬
└ Lobby 입장
└ 방 목록 UI
└ 방 생성 / 입장 버튼 - 게임 씬
└ Room 입장 후 로드
└ 네트워크 오브젝트 생성
'🌍Network' 카테고리의 다른 글
| Firebase (0) | 2026.01.08 |
|---|---|
| RPC ( Remote Procedure Call ) (0) | 2026.01.07 |
| IPunObservable (0) | 2026.01.07 |
| Photon View (0) | 2026.01.07 |
| 네트워크 기초 (0) | 2026.01.05 |