UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-
UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-
UnityのネットワークエンジンサービスであるPUN(Photon Unity Networking)について解説していくシリーズ記事です。
<前回までの記事一覧>
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -準備編-
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -同期編-
今回はシリーズ3回目、ルームオプション編です。PUNのルーム作成時のオプション設定方法について紹介していきます。
PUNはバージョン1.73を使用しています。
[Unity_317×90]
ルームオプションの設定
1.ルームオプションの作成
PUNのルームは、作成時にRoomOptionsクラスを使用してオプションを設定することができます。
■ルームオプションを用いたルーム作成のサンプルスクリプトです。
// ロビーに入ると呼ばれる void OnJoinedLobby() { Debug.Log("ロビーに入りました。"); /* ルームオプションの設定 */ // RoomOptionsのインスタンスを生成 RoomOptions roomOptions = new RoomOptions(); // ルームに入室できる最大人数。0を代入すると上限なし。 roomOptions.MaxPlayers = 4; // ルームへの入室を許可するか否か roomOptions.IsOpen = true; // ロビーのルーム一覧にこのルームが表示されるか否か roomOptions.IsVisible = true; /* ルームの作成 */ /* ルームオプションを設定する場合、CreateRoomメソッドは引数3つのオーバーロードを使用します。 */ // 第1引数はルーム名、第2引数はルームオプション、第3引数はロビーです。 PhotonNetwork.CreateRoom("RoomName", roomOptions, null); }
RoomOptionsのインスタンスを生成し、設定用のプロパティに値を代入してCreateRoom()に渡しています。
RoomOptionsを使用してのオプション設定は、ルーム作成時のみ可能となっています。
もしルーム入室後にこれらのオプションを変更したい場合は、入室時の各設定をそのまま引き継いでいるRoomクラスを使用します。
また、各設定項目はRoomOptionsクラス内でプロパティとして宣言されているため、以下のようにンスタンス生成時に直接渡すこともできます。
RoomOptions roomOptions = new RoomOptions() { MaxPlayers = 4, IsOpen = true, IsVisible = true, };
ルームオプション編は以上です。
次回は、カスタムプロパティ編です。
ルームに任意の設定を追加できるようになります。
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発