AnimationEvent

class in UnityEngine

Cambiar al Manual

Descripción

AnimationEvent lets you call a script function similar to SendMessage as part of playing back an animation.

Animation events support functions that take zero or one parameter. The parameter can be a float, an int, a string, an object reference, or an 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"); } }

A more detailed example below shows a more complex way of creating an animation. In this script example the Animator component is accessed and a Clip from it obtained. (This clip was set up in the Animation window.) The clip lasts for 2 seconds. An AnimationEvent is created, and has parameters set. The parameters include the function PrintEvent() which will handle the event. The event is then added to the clip. This all happens in Start(). Once the game has launched the event is called after 1.3s and then repeats every 2s.

// 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); } }

Variables

animationStateThe animation state that fired this event (Read Only).
animatorClipInfoThe animator clip info related to this event (Read Only).
animatorStateInfoThe animator state info related to this event (Read Only).
floatParameterFloat parameter that is stored in the event and will be sent to the function.
functionNameThe name of the function that will be called.
intParameterInt parameter that is stored in the event and will be sent to the function.
isFiredByAnimatorReturns true if this Animation event has been fired by an Animator component.
isFiredByLegacyReturns true if this Animation event has been fired by an Animation component.
messageOptionsFunction call options.
objectReferenceParameterObject reference parameter that is stored in the event and will be sent to the function.
stringParameterString parameter that is stored in the event and will be sent to the function.
timeThe time at which the event will be fired off.

Constructores

AnimationEventCrea un nuevo evento de animación.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961