Oculus+ヘッドフォンを利用している利用者などに、外部から入力したマイクでのアナウンス音声をリアルタイムにシーン中でストリーミング再生するシナリオを実現します。
Mic Controlアセットを使って実現しましょう。
アセットをダウンロードし、インポートします。
空のGameObjectを作成し、「Assets」-「MicControl」-「Javascript version(Original)」内にあるMicControlスクリプトを先ほど作成した空のGameObjectにアタッチします。
Muteプロパティのチェックを外します。
再生してみましょう。
マイク(パソコンにつながっている物理的なマイク)から入力した音声がスピーカーから聞こえるはずです。ハウリングするのでイヤホンをつけて試してみましょう。
さて、ここでMicControlを追加したオブジェクト自体はスピーカーのマークが表示され、シーン内の場所を移動することができます。ただ、残念なことにこのMicControlは3Dオーディオには対応していないために、音源の場所を変更しても左右のスピーカーから聞こえる音は変化しません。
Mic Controlの作者であるAlzheimer StudioのMark Duistersに3Dオーディオオプションつけてよとメールしてみたところ、快くOKのお返事頂きました。時間ができたら実装してアップデートしていただけるとのこと。素晴らしい。
ちなみに、MarkはJS版の開発を行っていて、C#版はコミュニティのメンバーが移植してくれているらしいです。
Mic Controlでは、Exampleも同梱されてて、そこでは、マイク入力音声の大きさを取得するサンプルが紹介されています。。
JavaScriptコードを下記のように作成し、例えばCUBEにアタッチすると声の大きさに合わせてCUBEのサイズが変化します。
function Update () { //scales the gameObject heigt based on input stream gathered from MicControl.loudness transform.localScale=Vector3(1,MicControl.loudness,1); }
追記 2014/10/30
Markにメールして10時間後に3Dオーディオオプション実装したよ!と返信もらいました。早い!!
今週末にはAsset Storeに反映される予定だそうです。チュートリアルビデオはもう作成されたようです。