动画组件用于播放动画。
您可以将动画剪辑分配给动画组件,并从脚本中控制播放。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 == | 比较两个对象引用以查看它们是否引用相同的对象。 |