Google VRでのSpatial Audio(音再生)についてです。

Spatial Audioとは

VRは名前のとおり、仮想的な現実空間を構築することを目的としています。現実空間においては音源の方向に向いていれば、音ははっきり聞こえるし、壁や床からの反射音も含めた音を聞いています。
VRで聞こえる音についても音源からの距離や向きなどにより聞こえ方が変わることを目的とした機能となります。

Unityの"Spatializer Plugin"の設定

最初に、この"Spatializer Plugin"の設定を行う必要があります。
これを設定していないと、音空間の設定が出来ないためか、全く音が聞こえないです。
(これを知らなかったために約1日悩みましたorz)

設定はUnityのメニュー"Edit" - "Project Settings" - "Audio"の"Spatializer Plugin"を「GVR Audio Spatializer」に変更します。

GvrAudioSourceを追加

Unityでは音源を追加するとき、AudioSourceを使用していますが、Google VRで音を再生する場合もAudioSourceで音を再生することができます。ただし、Spatial Audioに対応する場合、GvrAudioSourceで音を再生させる必要があります。
※ AudioSourceでは音は聞こえますが、Spatial Audioに対応していないため、音源に近づいても音量が増加しないです。
GvrAudioSourceの使い方はAudioSourceとほぼ同じで、GameObjectにアタッチして、「AudioClip」プロパティに音源ファイルを設定することで使用可能となります。

GvrAudioListenerをGameObjectにアタッチ

Spatial Audioが有効な音を聞くために、GvrAudioListenerをアタッチする必要があります。 ここを見ると、AudioListenerをアタッチしているGameObjectにGvrAudioListenerをアタッチする必要があるように見えますが、他のGameObjectにアタッチしても音自体は聞こえます。ただ、通常はAudioListenerと同じGameObjectにアタッチするのが良いと思いますが。 また、AudioListenerはそのままアタッチしておく必要があります。外すとSpatial Audioが無効になってしまいます。

サンプルアプリ

ここにサンプルアプリを置きました。
試してみる場合は、以下の手順で確認してみてください。
  1. ここから環境をクローン
  2. サブモジュールが2つ組み込まれているので、それぞれを取り込む
  3. ブランチをタグ"v0.0.2"に切り替える
  4. 「Google VR for Unity」(v1.7.00)のパッケージをここから取得し、先の環境にインポート
  5. 環境をビルドし、アプリをインストール
  6. 起動するとメニューが表示されるので「Spatial Audio」を選択
  7. タッチパッドをクリックすると灰色の直方体が表示され、そこから猫の鳴き声が聞こえます(直方体をクリックすると直方体が消えて、鳴き声も聞こえなくなります)

コメントの投稿