#この記事について
Photon * Unityでボイスチャットを実装しました。
参考にしたところが3Dモデル使ったり、動きの同期も取ったりして凝っていたのでこの記事ではボイスの同期だけの手順を簡単にまとめました
#準備するもの
・Unity 2018.1
・Photon Voice
・Photon ランタイムアプリケーションID
・Photon VoiceアプリケーションID
Unityの準備
Photon VoiceのImport
Photon VoiceをImpotします。
ImportしたらWindow->Photon Unity Networking->Highlight Server Settingsをクリック
設定を以下の通りにします
Hosting : Photon Cloud Region : Jp AppId : ランタイムアプリケーションID VoiceAppId : VoiceアプリケーションID Auto-Join Lobby: On
Prefabの作成
Photonで同期させるPrefabを作ります
ProjectにResourcesフォルダを作成して、適当にGameObjectをPrefabにします。
Cubeでも空のGameObjectでもなんでもいいです。
僕は同期が取れたのを確認しやすいためにCubeで行います。
名前もCubeで作成します。
PrefabにしたGameObjectに以下のComponentを付けます
- Photon Voice Recorder
- Photon View
Photon Voice Recorderをつけると自動的に複数のComponentが付きます
Photonの同期
Photonの同期のScriptを作成します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VoiceDemo : MonoBehaviour {
private string cubeName = "cube";
void Start () {
PhotonNetwork.ConnectUsingSettings("0.1");
}
void OnJoinedLobby() {
RoomOptions options = new RoomOptions() {
isVisible = false,
maxPlayers = 4
};
PhotonNetwork.JoinOrCreateRoom("room",options,TypedLobby.Default);
}
void OnJoinedRoom() {
PhotonNetwork.Instantiate(
cubeName,
Vector3.zero,
Quaternion.identity,
0
);
}
}
あとはこれを空のGameObjectに付けて、終わりです。
Editorとビルドしたアプリで実行したり、Androidなどの端末にビルドしてテストしてみてください。
まとめ
今回やったことの簡単なまとめ
・ランタイムアプリケーションIDとVoiceアプリケーションIDの設定
・Instantiate用のGameObject作成
・Instantiate用のGameObjectにPhoton Voice ViewとPhoton Viewをつける
・Photonのロビーとルームに入るスクリプトを書く
意外と簡単にボイスチャットは出来ました。
Photonすごい。