夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

ゼロから学ぶHoloLens 初心者向けチュートリアル HoloLensの五大要素を学ぶ 空間音響

チュートリアル枠です。

今回自分が3年前HoloLens に初めて触れ右も左もわからない中開発を行った頃の自分に向けてチュートリアルを作成します。

〇HoloLensで空間音響を使用しよう!

 今回はHoloLensアプリ開発環境を1から構築することを目的とします。 下のようなテーマで書いていこうと思います。

1.Unityの環境を構築しよう!

2.MRTKを使おう!MRTKとは何か?

    UnityEditorでMRTKを使おう

    アプリをUnityからビルドしよう。

    HoloLens実機にデプロイしよう

    

3.HoloLensの5大要素を学ぶ

      空間認識機能を実装する

      空間認識の表現

       AirTapの実装

      オブジェクトを動かす

  ・空間音響を使う。←本日はこちら

4.応用編

〇環境

・Unity2019.4.18f1(LTS)

・VisualStudio2019

●筆者PC環境

 ・OS:Windows10 Pro

 ・プロセッサ:11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz 3.50 GHz

 GPU:NVIDIA GoForceRTX 3080

 Microsoft HoloLens 1st

Microsoft HoloLens 2

 スペックに関しては高いほうが良いですが、HoloLensアプリ開発の場合VRと比べ求められるスペックは低いです。

 VRアプリ開発の場合PC自体がVRReady(VRゲームを実行できる環境)であることがほぼ必須ですが、HoloLensの場合VRReadyではなくても開発自体はできます。

 Unityが動くスペックであれば最低限問題ないです。

〇空間音響とは?

[空間音響(SpatialSounds)]はHoloLensだけではなく多くのxRデバイスにおいて使用できるサウンド機能です。

[空間音響]を使用することで、視野角外にあるオブジェクトの方向や距離を直感的に認識できます。

 この機能はMicrosoftEdgeなどでも体験することができ、HoloLens上でブラウザ経由で音楽などを流した場合音源の場所がわかることを見れます。

 今回はこの機能をHoloLens アプリで導入します。

①以下のリンクの[Release]から[Microsoft Spatializer]をダウンロードします。

github.com

f:id:Holomoto-Sumire:20210608205249j:plain

MixedReality以外のプロジェクトでも使用できるように公開されているためMRTKなどとは別に公開されているようです。

なおこれはHoloLens 2のみに対応しているためHoloLens 1stを使用する場合はこの工程を飛ばします。

②ダウンロードしたUnityPackageをUnityのプロジェクトにインポートします。

f:id:Holomoto-Sumire:20210608205432j:plain

③Unity上部のワールドタブから[Edit]→[ProjectSettings]を開き[ProjectSettings]のタブ[Audio]を開きます。

f:id:Holomoto-Sumire:20210608205729j:plain

④[Spatializer]の設定から[Microsoft Spatializer]を選択します。 HoloLens 1stを使用する場合は[MSHRTF Spatializer]を選択します。

f:id:Holomoto-Sumire:20210608205935j:plain

⑤適当なゲームオブジェクトに[AudioSource]コンポーネントを追加します。

f:id:Holomoto-Sumire:20210608210241j:plain

⑥[AudioClip]に適当な音源を設定します。ここではMRTKで提供されている[PolyHover]を指定しました。

f:id:Holomoto-Sumire:20210608210643j:plain

これで音が流れるようになりますが、この状態ではまだ空間音響が有効になってはいません。

⑦[Spatilize]を有効にし[SpatialBlend]を3Dに切り替えます。

f:id:Holomoto-Sumire:20210608210948j:plain

これで空間音響が有効になりました。

⑧[Min Distance]と[Max Distance]の値を切り替えます。

f:id:Holomoto-Sumire:20210608211131j:plain

この値は空間音響では音源から遠くに離れるにつれ音が減衰しますが、この距離の設定になります。

以上で空間音響が使用できるようになります。