橋本翼(ツバサムス)

メタバースプログラマー。
UnityとUnreal Engineを専門的に扱う。
メタバース系スタートアップ企業に所属。

詳細はこちら

【Unity】アニメーション終了時にメソッドを呼び出す方法(「Animation Event」使用)

Unity

アニメーション終了時に任意の関数を呼び出す方法

「Animation Event」の作成

手順①

  • Assets」内の「Animation」ファイルをダブルクリックして中身を開く

手順②

  • Animation」内の左上の「▶▶❙」を押して白線を右端に移動させる

手順③

  • Animation」内の左上の「■+」を押して「Animation Event」を作成する
下画像の矢印の位置に白or青の小さな長方形が出現していればOK

呼び出したいメソッドの作成

手順④

  • Assets」で「C#」スクリプトファイル作成し、対象の「Animation」を含む「Animator」がアタッチされているゲームオブジェクトに、その「C#」スクリプトファイルをアタッチする
アニメーション終了時に呼び出したいメソッドが記述されている『C#』スクリプトファイル」と「『Animation Event』を追加した『Animation』を含む『Animator』」は必ず同じゲームオブジェクトにアタッチしなければならない

手順⑤

  • アニメーション終了時に呼び出したいメソッドを「手順④」で作成したスクリプトに記述する
記述するメソッドは「public」でなくてもいけるらしいが、「このメソッドは外部から呼び出されている」という事を明示的に示すためにも「public」にするべきだろう。
using UnityEngine;

public class AnimationController : MonoBehaviour
{
    public void OnAnimationEnd()
    {
        //アニメーション終了時の処理
    }
}

「Animation Event」の設定

手順⑥

  • Assets」内の「Animation」ファイルをダブルクリックして中身を開いた後、「手順③」で作成した「Animation Event」をクリックし、「Inspector」ウィンドウに詳細を表示させる

手順⑦

  • 「手順⑤」で作成したメソッドの名前を「Inspector」ウィンドウで「Function」に入力する

その他

補足

  • 当記事では「Animation Event」をアニメーション終了判定用に用いているが、「Animation Event」自体はどのタイミングでも何度でも使用できる

参考記事

お問い合わせ

    コメント

    タイトルとURLをコピーしました