レッスン 6
目次
シーンのゲームリージョンやエリアを定義できたら、Triggerを使い、この空間をカプセル化し、ほかのTriggerがここに入ってきたのを検知できるようにします。このTriggerと、各種コンポーネントを、Wwise Adventure Gameとこの技能検定ではAux Environmentと呼びます(一方、Audio EnvironmentはWwise Adventure Gameの特定のリージョンに限定されたSceneのことで、混同しないように注意してください)。
Aux Environmentを作成するのに、Wwise Unity Integrationに入っている既成のAkEnvironmentスクリプトを使います。このスクリプトをTriggerに追加することで、AkGameObjコンポーネントのEnvironment Awareが設定されているゲームオブジェクトは、Triggerの中に入ると、Aux Busがアサインされます。
Wwiseは同時に、どのサウンドのAuxiliary Sendがゲームにコントロールされているのかを知る必要があるので、該当するAudioオブジェクトの Use game-defined auxiliary sends を有効にします。
AkEnvironmentの影響を受けるゲームオブジェクトは、AkGameObjコンポーネントがEnvironment Awareに設定されているものだけで、Send値などenvironment関連のプロパティを把握しておくことが目的です。周囲の環境を認識できるEnvironment Awareのオブジェクトについて、詳しくは Aux Environmentを作成する のセクションを参照してください。 |
これから、スタートエリア(別名Training Area)でAux Environmentを作成し、Profilerを使い、正しいAux Busがアサインされていることを確認します。Environment Awareと、Use game-defined auxiliary sendsを設定してあるサウンドはすべて、そのエリア用に選ばれたAux Busに送られます。
-
Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 6 を選択し、 Adding the AkEnvironment to a Trigger を選択します。
-
Hierarchyで AUX Environment ゲームオブジェクトを展開し、 Training ゲームオブジェクトを選択します。
Trainingゲームオブジェクトに、Mesh Triggerが付いています。試しに半透明のMesh Rendererを有効にし、側面が見えるようにしました。AkEnvironmentスクリプトを追加し、適切なAux Busにアサインするだけでいいのです。
-
InspectorでAdd Componentをクリックし、AkEnvironmentを入力してからそれを選択します。
InspectorにAkEnvironmentスクリプトが表示され、その上に使用するColliderが表示されます。
コライダー付きのほかのゲームオブジェクトが、このMesh Colliderに入ると、それがEnvironment Aware(環境を認識できる)かどうかを、AkEnvironmentスクリプトが確認します。Environment Awareに設定されていれば、そのWwiseオブジェクトは選択されたAux Busにアサインされます。
-
AuxBus Name をクリックし、 Wwise 301 > Auxiliary Busses > Default Work Unit > Master Audio Bus > World > AUX > Region_Village を展開し、 Training というAux bus を選択します。
以上です。このスクリプトをアタッチしてAux Bus Nameを設定するだけで、このリージョン内のEnvironment Aware設定のサウンドはすべて、Wwiseオブジェクトで'Use game-defined auxiliary sends'が選択されている限り、このAux Busの影響を受けます。次にProfilerに接続し、Trigger内のサウンドへの実装を検証してください。
-
Wwiseで Profiler レイアウトに行き、Advanced ProfilerのVoices Graphで、Filterの ブラウズ (...) ボタンをクリックします。
-
Master-Mixer Hierarchy > Default Work Unit > Master Audio Bus > World > AUX > Region_Villageを展開し、 Training というAux Busを選択して OK をクリックします。
Profilerの準備ができたので、ゲームに接続してください。プレイ中でも全体が把握しやすいようにWwiseとUnityを隣同士にすれば、Advanced ProfilerとGame viewを同時に見ることができます。
-
Wwise Adventure Game(エディタ)に Remote Connect で接続し、SceneをUnityで プレイ します。
-
Training area で1つの 岩 に向かって走り、それを アタック します。
アタックしながら、Advanced Profiler > Voices Graphを見てください。Player_WeaponSwingのEventでトリガーされたすべてのWwiseオブジェクトが、今は、TrainingのAux Busにルーティングされ、Wwise RoomVerbのEffectを受けています。
この結果を、Aux Environmentのないエリアと比較してみてください。Village TriggerのAkEnvironmentコンポーネントを削除してあるので、Effectを適用しない状態でサウンドを確認するには、Villageまで走り岩を打ちます。
-
Village まで走り、 岩 を見つけ、それを アタック します。
ウェポンのAux Sendのないサウンドを使い、今度は自分のリージョン限定のエフェクトを設定してみてください。
AkEnvironmentスクリプトを既成のTraining Triggerに追加することで、Training AreaにAux Environmentを構築できたのです。次のセクションでは、ゼロからAux Environmentを作成する方法を学びます。