LoginSignup
5
0

More than 1 year has passed since last update.

【Unity】PhotonFusion + PhotonVoice2 導入方法【ボイスチャット】

Last updated at Posted at 2022-12-05

本記事はUnityアドベントカレンダー2022 その2 6日目に参加しております。
5日目: Unityと箱庭 (@kaizen_nagoya )
6日目: 本記事
7日目: Samplerが消える問題 (@ayaha401 )

TL;DR

日本語ドキュメントは翻訳が未対応の場合もあるので
基本的には1次ソースの英語公式ドキュメントを見ながらやればOK

背景

PhotonVoice2 v2.5.0 で結構な破壊的変更や既存クラスのリネーム等がありました。
しかし記事執筆時点(2022年11月25日 現在) では 日本語公式ドキュメント がメンテ未対応のため、日本語ドキュメント通りに導入しようとすると詰む状態でした。

そこでPhotonFusion + PhotonVoice2 の導入フローを備忘録を兼ねて紹介します。

検証環境

項目 環境
Unity 2021.3.14f1
OS MacOSX 12.4
検証端末 Pixel6, Pixel7 Pro
PhotonFusion v1.1.4
PhotonVoice2 v2.5.0

導入フロー

フローとしては以下のようになります。

  1. Unityを入れる
  2. Unity でProjectを作る
  3. Photon アカウントを作る
  4. PhotonのダッシュボードでPhotonFusion アプリを作る
    a. PhotonFusion 利用のためのAppId を発行する
  5. PhotonのダッシュボードでPhotonVoice アプリを作る
    a. PhotonVoice 利用のためのVoiceAppId を発行する
  6. PhotonFusionを導入
    a. 公式からUnityPackage をDL
    b. 2のProjectにImport
  7. PhotonVoice2 を導入
    a. AssetStoreでPhotonVoice2 を検索&MyAsset に追加
    b. PackageManager 経由でDL&Import
    c.
  8. PhotonのConfigファイルに4-a, 5-a で手に入れたIDを入力
  9. サンプルで動作チェック

1. Unityを入れる

2022年なのでUnityHub 経由で入れましょう.

2. Unity でProjectを作る

こちらに関しては新規Projectでも良いし、既存Project でも構いません。
状況に応じて適切な方を選択ください。

3. Photon アカウントを作る

  1. アカウントがなければ https://id.photonengine.com/Account/SignIn からCreteOne... を選択してアカウントを発行してください。
    スクリーンショット 2022-11-30 12.27.47.png
  2. メールアドレスを入力して人間アピールしてRegister ボタンを押せば登録用のメールアドレスが来るのでそこから本登録してください。スクリーンショット 2022-11-30 12.54.54.png

