UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-


UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-


UnityのネットワークエンジンサービスであるPUN(Photon Unity Networking)について解説していくシリーズ記事です。

<前回までの記事一覧>
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -準備編-
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -同期編-

今回はシリーズ3回目、ルームオプション編です。PUNのルーム作成時のオプション設定方法について紹介していきます。

PUNはバージョン1.73を使用しています。

ルームオプションの設定


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で主観カメラへの切り替えと、プレイヤーの移動方法について
【注目】Unityでマウスホイールでカメラの向きにドリーイン・ドリーアウトさせる
【知らないと危ない】UnityのactiveSelfとactiveInHierarchyの違いについて
【鉄板】Unityでカメラの向きを基準に移動する方法と、追従して回転できるカメラの実装

Unityの記事一覧にもどる

  • このエントリーをはてなブックマークに追加

PAGE TOP