Photon 연결(PUN2 편)
입문
예전에는 PUN을 사용하는 연결 방법을 투고했지만 PUN2도 기사를 쓸 수 있기 때문이다.지난번 내용과 덮어쓰는 부분이 있으니 저쪽을 참조하세요.PUN을 가져오면 AppID를 입력하기 전에 PUN2를 가져오는 경우를 제외하고는 동일합니다.
Photon에 연결
https://qiita.com/uroshinse/items/004b47562e202be10b72
PUN2 가져오기(Photon Unity Network2)
PhotonServerSettings
가져오기 후 AppID 입력이 원활하면 App Id Realtime에 설정이 자동으로 반영되는지 확인합니다.입력이 없으면 반드시 입력하십시오.
방 만들기에서 연결까지의 스크립트
힐라 키에 Photon(공 Game Object)을 만들고 다음 스크립트를 만든 후 Photon(공 Game Object)에 스크립트를 추가합니다.using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
namespace PhotonPractice{
public class PhotonLogin : MonoBehaviourPunCallbacks {
//ゲームバージョン指定(設定しないと警告が出る)
string GameVersion = "Ver1.0";
//ルームオプションのプロパティー
static RoomOptions RoomOPS = new RoomOptions()
{
MaxPlayers = 2, //0だと人数制限なし
IsOpen = true, //部屋に参加できるか
IsVisible = true, //この部屋がロビーにリストされるか
};
// Use this for initialization
void Start () {
//PhotonCloudに接続
Debug.Log("PhotonLoing");
//ゲームバージョン設定
PhotonNetwork.GameVersion = GameVersion;
//PhotonServerSettingsファイルで構成されたPhotonに接続。
PhotonNetwork.ConnectUsingSettings();
}
//クライアントがマスターサーバーに接続されたときに呼び出される。
public override void OnConnectedToMaster()
{
//ルームへの参加 or 新規作成
PhotonNetwork.JoinOrCreateRoom("Photonroom",RoomOPS, null); //("ルームの名前",ルームオプションの変数,新規ルームを一覧したいロビー。nullで無視)
}
//ルーム作成して入室に成功したときに呼び出される。
public override void OnJoinedRoom()
{
//Room型とPlayer型の指定。
Room myroom = PhotonNetwork.CurrentRoom; //myroom変数にPhotonnetworkの部屋の現在状況を入れる。
Photon.Realtime.Player player = PhotonNetwork.LocalPlayer; //playerをphotonnetworkのローカルプレイヤーとする
Debug.Log("ルーム名:" + myroom.Name);
Debug.Log("PlayerNo" + player.ActorNumber);
Debug.Log("プレイヤーID" + player.UserId);
//この部分はニックネームを決めるためのもので、入力は不要です。
if(player.ActorNumber == 1)
{
player.NickName = "わたしは1です";
}
Debug.Log("プレイヤー名" + player.NickName);
Debug.Log("ルームマスター" + player.IsMasterClient); //ルームマスターならTrur。最初に部屋を作成した場合は、基本的にルームマスターなはず。
}
//入室失敗したときに呼び出される動作。
public override void OnJoinRandomFailed(short returnCode, string message) {
Debug.Log("入室失敗");
//ルームを作成する。
PhotonNetwork.CreateRoom(null, RoomOPS); //JoinOrCreateroomと同じ引数が使用可能。nullはルーム名を作成したくない場合roomNameを勝手に割り当てる。
}
//ルーム作成失敗したときの動作。
public override void OnCreateRoomFailed(short returnCode, string message) {
Debug.Log("作成失敗");
}
}
}
재생 버튼을 누르면 다음 그림이 표시됩니다.
끝내다
이번에는 단지 연결일 뿐, 다음에는 유저 조작을 포함한 보도를 쓸 계획이다.
참고 자료
VR-studies: https://github.com/yumemi-inc/vr-studies/wiki
문서:https://doc-api.photonengine.com/en/pun/v2/index.html
Reference
이 문제에 관하여(Photon 연결(PUN2 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uroshinse/items/38b2922ffa1f5dbca3aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
namespace PhotonPractice{
public class PhotonLogin : MonoBehaviourPunCallbacks {
//ゲームバージョン指定(設定しないと警告が出る)
string GameVersion = "Ver1.0";
//ルームオプションのプロパティー
static RoomOptions RoomOPS = new RoomOptions()
{
MaxPlayers = 2, //0だと人数制限なし
IsOpen = true, //部屋に参加できるか
IsVisible = true, //この部屋がロビーにリストされるか
};
// Use this for initialization
void Start () {
//PhotonCloudに接続
Debug.Log("PhotonLoing");
//ゲームバージョン設定
PhotonNetwork.GameVersion = GameVersion;
//PhotonServerSettingsファイルで構成されたPhotonに接続。
PhotonNetwork.ConnectUsingSettings();
}
//クライアントがマスターサーバーに接続されたときに呼び出される。
public override void OnConnectedToMaster()
{
//ルームへの参加 or 新規作成
PhotonNetwork.JoinOrCreateRoom("Photonroom",RoomOPS, null); //("ルームの名前",ルームオプションの変数,新規ルームを一覧したいロビー。nullで無視)
}
//ルーム作成して入室に成功したときに呼び出される。
public override void OnJoinedRoom()
{
//Room型とPlayer型の指定。
Room myroom = PhotonNetwork.CurrentRoom; //myroom変数にPhotonnetworkの部屋の現在状況を入れる。
Photon.Realtime.Player player = PhotonNetwork.LocalPlayer; //playerをphotonnetworkのローカルプレイヤーとする
Debug.Log("ルーム名:" + myroom.Name);
Debug.Log("PlayerNo" + player.ActorNumber);
Debug.Log("プレイヤーID" + player.UserId);
//この部分はニックネームを決めるためのもので、入力は不要です。
if(player.ActorNumber == 1)
{
player.NickName = "わたしは1です";
}
Debug.Log("プレイヤー名" + player.NickName);
Debug.Log("ルームマスター" + player.IsMasterClient); //ルームマスターならTrur。最初に部屋を作成した場合は、基本的にルームマスターなはず。
}
//入室失敗したときに呼び出される動作。
public override void OnJoinRandomFailed(short returnCode, string message) {
Debug.Log("入室失敗");
//ルームを作成する。
PhotonNetwork.CreateRoom(null, RoomOPS); //JoinOrCreateroomと同じ引数が使用可能。nullはルーム名を作成したくない場合roomNameを勝手に割り当てる。
}
//ルーム作成失敗したときの動作。
public override void OnCreateRoomFailed(short returnCode, string message) {
Debug.Log("作成失敗");
}
}
}
이번에는 단지 연결일 뿐, 다음에는 유저 조작을 포함한 보도를 쓸 계획이다.
참고 자료
VR-studies: https://github.com/yumemi-inc/vr-studies/wiki
문서:https://doc-api.photonengine.com/en/pun/v2/index.html
Reference
이 문제에 관하여(Photon 연결(PUN2 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uroshinse/items/38b2922ffa1f5dbca3aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Photon 연결(PUN2 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uroshinse/items/38b2922ffa1f5dbca3aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)