インポートしたクリップのアニメーションカーブ
Root Motion Node を選択

インポートしたクリップのアニメーションイベント

アニメーションイベントは、Animation Import Settings のアニメーションタブでインポートしたアニメーションクリップを取り付けることができます。

これらのイベントは、特定のアクションが、アニメーションが再生される時間を決めるインポートクリップにデータを追加できるようにします。例えば、アニメのキャラクターが歩くたびに足音を再生させるサイクルを示すイベントを追加したい場合があります。

インポートされたアニメーションにイベントを追加するには、最初に、プロジェクトビューにインポートされたアニメーションファイルを選択します。その後、インスペクターのインポート設定で、アニメーションボタンを選択します。

アニメーションファイルのためのインポート設定のアニメーションセクションを見てください
アニメーションファイルのためのインポート設定のアニメーションセクションを見てください

インスペクターを1番下までスクロールして、4つの見出しの中からCurvesを見つけます。

Events は、Curves、Mask、Motion の見出しとともに折りたたまれています
Events は、Curves、Mask、Motion の見出しとともに折りたたまれています

現在のインポートされたアニメーションクリップのイベントタイムライン表示するためには、見出しのEventsを展開します。タイムラインの左側にあるボタンで新しいイベントを追加します。

現在インポートされたアニメーションクリップのイベントタイムライン
現在インポートされたアニメーションクリップのイベントタイムライン

イベントを追加するときは、そのイベントに名前が必要です。イベント名は、そのイベントがトリガされるときに呼び出される関数名になります。このアニメーションを使うアニメーターを持つ各ゲームオブジェクトには、イベント名と一致する関数名が使われたスクリプトをアタッチする必要があります。以下は、 Player ゲームオブジェクトにアタッチされたスクリプト内の “Footstep” 関数を呼び出す設定の足音イベントです。

インポートされたアニメーションのイベントを追加したり編集するときに表示されるイベントダイアログボックス
インポートされたアニメーションのイベントを追加したり編集するときに表示されるイベントダイアログボックス

また、必要に応じて、イベントによって呼び出される関数に送信されたパラメータを任意に指定して選ぶことができます。使用できる4つの異なるパラメータの型は Float,Int,String,Object です。

これらのフィールドのいずれかに値を入力し、その型のパラメータを受け入れるためにレシーバー関数を実装することで、スクリプト内の関数に渡されたイベントを指定された値で持つことができます。たとえば、足音がどれくらい大きくなければならないかについて指定するために float 値を渡すことができます。- 歩行中のループでの静かな足音イベントとランニング中のループでの大きな足音イベントを持つことができるようになります。さらに、エフェクトプレハブへのレファレンスを渡すことができ、スクリプトは、アニメーション中の特定のポイントで異なる効果をインスタンス化することができます。

インポートしたクリップのアニメーションカーブ
Root Motion Node を選択