本日は HoloLens の技術調査枠です。
HoloLens で立体音響を体験するプロジェクトの作成手順をまとめます。
サンプルシーンの作成
サンプル作成のため、HoloLens(WindowsMR)
プロジェクトの基本設定を行ったプロジェクトを用意します。
bluebirdofoz.hatenablog.com
立体音響を分かりやすく体験するため、カメラを中心にオブジェクトが周回するシーンを作成します。
Hierarchy パネルの空欄を右クリックし、Create Empty を選択して GameObject を作成します。
更に作成した GameObject を右クリックし、 3D Object -> Sphere でSphere オブジェクトを作成します。
作成した Sphere オブジェクトの Transform を以下の通り設定します。
Position X:0 Y:0 Z:2 Rotation X:0 Y:0 Z:0 scale X:0.2 Y:0.2 Z:0.2
アニメーションの作成手順に従って、GameObject の Rotation の Y 軸を360度回転するアニメーションを作成します。
bluebirdofoz.hatenablog.com
以下のように設定しました。
Samples:60 キーフレーム位置:0 Rotation.X:0 Rotation.Y:0 Rotation.Z:0 キーフレーム位置:600 Rotation.X:0 Rotation.Y:360 Rotation.Z:0
GameObject が回転することで Sphere オブジェクトがカメラを中心に周回するようになります。
次に Sphere オブジェクトにオーディオを設定します。
Sphere オブジェクトを選択し、[Add Component]から[Audio Source]を検索して追加します。
適当なオーディオファイル(wav,mp3など)をプロジェクトにインポートします。
追加された[Audio Source]の[AudioClip]にインポートしたオーディオファイルを反映します。
まずはこの状態で[再生]ボタンをクリックして、プロジェクトを再生してみます。
[Audio Source]を持った Sphere オブジェクトがカメラを中心に周回しますが、音は平面的に聞こえ続けてしまいます。
立体音響の設定
ここから立体音響を実現するための設定を行います。
メニューから Edit -> Project Settings -> Audio を開きます。
Inspector ビューに AudioManager が開くので、[Spatializer Plugin]の設定を[MS HRTF Spatializer]に変更します。
再び Sphere オブジェクトを選択し、[Audio Source]の設定を以下のとおり変更します。
1.[spatialize](空間化の有効化)をチェックする。
2.[spatialBlend](3D立体化の計算)を1.0に設定する
docs.unity3d.com
2019/05/15追記。
更に[3D Sound Settngs]の項目を開くと、距離による音の減衰や変化についても設定できます。
改めて[再生]ボタンをクリックして、プロジェクトを再生してみます。
カメラを中心に周回する Sphere オブジェクトの方向から立体的に音が聞こえるようになります。
そのまま HoloLens にインストールすると HoloLens で立体音響を体験できます。
視野外に隠れた Sphere オブジェクトを音を頼りに追う事ができます。