こんにちは、ナレコム前川です!
今回は、Microsoft公式にあるチュートリアル Holograms 220 Spatial Sound 5章 を進めていきたいと思います。
前回からの続きになるので、Holograms 220 Spatial Sound 1章から始めてください。
第5章 特殊効果
第5章では、アプリケーション内の隠された世界の入り口を作成していきます。
ゲームとかでよくある裏世界みたいなものと考えて頂ければ良いと思います。
それでは、第5章を進めて行きたいと思います。
Unityに戻って、[Build Settings] が開いている場合は閉じてください。
[Hierarchy] パネルで [HologramCollection] を展開して [Underworld] をクリックします。
[Underworld] をクリックしたら、[VoiceSource] を選択してください。
[Inspector] パネルで [Add Component] をクリックして [User Voice Effect] を検索し追加します。
そして、以下の操作を行ってください。
1. [AudioSource] で [Output] の横にある小さな丸をクリックし、 [UserVoice (Mixer)] を設定
2. [Spatialize] にチェック
3. [Spatial Blend] スライダーを [3D] までドラッグするか、エディット ボックスに ”1” を入力
4. [3D Sound Settings] を展開し、[Doppler Level] に ”0” を設定
上記の設定では、ユーザーの声に豊かさを加えるために使う
Unity の [AudioChorusFilter] のパラメーターを構成しています。
次に以下の操作を行ってください。
- [User Voice Effect] で [Parent Object] の横にある小さな丸をクリックして
[Underworld] を検索&設定 - [Max Distance] に ”1” を設定
- [User Voice Effect] の [Chorus Parameters] を展開し、[Depth] を ”0.1” に設定
- [Tap 1 Volume]、[Tap 2 Volume]、[Tap 3 Volume] を「0.8」に設定
- [Original Sound Volume] を「0.5」に設定
- [User Voice Effect] の [Echo Parameters] を展開して、[Delay] を ”300” に設定
- [Decay Ratio] を ”0.2” に設定
- [Original Sound Volume] を ”0” に設定
上記の設定では、ユーザーの声にエコーを施すために使う Unity の [AudioEchoFilter] を構成しています。
[User Voice Effect] スクリプトでは、
- このスクリプトがアタッチされる GameObject とユーザーとの距離を計測する。
- ユーザーが GameObject の方を向いているかどうかを判断する。
- AudioChorusFilter と AudioEchoFilter を AudioSource に適用して構成する。
- フィルターを無効にすることによって、効果を無効にする。
– 効果を有効にするには、距離に関係なく、ユーザーが GameObject の方を向いている必要がある。
以上のことを行います。
それでは、[Hierarchy] パネルで [Managers] を選択してください。
[Inspector] パネルで [Keyword Manager] を展開します。
[Keyword Manager] で [Keywords and Responses] -> [Show Underworld] の順に展開します。
[Response()] の [No Function] を [UnderworldBase.OnEnable] に変更してください。
次に、[Hide Underworld] を展開します。
[Response()] の [No Function] を [UnderworldBase.OnDisable] に変更してください。
配置とビルド
それでは、いつも通り配置とビルドを行います。
配置とビルドに関しては、HOLOLENS 5つのビルド方法を参照してください。
実行後、壁に顔を向けて「Show Underworld」と発話してください。
発話後、Underworldが表示されて、他のホログラムはすべて非表示になっているのを確認してください。
次に、Underworldのホログラムの 1 メートル以内に近づき、話しかけるとエコーがかかるのが分かります。
エコーがかかるのは、Underworldのホログラムに顔が向いているときのみです。
背を向けるとかからなくなります。
「Hide Underworld」と発話すると、Underworldは非表示になります。
実行動画は以下です。
HoloLensで音ありでアプリケーションを録画する際、同時にエコーをかけるとノイズのように
変換されてしまうことがわかったため、別撮りした動画を挿入しています。
第五章はこれで以上です。お疲れ様でした。