LoginSignup
20
20

More than 5 years have passed since last update.

超簡単!Photonでボイスチャット!

Last updated at Posted at 2018-07-30

この記事について

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

スクリーンショット 2018-07-30 19.18.13.png

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を作成します。

VoiceDemo
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すごい。

参考記事

Photon RealtimeとPhoton Voice でマルチ通信
PUN Voiceデモ

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20