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