レッスン 6

目次

Enviromentの中のEnvironment(Environments inside Environments)

Woodlandsの暗い森の中、あなたは 小さい 木造の小屋の横を通ります。気になって中をのぞくと、Woodlandsの全体的なサウンドスケープが、瞬時に、厚い木の壁のせいでくぐもって聞こえます

ゲームの環境ゾーンのトリガーを定義し構築してしまえば、ほとんどの詳細をWwiseからコントロールでき、環境リバーブの影響を受けるサウンドや、リージョンごとのエフェクトの種類などを決められます。ただし場合によって、あるエリアの中に、さらに別のエリアが存在することもあり、例えばWoodlands Cabin(森の小屋)は、Woodlands(森)リージョンの中にあるので、通常だと、ここのWwiseオブジェクトが複数のAux Busに同時にルーティングされるはずです。これではゲームの内容と矛盾する音響環境が発生してしまうので、リージョン同士の優先順位をコントロールし、Aux Busへのルーティングを制限する必要があります。これから、Woodlands Cabin用のAux Environmentを別に作成し、その中のサウンドが、すべてWoodlands CabinというAux Busだけを使うように設定します。

  1. Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 6 を選択し、 Environments inside Environments を選択します。

  2. Hierarchyで Aux Environments を右クリックし、 3D Object を選択し、 Cube を選択します。

    グッドプラクティスとして、Cubeゲームオブジェクトの名前を変更してください。

  3. Cube ゲームオブジェクトを右クリックし、 Rename を選択して名前を Woodlands Cabin にします。

  4. Inspector > Box Colliderで、 Is Trigger を有効にします。

    Unityのゲームオブジェクトは、Inspectorの一番上にあるTransformコンポーネントによって、ポジションが設定されます。1つのゲームオブジェクトのポジションを、別のゲームオブジェクトの上に合わせたければ、一方のTransformコンポーネントの値をコピーし、他方にペーストすればいいだけです。

    [注釈]

    同じタイプ、または同じスクリプトのコンポーネント同士であれば、コンポーネント値をコピー&ペーストできます。

    それでは、Woodlands CabinゲームオブジェクトをWoodsのCabinと同じ位置に配置してから、そのサイズを調整します。

  5. Hierarchyで Cabin in the Woods を探し、これを選択します。

  6. InspectorのTransform コンポーネントで、 Gear アイコンをクリックして Copy Component を選択します。

  7. Hierarchyで検索を削除し、次に Woodlands Cabin ゲームオブジェクトを選択します。

  8. InspectorのTransform コンポーネントで、 歯車 アイコンをクリックして Paste Component Values を選択します。

    Woodlands Cabinの中にCubeの形が見えるはずで、もしなければ、Hierarchyで選択し、マウスをSceneビューに置きながら'F'を押します。次に、Woodlands Cabinを、Cabinに合わせます。

  9. Moveツール、RotateツールScaleツール を使い、Woodlands Cabinのゲームオブジェクトを、Woods Meshの中のCabinを覆うように合わせます。

  10. Inspectorで Mesh Renderer を無効にして、見えなくします。

    Next, you should add the AkEnvironment component, along with the remaining Rigidbody.

  11. Add Component をクリックし、 AkEnvironment を検索して選択します。

  12. AkEnvironmentコンポーネントの中の、 Add Rigidbody をクリックします。

    最後に、AuxBus Nameをアサインしてください。ここでは、ルームデザインがある程度似ているPineForest_HutのAuxiliary Busを使います。

  13. AuxBus Nameで、 Auxiliary Busses > Default Work Unit > Master Audio Bus > World > AUX > Region_PineForest を選択し、 PineForest_Hut を選択し、 OK をクリックします。

    この実装を、Profilerを使ってテストしてください。

  14. WwiseでLayoutsを選択し、Profilerを選択します。

    Playerを動かしてTriggerの中に入れるので、Playerサウンドだけが見えるように検索してください。プロファイリングを始める前に、フィルターを設定してPlayerサウンドだけを観察できるようにします。

  15. Advanced Profilerの Filter を、 Actor-Mixer Hierarchy > Default Work Unit > World > Player Work Unitに設定します。

  16. ゲームに Remote Connect で接続してシーンを Play し、 Woodlands Cabin まで走っていき、 ボックスをアタック します。

    Advanced Profilerを見ると、Player_WeaponImpactのEventが、WoodlandsのAux Busと、PineForest_HutのAux Busの、両方に送っているのが分かります。

    Woodlands Cabinの小部屋をシミュレーションするために、PineForest_HutのAux Busだけに送るようにします。AkEnvironmentコンポーネントの中のExclude Others機能を使えば、このAkEnvironmentのサウンドが、ほかのAkEnvironmentのTriggerに送られるのを防止できます。

  17. Unityで ESC を押してWAGのメニューを開き、再び Play をクリックしてPlayモードを終了させます。

  18. InspectorのAkEnvironmentで、 Exclude Others を有効にします。

  19. Playモードに入り 、Wwiseで Reconnect…をクリックします。

  20. Woodlands Cabinに入り、もう一度 ボックスをアタック します。

    Advanced Profilerを見ると、Player_WeaponImpactのEventが、Woodlands CabinのAux Busだけに送るようになっているのが分かります。