Oculus Audio SDK の Oculus Spatializer Unity を使ってみる【Oculus Integration】

Unity標準の3Dサウンド

Unity標準のサウンド機能はVRコンテンツ制作の場合に最適化されてません.
そのため,OculusなどがVRでの音再生に特化したプラグインが提供されてます.
Oculusの場合は,Oculus Audio SDKがOculus Integrationで提供されてます.
早速利用してみました.

環境

Unity 2019.3.11f1 Oculus Integration 17.0

Oculus Integration を Import する際に Spatializerのフォルダもチェックが必要です.

手順

  • Edit > Project Settings > Audio を開く
  • Spatializer Pluginに OculusSpatializer にする
  • DSP Buffer Sizeを Best latency にする

f:id:xrdnk:20200702223701p:plain

  • 音源となる適当なオブジェクトを配置する.
  • Audio Sourceを追加し,適当なAudio Clipを追加.Audio Source を Loop するために Loop を On.
  • 音源オブジェクトに対して ONSP Audio Source スクリプトをアタッチする.
  • Oculus Attenuation 項目の Enabled を On にする.

f:id:xrdnk:20200702223650p:plain

これで完了です.聴いてみてください.

標準の3Dサウンド設定,及び比較

実際にOculus Spatialize Unityを使わない版と比べて聴いてみると違いが出てくると思います.
使わない版での3Dサウンド設定方法は以下の通りになります.設定後に比較してみてください.

  • ONSP Audio Source スクリプトをOFF
  • Audio Source の Spatial Blend を 1 にする → 3Dになる
  • Mix Distance を 0.25 にする (この項目は音源の振幅が減衰を開始する距離です)
  • Max Distance を 200 にする (この項目は音源の振幅減衰が最大に達する距離です)

f:id:xrdnk:20200702223617p:plain

ONSP Audio Source

  • Spatialization Enabled : ONSP (Oculus Native Spatializer) を有効にするか否か
  • Reflections Enabled : 音の反射を有効にするか否か
  • Gain : Audio Source の音源音量
  • OCULUS ATTENUATION Enabled : 距離による音量減衰を有効にするか否か
  • RANGE Minimum : 音源の振幅が減衰を開始する距離
  • RANGE Maximum : 音源の振幅減衰が最大に達する距離
  • VOLUMETRICS RADIUS : 音の発生源の大きさ.点音源の場合は0で問題なし.
  • Reverb Send Level : 音の残響レベルの設定

各プロパティをイジって試してみてください.
次回は音の反射設定について書こうと思います.

参考記事

qiita.com

developer.oculus.com