Wwiseデモゲーム
Wwise Unity Integrationの入ったデモシーンがWwise LauncherのUnityページでダウンロードでき、"Recent Unity Projects"タイトルのコンテキストメニュー内にあります。Unityの標準アセットのみを使って作成されたこのシンプルなシーンで、Integrationの基本機能の一部の使い方を紹介しています。
インストール
Wwise Demo Gameは独立したプロジェクトです。Wwise Launcherでダウンロードできます。開発するゲームの基盤として利用しないでください。そのような目的には、Wwise Launcherを使って新しいUnityプロジェクトにWwiseをインテグレーションしてください。
注記:
|
デプロイ
The Wwise Demo Game is intended as a way to preview and show how the Wwise Unity Integration can be used in the Unity Editor.
Wwise Demo Gameをゲームコンソールや携帯デバイスにデプロイするには、以下の手順に従います:
- LauncherのUnityタブを開いて、Wwise Demo Game Unityプロジェクトの、Modify Wwise in Project...オプションを選択します。
- LauncherのUnityインテグレーションのページが開きます。
- 希望するDeployment Platformを追加して、Modifyをクリックします。
- プロジェクトの更新されたバージョンをUnityで開きます。
- このプラットフォームのSoundBankを生成する。
- Generated SoundBanksフォルダをコピーして
StreamingAssets/Audio
フォルダに入れる。 - Unity内で、希望するプラットフォーム用にシーンをビルドして、デバイスにデプロイします。
Wwiseデモシーン
このファーストパーソン3Dマップには、道沿いにいくつかの"ステーション"があります。For each station, there is a small description on a sign next to the station. 簡単に参照できるように、各ステーションのアセットがシーン階層に入れてあります。
Footstepsデモ
フットパスと最初のステーションを通して、スクリプトやトリガーボリュームを使ってフットステップシステムを作成する方法をデモします。
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にポストする方法を表しています。
Subtitleデモ
このステーションでは、カスタム設定したイベントトリガーをUnityで作成する方法と、イベントコールバックの使い方を示します。
単純なボタンスクリプトに、プレイヤがボタンに十分近づいた時に実行されるDelegateの入った単純なボタンスクリプトを準備し、キーボードやコントローラのキーが押されるように設定します。別のスクリプトの AkTriggerButtonPress
がこのDelegateに登録され、親クラスの AkTriggerBase
から triggerDelegate
を呼び出します。AkTriggerBase
から継承することで、カスタム設定したトリガーがWwise Component Inspectorウィンドウの"trigger"リストに表示されるようになります(例えばボタンに添付されたAk Ambientなど)。カスタムトリガーについては Wwiseイベントのトリガーを追加する を参照してください。
このイベントが、WAVマーカを含むサウンドファイルの再生を始めます。イベントに関連するマーカコールバックを登録することで、パネルのサブタイトルの更新が可能になります。これを達成するには、Ak AmbientのInspectorで"Use Callback"オプションを選択します。次にスクリプト(SubtitleDemo.cs
)が含まれたGameObject (SubtitleSign
)が"Game Object"ボックスにドラッグ&ドロップされました。コールバックがトリガーされた時に実行するCallback Function (MarkerCallback
)の名前を入力して、Callback Flagsとして"Marker"が選ばれました。SubtitleDemo
のコードを見ると、Callbackファンクションは事前定義された文字列アレイからサブタイトルを読み、インデックスとして MarkerCallback
の uIdentifier
フィールドを使っただけだということが分かります。コールバックの詳細は AkAmbientをInspectorで使うには を参照してください。
Environmentデモ
シーンにあるゾーン内のサウンドに関して、どのようにエフェクトを提供できるのかを、この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) を参照。
Timelineデモ
このステーションでは、UnityのTimelineでAkEventTrackとAkRTPCTrackを使う方法を示します。2つのCubeがあり、ボタンを押すと、アニメーションでお互いに向かって動き始め、インパクト(衝突)が起きると止まります。
Timelineを確認するには、Window->Timelineを選択します。次に階層でTimelineDemoオブジェクトを展開して、Timeline Demo Buttonオブジェクトを展開します。続いて、Buttonオブジェクトを選択します。CubeのアニメーションやWwiseイベントをコントロールするためのTimelineが、Timelineエディタに表示されます。Timelineは、ButtonオブジェクトのPlayable Directorコンポーネントでコントロールできます。
Timelineには、2つのCube用に、それぞれのアニメーショントラックが1つずつ、入っています。これらのトラックを使って、各Cubeのz座標を時間の経過とともにアニメーションするのに使います。また、TimelineにはAkEventTrackとAkRTPCTrackも含まれ、それぞれが白と赤のタブでマークされています。AkEventTrackに2つのAkEventPlayableクリップが含まれ、1つ目はPlayCubeMovementのWwiseイベントをトリガーするもの、2つ目はPlayImpactのWwiseイベントをトリガーするものです。これらのWwiseイベントの名前は、クリップに表示されています。名前を完全に表示させるには、Timelineエディタのビューの大きさを変えて、ズームインする必要があるかもしれません。PlayCubeMovementのWwiseイベントは、ピッチをRTPCで調整するサイン波ソースを再生します。このRTPCの名前は、CubeAccelerationです。Cubeがお互いに向かっていくにつれ、時間の経過とともにAkRTPCTrackがRTPCを増加させます。これによってサイン波のピッチが増大して、Cube同士がお互いに加速していく様子をシンプルなサウンドエフェクトで表現できます。
This station also demonstrates the Motion feature. Note that there is a game object called "Motion listener" in the player hierarchy. This game object set up the output for the Motion device on supported platforms. Any output needs a set of listeners to receive data. That is why the Motion listener also have a Ak Game Object and a Ak Audio Listener. To enable the Motion effect on the cube impact, two important things needs to be done. First, the impact sound needs to be routed to an output bus using the Wwise Motion ShareSet in the Wwise project. Second, the listener used for the Motion output needs to be added to the listeners of the emitter posting the impact event. Inspect the AkMotionListener script for an example on how to add an output.
注記: To support the Motion feature on android, the manifest of the application must include the vibration permission. Unity generates automatically the manifest based on the content of the application. Adding a call to Handheld.Vibrate() will add the desired permission in the manifest. |
Timelineインテグレーションの詳細は、 WwiseのTimelineインテグレーション を参照してください。
Spatial Audio Scene
This scene is the final product of the Spatial Audio Tutorial.
Wwise Unity Integrationに対してThu Feb 1 09:40:26 2018に生成されました。 1.6.3