Animation タブでインポートしたアニメーションクリップにアニメーションイベントをアタッチできます。
イベントを使用すると、インポートしたクリップにデータを追加して、アニメーション中に特定のアクションを発生させるタイミングを決定することができます。例えば、アニメーション化したキャラクターの場合、歩行と走行のサイクルにイベントを加え、音を再生するタイミングを示すことができます。
インポートしたアニメーションにイベントを追加するには、Events セクションを展開して、インポートしたアニメーションクリップのイベントのタイムラインを表示します。
再生ヘッドをタイムライン上の違う位置に動かしたい場合は、ウィンドウのプレビューペインのタイムラインを使用します。
再生ヘッドをイベントを加えたい位置に置き、Add Event をクリックします。新しいイベントが作成され、タイムライン上に小さな白いマーカーが表示されます。イベントに到達したときに呼び出す関数の名前を Function プロパティに入力します。
アニメーターでこのアニメーションを使用するゲームオブジェクトには、イベント名と一致する関数名を含むスクリプトをアタッチする必要があります。
下の例は、プレイヤーゲームオブジェクトにアタッチされたスクリプト内の Swipe
関数を呼び出すように設定されたイベントを表しています。これは、アニメーションと同期して斬撃音を再生します。
また、イベントによって呼び出される関数に送信するパラメーターを指定することもできます。 Float、Int、String、Object の 4 つのパラメーターの型があります。
これらのフィールドのいずれかに値を入力し、その型のパラメータを受け取るように関数を実装することで、スクリプトで関数に渡される値をイベントで指定することができます。
例えば、様々なアクションに関してサウンドエフェクトがどれくらい大きいかを指定するために float 値を渡す必要があるとします。歩行中のループでは静かな足音のイベントで、ランニング中のループでは大きな足音イベントといったように。さらに、エフェクトのプレハブへの参照を渡すことができ、スクリプトで、アニメーション中の任意のポイントで様々なエフェクトをインスタンス化することができます。