Animation Import Settings の Animations タブで、インポートしたアニメーションクリップにアニメーションイベントを加えることができます。
これらのイベントは、特定のアクションに関して、アニメーションが再生される時間を決めるインポートクリップにデータを追加できるようにします。例えば、アニメのキャラクターが歩くたびに足音を再生させるサイクルを示すイベントを追加することが可能です。
インポートされたアニメーションにイベントを追加するには、最初に、プロジェクトビューにインポートされたアニメーションファイルを選択します。その後、インスペクターのインポート設定で、アニメーションボタンを選択します。
インスペクターを 1 番下までスクロールして、図のように 4 つの見出しの中から Events のヘッダーを見つけます。
Events を開いて現在のインポートされたアニメーションクリップのイベントタイムライン表示します。
再生ヘッドをタイムライン上の違う位置に動かしたい場合は、ウィンドウのプレビューペインのタイムラインを使用します。
イベントを作成したい位置に再生ヘッドを置き、それから Add Event を押します。新しいイベントが作成され、タイムライン上に小さい白いマーカーで表示されます。 Function フィールドに、イベントが発生したときに呼び出す関数名を入力します。
このアニメーターでアニメーションを使用するゲームオブジェクトには、イベント名と一致する関数名が使われたスクリプトをアタッチする必要があります。
以下は、 Player ゲームオブジェクトにアタッチされたスクリプト内の Footstep
関数を呼び出す設定の足音イベントです。これは、アニメーションと同期して足音を再生するオーディオソースと一緒に使われます。
また、必要に応じて、イベントによって呼び出される関数に送信するパラメータを任意に指定することができます。Float, Int, String, Object の 4 つの異なるパラメーターの型を指定できます。
これらのフィールドのいずれかに値を入力し、その型のパラメータを取得するために関数を実装することで、スクリプトの関数をとおして渡されたイベントの値を特定できます。スクリプト内の関数に渡されたイベントに指定された値を設定することができます。
例えば、様々なアクションに関して足音がどれくらい大きいかを指定するために float 値を渡す必要がある場合があるかもしれません。歩行中のループでの静かな足音イベントとランニング中のループでの大きな足音イベントのように。さらに、エフェクトのプレハブへの参照を渡すことができ、スクリプトで、アニメーション中の任意のポイントで異なるエフェクトをインスタンス化することができます。