Wwise Unity Integrationの入ったデモシーンがWwise LauncherのUnityページでダウンロードでき、"Recent Unity Projects"タイトルのコンテキストメニュー内にあります。Unityの標準アセットのみを使って作成されたこのシンプルなシーンで、Integrationの基本機能の一部の使い方を紹介しています。
このファーストパーソン3Dマップには、道沿いにいくつかの"ステーション"があります。ステーション毎に、簡単な説明の書かれた看板が脇にあります。簡単に参照できるように、各ステーションのアセットがシーン階層に入れてあります。
Wwise Demo Sceneは独立したプロジェクトです。Wwise Launcherでダウンロードできます。開発するゲームの基盤として利用しないでください。そのような目的には、Wwise Launcherを使って新しいUnityプロジェクトにWwiseをインテグレーションしてください。
注:
<DEMO_SCENE_ROOT>/WwiseProjectにあります。WwiseプロジェクトをゲームのAssetsフォルダに残すのは推奨されませんが、本Demoではパッケージングの際に必要でした。Wwise Demo SceneはWwise Unity IntegrationをUnity Editorでプレビューして正しい手順を確認するためのものです。
Wwise Demo Sceneをゲームコンソールや携帯デバイスにデプロイするには、以下の手順に従います:
フットパスと最初のステーションを通して、スクリプトやトリガーボリュームを使ってフットステップシステムを作成する方法をデモします。
Wwise Projectでフットステップシステムの実装が推奨通りに行われ、地面タイプ別にRandomコンテナがあり、それらがSwitchコンテナに入っています。フットステップをポストするにはFootstepイベントを使い、地面の材質は Footstep_materialスイッチグループで制御されます。 シーンの地形は、草、砂利、木板、土という4種類のテクスチャに分けてペイントしてあります。それぞれの地表面タイプを歩き回ると、フットステップサウンドも合わせて変化します。
これを達成するためにBox Colliderが各ゾーン上に配置されています。Footstep_Materialスイッチの設定は単純で、Switch ValueをWwise Picker WindowからBox Colliderにドラッグするだけです。First Person ControllerがColliderに入った時にSwitchをオンにするには、 "AkTriggerEnter"トリガーのAk Switchスクリプトをトリガーして、"Use Other Object"チェックボックスがチェックされていることを確認する必要があります(Inspector Window表示の通り)。
非常に初歩的なフットステップのスクリプトが実装されていて、プレイヤの移動中は0.3秒ごとにFootstepイベントがポストされます。このスクリプトはFirst Person Controllerに添付してあります。これは、スクリプトを使ってイベントをWwise SoundEngineにポストする方法を表しています。
このステーションでは、カスタム設定したイベントトリガーをUnityで作成する方法と、イベントコールバックの使い方を示します。
単純なボタンスクリプトに、プレイヤがボタンに十分近づいた時に実行されるDelegateの入った単純なボタンスクリプトを準備し、キーボードやコントローラのキーが押されるように設定します。別のスクリプトのAkTriggerButtonPressがこのDelegateに登録され、親クラスの unity_add_triggersを参照してください。AkTriggerBaseから Ambientなど)。カスタムトリガーについてはtriggerDelegateを呼び出します。 Inspectorウィンドウの"trigger"リストに表示されるようになります(例えばボタンに添付されたAkAkTriggerBaseから継承することで、カスタム設定したトリガーがWwise Component
このイベントが、WAVマーカを含むサウンドファイルの再生を始めます。イベントに関連するマーカコールバックを登録することで、パネルのサブタイトルの更新が可能になります。これを達成するには、Ak AmbientのInspectorで"Use Callback"オプションを選択します。次にスクリプト(SubtitleDemo.cs)が含まれたGameObject (SubtitleSign)が"Game Object"ボックスにドラッグ&ドロップされました。コールバックがトリガーされた時に実行するCallback Function (MarkerCallback)の名前を入力して、Callback Flagsとして"Marker"が選ばれました。SubtitleDemoのコードを見ると、Callbackファンクションは事前定義された文字列アレイからサブタイトルを読み、インデックスとして unity_use_AkEvent_AkAmbientを参照してください。MarkerCallbackの uIdentifierフィールドを使っただけだということが分かります。コールバックの詳細は
シーンにあるゾーン内のサウンドに関して、どのようにエフェクトを提供できるのかを、このStationで見せることができます。EnvironmentZoneに含まれる2つの洞穴(ここでも1つのBox Colliderがトリガーを担っている)があり、AuxBusがそれに対して追加されている(Wwise Pickerウィンドウからドラッグ&ドロップして追加)。
Wwiseで2つのAuxiliary Busを作成して、それぞれ異なるエフェクトを入れてあります。さらにフットステップやLittle Sequenceは"Use game-defined Auxiliary sends"にチェックが入っています。
EnvironmentZone内からWwiseイベントをポストすると、そのサウンドがゾーンと関連性のあるAuxBusにルーティングされます。
このステーションでEnvironment Portalコンポーネントのデモも確認できます。これは、2つの環境間の空間的な切り替わりを表します。デモの3つのボタンを使い、Environment PortalがAuxiliaryバスのミキシングにどう影響するかを確認できます。
まず環境ポータルを作成するには、グラフ軸のいずれかでAk Environemnts2つにタッチするBox Colliderを1つ作成します(このデモではポータルが'z'軸上でRedゾーンとBlueゾーンにタッチします。I次にAk Environment Portalコンポーネントを追加して、正しい軸を選択します。ミックスされるこの2つの環境は、自動的にフィルインされます。
EnvironmentやEnvironment Portalの詳細はAkEvironmentやAkEvironmentPortalをInspectorと共に使うには (Reverb Zones)を参照。
1.6.3