HTC ViveのVRシーン内に設置したスピーカーから音を出す方法を調べました。
と言っても別にVRかどうかは関係なくaudioの設定を3Dにしただけです。
ただUnityで音を実装するのが初めてだったので、細かく書きます。
使用できる音の形式
まずここからですよね。音楽を流したくて、itunes内にあったのをデスクトップにドラッグしたら、m4aという謎の形式でunityでは受け付けてくれませんでした。
mp3とかwavとかだと受け入れてくれるらしいので、itunesでmp3に変換します。
まずitunesの環境設定から、「読み込み設定」を押し
読み込み方法をMP3エンコーダにします
その後変換したい曲を選択した状態でファイル>変換>MP3バージョンを作成を押します。
すると同名のmp3ファイルができます。
名前が同じだし拡張子表示されないのでどっちがどっちかわかりません。デスクトップにドラックして確かめてます。
できたものはunityに放り込めばそのまま使えます。
Unityで音を流す
音を流したいオブジェクトにAudio Sourceというスクリプト?をつけます。デフォルトであるので、add componentから検索で探しました。
そこのAudio clipにさっきインポートした音ファイルをつけます。
次に3Dにするには下の方にあるspetial Bland(2Dー3D)のスライダーを3D側(1)にします。
詳しい設定などはこちらのサイトを参考にしてください。
私はVolume Rolloffでどれくらい離れたらどれくらいの音量になるかをカスタマイズしました。
そして次にAudio Listenerを聞き手となるオブジェクトにつけます。
デフォルトではMain Cameraについているので、別のにつける場合は消さないといけません。
私の場合確かCameraRigの中にあるコントローラーにつけた気がします。HTC Viveの場合どこにつけるのが正解なんでしょうね?
終わり
無事近づいたら音が大きくなり、離れると小さくなるのができました。右耳左耳がちゃんとなっているかはよくわかりませんでした。
作ったのがこれです。