Photon
Photon Unity Networking (PUN) is a Unity package for multiplayer games. Flexible matchmaking gets your players into rooms where objects can be synced over the network.
1. 포톤 데쉬보드 만들기
Your Photon Cloud | Photon Engine
2. 유니티 에셋스토어에서 PUN 2 - FREE 다운로드
3. Window - Photon Unity Networking - Highlight Server Setting
아이디 복사해서 붙여넣기
TCP / UDP
TCP 와 UDP 차이를 자세히 알아보자 (velog.io)
4. 빈 게임 오브젝트로, C# 스크립트로 NetworkManager 생성
5. NetworkManage 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
// 서버 클라간의 통신 : 요청(Request)- 응답(Response), Write / Read,Send / Receive
// 1. 접속 요청
// 2. 접속 응답 - 성공(로비 입장 요청)/ 접속 실패
// 3. 로비입장 응답 - 성공(방 입장 요청)/ 접속 실패
// 4. 방 입장 응답- 성공(콘텐츠 진행) / 실패(방 생성 요청)
// 5. 방 생성 응답 - 성공(콘텐츠 진행) / 실패
public class NetworkManager : MonoBehaviourPunCallbacks
{
// Start is called before the first frame update
void Start()
{
// 1. 접속 요청
PhotonNetwork.ConnectUsingSettings();
print("ConnectUsingSettings");
}
public override void OnConnectedToMaster()
{
print("OnConnectedToMaster");
base.OnConnectedToMaster();
// 2. 접속 응답 - 성공(로비 입장 요청)/ 접속 실패
PhotonNetwork.JoinLobby();
print("JoinLobby");
}
public override void OnJoinedLobby()
{
print("OnJoinedLobby");
base.OnJoinedLobby();
// 3. 로비입장 응답 - 성공(방 입장 요청)/ 접속 실패
PhotonNetwork.JoinRandomRoom();
}
//랜덤룸 실패
public override void OnJoinRandomFailed(short returnCode, string message)
{
base.OnJoinRandomFailed(returnCode, message);
// 4. 방 입장 응답- 실패(방 생성 요청)
PhotonNetwork.CreateRoom("MyRoom", new RoomOptions()
{
MaxPlayers = 10,
IsOpen = true,
IsVisible = true
});
print("CreateRoom");
}
public override void OnCreateRoomFailed(short returnCode, string message)
{
print("OnCreateRoomFailed");
base.OnCreateRoomFailed(returnCode, message);
}
//랜덤룸 성공
public override void OnJoinedRoom()
{
print("OnJoinedLobby");
base.OnJoinedRoom();
//방 입장 성공!! Goal
PhotonNetwork.Instantiate("Player",Vector3.zero,Quaternion.identity);
}
}
6. Player 만들기
7. 빌드해서 플레이어 두개 생기는지 확인해보기
'Unity' 카테고리의 다른 글
ML-Agents를 이용해서 무한 러닝 게임 만들기 (0) | 2021.09.02 |
---|---|
Unity procedural animation tutorial (0) | 2021.08.31 |
ML-Agents : 에이전트, 브레인, 아카데미 (0) | 2021.08.10 |
코루틴 WaitUntil (0) | 2021.08.05 |
오디오 믹싱 + 최종 빌드 (0) | 2021.07.22 |
댓글