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

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

Animation Import Settings の Animations タブで、インポートしたアニメーションクリップにアニメーションイベントを加えることができます。

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

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

アニメーションファイルの Import Settings の Animations セクション
アニメーションファイルの Import Settings の Animations セクション

インスペクターを 1 番下までスクロールして、図のように 4 つの見出しの中から Events のヘッダーを見つけます。

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

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

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

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

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

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

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

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