Photon 연결(PUN2 편)

9560 단어 PhotonUnityC#

입문


예전에는 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

좋은 웹페이지 즐겨찾기