4. PhotonのダッシュボードでPhotonFusion アプリを作る

  1. 3で作ったPhotonアカウントでダッシュボード(https://dashboard.photonengine.com/ja-JP/) にログインしてください。
  2. 新しくアプリを作成するを選択
    スクリーンショット 2022-11-30 12.58.06.png
  3. 種別は Fusion を選択、アプリ名を設定した後に作成するボタンを押します
    スクリーンショット 2022-11-30 13.03.50.png

a. PhotonFusion 利用のためのAppId を発行する

4 で作った後にダッシュボードで先ほど作ったアプリが表示されています。
ここのアプリケーションIDをクリックすると全部が表示されるます。
このIDを後に使うので覚えておいてください。
fusionApp.png

5. PhotonのダッシュボードでPhotonVoice アプリを作る

  1. 3で作ったPhotonアカウントでダッシュボード(https://dashboard.photonengine.com/ja-JP/) にログインしてください。
  2. 新しくアプリを作成するを選択
    スクリーンショット 2022-11-30 12.58.06.png
  3. 種別は Voice を選択、アプリ名を設定した後に作成するボタンを押します
    スクリーンショット 2022-11-30 13.08.26.png

a. PhotonVoice 利用のためのVoiceAppId を発行する

5 で作った後にダッシュボードで先ほど作ったアプリが表示されています。
ここのアプリケーションIDをクリックすると全部が表示されるます。
このIDを後に使うので覚えておいてください。
voiceApp.png

6. PhotonFusionを導入

a. 公式からUnityPackage をDL

https://doc.photonengine.com/ja-JP/Fusion/current/getting-started/sdk-download
画像の赤線を引いたリンクの部分から、UnityPackage をDLできます。
スクリーンショット 2022-11-30 16.21.15.png

b. 2のProjectにImport

UnityのProjectウィンドウにDrag&Drop

6. PhotonVoice2 を導入

a. AssetStoreでPhotonVoice2 を検索&MyAsset に追加

上記ページからアクセスして、ご自身のUnityアカウントでAssetをカートに入れて購入(無料)してMyAssetに追加してくだあい。

b. PackageManager 経由でDL&Import

  1. Unity のToolBarより WindowPackageManager と選択
  2. PackageManagerウィンドウ上で Packages をMyAsset にして 検索窓で voice と入力することで表示されるはずです。
    出てこない場合は以下をお試しください。
    1. UnityHub と6-aのアカウントがリンクされてない
    2. UnityHub でアカウントをサインアウトして再度サインインする
    3. 6-aがカートに追加までで購入処理(MyAssetへ追加)まで出来ていないので再度購入フローを試す
  3. Download ボタン押下後、Importボタンを押す
    スクリーンショット 2022-11-30 16.24.44.png

c. PhotonVoice Import 上の注意

・ Uncheck "Photon\PhotonChat" .
・ Uncheck these folders:
  ・  "Photon\PhotonUnityNetworking"
  ・  "Photon\PhotonVoice\Code\Pun"
  ・  "Photon\PhotonVoice\Demos" contents except "Photon\PhotonVoice\Fusion"

とある通り、Import 時に PhotnChat 系と PUN 系はチェックを外してください。
また、Demoが不要であれば Photon\PhotonVoice\Demos をまるっとチェック外しても良いですが、もし初めてであれば
Photon\PhotonVoice\Demos 以下の Fusion 以外はチェックを外すようにすれば PhotonFusion用のVoice2 の組み込みサンプルも導入されます。

7. PhotonのConfigファイルに4-a, 5-a で手に入れたIDを入力

  1. Unity 上で画像のように FusionRealtime Setting と選ぶと設定ファイルのScriptableObject が選択されます。
    スクリーンショット 2022-11-30 16.32.24.png
  2. 4-a, 5-a で生成したIDを入力
    id_base_01.jpeg
  3. 再度UnityのToolBarのメニューからは FusionNetworkProjectConfig を選択
  4. ConfigファイルのWeaver Settings に PhotonVoice.Fusion が追加されているのを確認する
    スクリーンショット 2022-11-30 17.04.44.png

8. サンプルで動作チェック

Assets/Photon/PhotonVoice/Demos/Fusion/DemoNetworkObject 内のSceneファイルを開き、PC同士または、ビルドしたスマホアプリと通信ができればOKです。

PhotonVoice2 v2.5.0 の更新内容

公式のReleseNote より

Code:
  - Rename VoiceConnection -> UnityVoiceClient
  - Rename PhotonVoiceNetwork -> PunVoiceClient
Fusion:
   REMOVED: FusionVoiceBridge referenced VoiceConnection
   ADDED: FusionVoiceClient extending VoiceConnection

とあるように、旧コンポーネントが削除・リネームされました。

v2.5.0現在では音声通信フローとしては以下のような形で実行されます。
PhotoVoice250.drawio.png

サンプルを拡張

ボイスチャットを行う上でまず最初に制御したいのは「マイクミュート」だと思います。
マイクミュートは 公式ドキュメント にもある通り `Recorder.TransmitEnabled` プロパティの値の切り替えで可能です。

5
0
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
5
0