レッスン 1
目次
このセクションに入る前に、その親となるセクションの Trigger Conditions を終わらせてください。 |
ゲームオブジェクトにTriggerを追加すると、Triggerは、ほかのTriggerやColliderとの接触をすべて、AkTriggerEnterファンクションに報告します。つまり、どのようなタイプのColliderやTriggerが対象なのか指定しない限り、301_Coinのようなゲームオブジェクトは、ほかのTriggerと交差するたびに、必ずPickup_CoinのEventを再生し、プレイヤーがTriggerをピックアップするためにTriggerに入ってきたときだけとは限りません。1つの対策として、AkTriggerEnterスクリプトを301_Coinゲームオブジェクトに追加することができます。
AkEventにAkTriggerEnterを設定すると、このAkEventはゲームスタート時にAkTriggerEnterスクリプトを探します。
AkTriggerEnterコンポーネントを見ると、Trigger Objectというプロパティがあります。このプロパティが空白だと、すべてのCollusionを均一に受け入れてしまいます。このプロパティにゲームオブジェクトを追加すれば、コンポーネントがこのゲームオブジェクトだけに反応するように制限でき、その他のゲームオブジェクトを一切無視します。
AkTriggerEnterのTrigger Objectに、ほかのSceneのゲームオブジェクトをアサインすることはできません。もしあなたのゲームでそれを行う必要がある場合は、カスタムスクリプトを作成して、そのゲームオブジェクトが使えるようになったときに見つけるのが、1つの方法です。 |
それでは、CoinにAkTriggerEnterスクリプトを追加し、プレイヤーがコインをピックアップしたときだけ再生されるようにします。
-
Hierarchyで 301_Coin ゲームオブジェクトを選択します。
-
Inspectorで、 'AkTriggerEnter' のComponentを追加します。
AkTriggerEnterコンポーネントを見ると、空白のTrigger Objectプロパティがあります。Adventurerでは1人で苦労してアイテムをピックアップしているので、Playerを選びます。Trigger Objectのプロパティを指定しないと、すべてのゲームオブジェクトが検出されてしまいます。
-
HierarchyでPlayer ゲームオブジェクトをクリックしてホールドしたまま、 Inspector > AkTriggerEnter コンポーネント > Trigger Object プロパティまで、ドラッグします。
-
Play をクリックし、Coinをピックアップします。
今度は、Coinのピックアップ音が、プレイヤーがCoinをピックアップしたときだけにポストされます。
-
ESC を押してWAGメニューを開き、 Play をもう一度クリックしてPlayモードを終了させます。