Version: 2023.1
言語: 日本語

AnimationEvent

class in UnityEngine

マニュアルに切り替える

説明

AnimationEvent はアニメーションの再生の一部として、SendMessage 関数のようなスクリプトの関数を呼び出すことができます。

アニメーションのイベントは 0 と 1 の引数を持つ関数をサポートしています。 パラメーターは float、int、string、object 参照、AnimationEvent を送信することができます。

// Animation Event example
// Small example that can be called on each specified frame.
// The code is executed once per animation loop.

using UnityEngine; using System.Collections;

public class Example : MonoBehaviour { public void PrintEvent() { Debug.Log("PrintEvent"); } }

下のさらに詳細な例では、アニメーションを作成するより複雑な方法を表示しています。 このスクリプトの例では、 Animator コンポーネントにアクセスし、 それから Clip を取得します (クリップはアニメーションウィンドウで設定されます)。クリップは 2 秒継続します。 AnimationEvent が作成され、パラメーターが設定されます。 パラメーターはイベントを処理する PrintEvent() 関数を含んでいます。 イベントはそれから、クリップに加えられます。すべては Start() 内で起こります。ゲームが開始すると、 イベントは 1.3 秒後に呼び出され、それから 2 秒ごとに繰り返されます。

// Add an Animation Event to a GameObject that has an Animator
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour { public void Start() { // existing components on the GameObject AnimationClip clip; Animator anim;

// new event created AnimationEvent evt; evt = new AnimationEvent();

// put some parameters on the AnimationEvent // - call the function called PrintEvent() // - the animation on this object lasts 2 seconds // and the new animation created here is // set up to happen 1.3s into the animation evt.intParameter = 12345; evt.time = 1.3f; evt.functionName = "PrintEvent";

// get the animation clip and add the AnimationEvent anim = GetComponent<Animator>(); clip = anim.runtimeAnimatorController.animationClips[0]; clip.AddEvent(evt); }

// the function to be called as an event public void PrintEvent(int i) { print("PrintEvent: " + i + " called at: " + Time.time); } }

変数

animationStateこのイベントを発生させたアニメーションステート(読み取り専用)
animatorClipInfoこのイベントに関連したアニメーションクリップ(読み取り専用)
animatorStateInfoこのイベントに関連したアニメーションステート(読み取り専用)
floatParameterFloat 型のパラメーターを持つイベントを保存し関数に送信します。
functionName関数の名前が呼び出されます。
intParameterInt 型のパラメーターを持つイベントを保存し関数に送信します。
isFiredByAnimatorアニメーターコンポーネントでアニメーションイベントを発生させる場合、true を返します。
isFiredByLegacyアニメーションコンポーネントでアニメーションイベントを発生させる場合、true を返します。
messageOptions関数読み出し時のオプション。
objectReferenceParameterオブジェクト参照型のパラメーターを持つイベントを保存し関数に送信します。
stringParameterString 型のパラメーターを持つイベントを保存し関数に送信します。
timeイベントを送信する時間

コンストラクタ

AnimationEvent新規アニメーションイベントを作成します。