バージョン
Wwise Unity Integration Documentation
|
Unityで使うWwiseコンポーネントの大部分に"Trigger On"プロパティが設定されていて、そこからそのWwiseコンポーネント(Event、Switch、Stateなど)をトリガーするUnityのノティフィケーションやイベントを選択できます。このリストは、Unityで可能な内容の一部しか表示していません。ただしトリガーシステムは拡張可能で、Integrationコード自体を修正する必要もありません。
新しいトリガーを追加するには、 AkTriggerBase から派生するC::クラスを書くだけです。AkTriggerBaseから派生するクラスは全て、反射で見つけられ"Trigger On"ドロップリストに追加されます。このクラスにデリゲート(代理)であるtriggerDelegate(GameObject in_target)が含まれ、トリガー条件が発生した時にこれをコールする必要があります。"target"オブジェクトは必須ではなく、現在はColliderと使う時にコライドするオブジェクトを提供するために使用されます。これにより、WwiseコンポーネントがイベントをColliderに対してではなくコライドの対象にPostできます。
もちろん必須ではありませんが、このシステムを利用してゲームコードからオーディオコンポーネントをトリガーすることもできます。トリガーが発生するたびに(またはカスタムファンクションのたびに)、コードから GetComponent<YourTriggerClass>()
.triggerDelegate(GameObject in_target) をコールするだけです。
注記: 現在の AkTriggerBase の派生クラス数の上限は、32です。 |
これは、カスタムファンクションを使った例です:
ゲームコードから、このコードを得ることができます:
これでTriggerOnGunHitトリガーにリンクされたWwiseコンポーネントは全て、自分の責任を果たせます。なお、これは単純な場面ではやりすぎの可能性が高く、別の方法として単純に AkSoundEngine.PostEvent
("GunHit", gameObject) からベースWwise SDKをコールさえすれば、サウンドデザイナはこのイベントのエフェクトをWwiseで設定できます。