uGUIでAnimatorを使う の投稿一覧
AddBehaviorボタンからアニメーションステートにイベントスクリプトを追加できます。
アニメーションの開始、途中、終了など、タイミングは自由に指定できます。
環境
- OSX Yosemite v10.10.5
- Unity v5.1.2f1
今回の流れ
- AnimationControllerを作成する
- AnimationClipを作成する
- Animatorコンポーネントをアタッチする
- AnimatorコンポーネントをアタッチしたGameObjectに、イベントスクリプトを追加する
- AnimationClipにAddEventする
- 実行する
前提
1,2,3については先日の投稿を参照してください。
前提知識と操作
アニメーションを再生したい対象のGameObjectにAnimatorコンポーネントが追加され、Controllerプロパティに指定されたAnimationControllerにAnimationClipが指定され、Entryからトランジションが伸びているステートが存在していることを確認してください。
AnimatorコンポーネントをアタッチしたGameObjectに、イベントスクリプトを追加する
発火させたいイベントスクリプトを作成し、GameObjectにコンポーネントとして追加してください。
発火するイベントはpublicなメソッドである必要があります。
AnimationClipにAddEventする
アニメーションを発火させたいタイミングを数値で指定するか、タイムテーブルの時間を表示している箇所をクリックして指定します。
AddEventを押すと、イベントの発火タイミングがマークされます。
マークをクリックすると、マークが青くなり指定されたことを示すようになり、発火させるイベントスクリプトを指定できるダイアログが表示されます。
作成したイベントスクリプトがプルダウンメニューに含まれていない場合は、スクリプトの定義やコンポーネントのアタッチを確認してください。
実行する
ビルド、実行をするとアニメーションの開始時点で指定したスクリプトが発火するようになります。