レッスン 6
目次
-
レッスン
Woodlandsの暗い森の中、あなたは 小さい 木造の小屋の横を通ります。気になって中をのぞくと、Woodlandsの全体的なサウンドスケープが、瞬時に、厚い木の壁のせいでくぐもって聞こえます 。
ゲームの環境ゾーンのトリガーを定義し構築してしまえば、ほとんどの詳細をWwiseからコントロールでき、環境リバーブの影響を受けるサウンドや、リージョンごとのエフェクトの種類などを決められます。ただし場合によって、あるエリアの中に、さらに別のエリアが存在することもあり、例えばWoodlands Cabin(森の小屋)は、Woodlands(森)リージョンの中にあるので、通常だと、ここのWwiseオブジェクトが複数のAux Busに同時にルーティングされるはずです。これではゲームの内容と矛盾する音響環境が発生してしまうので、リージョン同士の優先順位をコントロールし、Aux Busへのルーティングを制限する必要があります。これから、Woodlands Cabin用のAux Environmentを別に作成し、その中のサウンドが、すべてWoodlands CabinというAux Busだけを使うように設定します。
-
Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 6 を選択し、 Environments inside Environments を選択します。
-
Hierarchyで Aux Environments を右クリックし、 3D Object を選択し、 Cube を選択します。
グッドプラクティスとして、Cubeゲームオブジェクトの名前を変更してください。
-
Cube ゲームオブジェクトを右クリックし、 Rename を選択して名前を Woodlands Cabin にします。
-
Inspector > Box Colliderで、 Is Trigger を有効にします。
Unityのゲームオブジェクトは、Inspectorの一番上にあるTransformコンポーネントによって、ポジションが設定されます。1つのゲームオブジェクトのポジションを、別のゲームオブジェクトの上に合わせたければ、一方のTransformコンポーネントの値をコピーし、他方にペーストすればいいだけです。
同じタイプ、または同じスクリプトのコンポーネント同士であれば、コンポーネント値をコピー&ペーストできます。
それでは、Woodlands CabinゲームオブジェクトをWoodsのCabinと同じ位置に配置してから、そのサイズを調整します。
-
Hierarchyで Cabin in the Woods を探し、これを選択します。
-
InspectorのTransformコンポーネントで、縦方向のドットアイコンをクリックしてCopy > Positionを選択します。
-
Hierarchyで検索を削除し、次に Woodlands Cabin ゲームオブジェクトを選択します。
-
InspectorのTransformコンポーネントで、縦方向のドットアイコンをクリックしてPaste > Positionを選択します。
Woodlands Cabinの中にCubeの形が見えるはずで、もしなければ、Hierarchyで選択し、マウスをSceneビューに置きながら'F'を押します。次に、Woodlands Cabinを、Cabinに合わせます。
-
Moveツール、Rotateツール、 Scaleツール を使い、Woodlands Cabinのゲームオブジェクトを、Woods Meshの中のCabinを覆うように合わせます。
-
Inspectorで Mesh Renderer を無効にして、見えなくします。
次に、AkEnvironmentコンポーネントと、残るRigidbodyを、追加します。
-
Add Component をクリックし、 AkEnvironment を検索して選択します。
-
AkEnvironmentコンポーネントの中の、 Add Rigidbody をクリックします。
最後に、AuxBus Nameをアサインしてください。ここでは、ルームデザインがある程度似ているPineForest_HutのAuxiliary Busを使います。
-
AuxBus Nameで、 Auxiliary Busses > Default Work Unit > Master Audio Bus > World > AUX > Region_PineForest を選択し、 PineForest_Hut を選択し、 OK をクリックします。
この実装を、Profilerを使ってテストしてください。
-
WwiseでLayoutsを選択し、Profilerを選択します。
Playerを動かしてTriggerの中に入れるので、Playerサウンドだけが見えるように検索してください。プロファイリングを始める前に、フィルターを設定してPlayerサウンドだけを観察できるようにします。
-
Advanced ProfilerでBrowse For Object(...)をクリックし、Actor-Mixer Hierarchy > Default Work Unit > World > Player Work Unitを選択してOKをクリックします。
-
ゲームに 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に送られるのを防止できます。
-
Unityで ESC を押してWAGのメニューを開き、再び Play をクリックしてPlayモードを終了させます。
-
InspectorのAkEnvironmentで、 Exclude Others を有効にします。
-
Playモードに入り 、Wwiseで Reconnectをクリックします。
-
Woodlands Cabinに入り、もう一度 ボックスをアタック します。
Advanced Profilerを見ると、Player_WeaponImpactのEventが、Woodlands CabinのAux Busだけに送るようになっているのが分かります。