LoginSignup
7
9

More than 3 years have passed since last update.

PhotonVoice2 で、Unity に超単純な通話機能を実装するだけ

Last updated at Posted at 2020-10-04

この文書について

この文書では、PhotonVoice2 を用いての、Unity の音声通話機能の実装の手順を説明します。Photon Voice のデモ「DemoVoiceMinimal」を基にした実装方法です。

PhotonVoice2 の実装方法を色々探したとき、PhotonVoiceClassic (旧バージョン) ばかり見つかったので、2 の実装をメモ。

Photon Realtime での、モデルの位置やモーション同期については、この記事では触れていません。

Photon とは

Photon というのは、オンラインの通信を手軽にできるプラットフォーム。
通常、リアルタイムオンライン通信をするとなれば、サーバの用意を自力でする必要がありますが、Photon を利用すればその必要は無し。
(詳しい説明はここでは省略。)

Photon の準備

Photon の利用を開始するにあたって、Photon アカウントを準備する必要があります。

PunSet-1.png

アカウントを作成したら、アプリを作成。
「CREATE A NEW APP」をクリック。

PunSet-2.png

  • 「Photon Type」は「Photon Voice」に変更。
  • 「Name」は、適宜分かる名前を登録。
  • 「Description」は、任意で。
  • 「URL」は空のままでも問題無し。

以上を入力し、「CREATE」をクリック。

PunSet-3.png

「Your Photon Cloud Applications」というページに移ると、アプリ名とグラフが追加されます。
アプリを複数作っていると、この枠がアプリの数だけ表示されます。

ここの画面で、作成したアプリ ID が確認できます。
このアプリ ID を使うことになるので、コピーして控えておきましょう。
(ID をクリックすると、ID 全体が選択した状態になる。)

Photon アカウント、サーバの準備はこれでおしまい。

Unity の Asset の準備

PunSet-Unity-1.png

Asset Store から Photon Voice 2 をダウンロード、インポートしておきます。
Photon Voice Classic というのは旧バージョンのもの。ここでは 2 を使用します。

(Asset Store の説明によると、Photon Voice Classic は、Unity 2020以降はサポート外。)

PunSet-Unity-2.png

Photon Voice 2 をプロジェクトにインポートすると、「PUN Setup」というセットアップ画面が出ます。
ここで、先程取得した Photon のアプリ ID を、「AppId or Email」欄に入力し、「Setup Project」を押します。

ここで入力したアプリ ID を変更したい場合や、その他サーバ設定は、上のメニューバーWindow > Photon Unity Networking > Highlight Server Settingから行うことができます。

PunSet-Unity-3.png

画面右側に Inspector が表示されます。

PunSet-Unity-4.png

これで、Unity 側の Photon の準備はおしまい。

GameObject の準備

MakeGObj-1.png

Hierarchy ボックスを右クリックし、「Create Empty」を選択。

MakeGObj-2.png

適宜、分かりやすい名前に変更。ここでは、「PhotonVoiceSync」という名前にしておきます。

生成した GameObject を選択した状態にし、画面右側に Inspector を表示。

MakeGObj-3.png

GameObject に以下のスクリプトを追加します。

  • Voice Connection
  • Recorder
  • Connect And Join

MakeGObj-4.png

そして、Voice Connectionに、次のような設定をします。

  • App Id Voiceに、取得した Photon のアプリ ID を。
  • Fixed Regionを、jpに。(これは設定しなくても動く。)

それから、Recorderをドラッグし、Voice ConnectionPrimary Recorderにドロップ。

MakeGObj-5.png

RecorderDebug Echoにチェックを入れると、自身のデバイスの声が聞けるようになります。
デバッグ、音声テストに利用できます。

MakeGObj-6.png

以上、全ての準備が終わったら、あとは Scene を保存してビルド。
何とびっくり、スクリプトを 1行も書くことなく、シンプルな通話機能の実装ができてしまうのだ。

(ちなみに、画面上のアバターの位置に応じて、左右バランスや音量が変わり、あたかもモデルから声が発せられているような実装もできるらしい。)

Linux での Photon Voice 2 について

この Photon Voice 2 ですが、記事執筆時点では Linux 非対応です。
Photon の更新ログによると、v2.20 で、Linux の opus (音声の圧縮フォーマット) ライブラリが削除されたようです。

   終
製作・著作
━━━━━
  ⓝⓗⓚ

Linux が見捨てられたことに気付かず、私は数時間溶かしました。(半ギレ)

7
9
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
7
9