版本: Unity 6 (6000.0)
语言English
  • C#

Animation

UnityEngine 中的类

/

继承自:Behaviour

/

实现于:UnityEngine.AnimationModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

动画组件用于播放动画。

您可以将动画剪辑分配给动画组件,并从脚本中控制播放。Unity 中的动画系统基于权重,支持动画混合、叠加动画、动画混合、图层以及对所有播放方面的完全控制。

有关 Unity 中动画脚本编写的概述,请阅读此简介

AnimationState 可用于更改动画的图层、修改播放速度以及直接控制混合。

此外,Animation 支持枚举器。循环遍历所有 AnimationState 的方式如下所示

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Animation anim;

void Start() { anim = GetComponent<Animation>(); foreach (AnimationState state in anim) { state.speed = 0.5F; } } }

其他资源:Unity 中动画脚本编写的概述在此处

属性

animatePhysics启用后,物理系统将使用具有运动学刚体组件的 GameObjects 的动画变换来影响其他 GameObjects。
clip默认动画。
cullingType控制此 Animation 组件的剔除。
isPlaying当前是否正在播放动画?
localBounds此 Animation 动画组件在本地空间中的 AABB。
playAutomatically默认动画剪辑(Animation.clip 属性)是否应在启动时自动开始播放?
this[string]返回名为 name 的动画状态。
updateMode指定 Animation 的更新模式。
wrapMode剪辑播放范围之外的时间应如何处理?

公共方法

AddClip使用名称 newName 将剪辑添加到动画中。
Blend在接下来的 time 秒内,将名为 animation 的动画混合到 targetWeight。
CrossFade在由 fadeLength 定义的一段时间内淡入名为 animation 的动画。
CrossFadeQueued在之前的动画播放完成后淡入动画。
GetClipCount获取当前分配给此动画的剪辑数量。
IsPlaying名为 name 的动画是否正在播放?
Play播放动画,不进行混合。
PlayQueued在之前的动画播放完成后播放动画。
RemoveClip从动画列表中移除剪辑。
Rewind倒回名为 name 的动画。
Sample在当前状态下采样动画。
Stop停止使用此 Animation 启动的所有正在播放的动画。

继承的成员

属性

enabled启用的行为会被更新,禁用的行为不会被更新。
isActiveAndEnabled报告 GameObject 及其关联的行为是否处于活动状态并已启用。
gameObject此组件附加到的游戏对象。组件始终附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags对象是否应隐藏、与场景一起保存或用户可修改?
name对象的名称。

公共方法

BroadcastMessage在此游戏对象或其任何子对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
CompareTag将 GameObject 的标签与定义的标签进行比较。
GetComponent获取与指定组件相同的 GameObject 上类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件相同的 GameObject 或任何子对象上类型为 T 的组件的引用。
GetComponentIndex获取组件在其父 GameObject 上的索引。
GetComponentInParent获取与指定组件相同的 GameObject 或任何父对象上类型为 T 的组件的引用。
GetComponents获取与指定组件相同的 GameObject 上所有类型为 T 的组件的引用。
GetComponentsInChildren获取与指定组件相同的 GameObject 及其任何子对象上所有类型为 T 的组件的引用。
GetComponentsInParent获取与指定组件相同的 GameObject 及其任何父对象上所有类型为 T 的组件的引用。
SendMessage在此游戏对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
SendMessageUpwards在此游戏对象及其行为的每个祖先上调用名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某个 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用以查看它们是否引用相同的对象。