Posted at

Unity4でAnimationEventでオーバーロードしたメソッドが選択できない

More than 3 years have passed since last update.

UnityのAnimation機能で、指定したアニメーションのキーフレームでメソッドを呼べる「AnimationEvent」という機能を使った時に罠にかかったメモ

AnimationEventはAnimator/Animationコンポーネントがついたゲームオブジェクトに、スクリプトをAdd Componentすることで、対象のスクリプトのメソッドを呼べる機能です。

そもそもオーバーロードしたメソッドを実装した時点で、アニメーションイベントのプルダウンに対象のメソッドが表示されなくなった。

おかしいなと思い、オーバーロードしたメソッドを前に選択していたAnimationを見てみたら…

Animationエディターがぶっこわれた…

スクリーンショット 2015-04-30 19.52.54.png

散々悩んだ結果、オーバーロードせずに別メソッド化した時はこのような現象が起きず。

そもそもAnimationEvent自体、対象のメソッドが存在しなくなると

呼び出しに失敗してエラーを吐くのであまりおすすめできないが

特定のキーフレームでAnimatorのTriggerを引いて

ステート遷移したい時に便利なので使わざるを得ない…

Unity5で治ってるか後日見てみます。