UnityEngine中Animator相关类的说明

----------------------------------------------------------------------

Animator

这个单独写,比较多

AnimationClip 
有个SampleAnimation,可以让Go采样到某个动画时间(直接设置那个时间的姿势)
有个只读的frameRate,帧率,采样频率(暂时不知道有什么应用)

AnimatorClipInfo
只包含AnimationClip和权重信息

AnimationClipPair
包含原始clip和目标clip,暂时不知道有什么用

AnimatorControllerParameter
貌似就是用来控制动画改变条件的
--------------------------------------------------------------------
AnimatorOverrideController
动态替换状态用,不重启动画状态机
AnimatorOverrideController is used to override clips from a controller to specialize some animations for a given avatar.Swapping Animator.runtimeAnimatorController with an AnimatorOverrideController based on the same AnimatorController at runtime doesn't reset state machine's current state.

代码
Animator animator = GetComponent<Animator>();
AnimatorOverrideController overrideController = new AnimatorOverrideController();
animator.runtimeAnimatorController = overrideController;
--------------------------------------------------------------------
AnimatorStateInfo
可以通过Animator获取


AnimatorTransitionInfo
可以通过Animator获取
--------------------------------------------------------------------
AnimatorUtility
里面有重要方法
public static void OptimizeTransformHierarchy(GameObject go, string[] exposedTransforms);

This function will remove all transform hierarchy under GameObject, the animator will write directly 

transform matrices into the skin mesh matrices saving alot of CPU cycles.

第一个方法会把骨骼transform去掉,参数exposedTransforms是保留的骨骼transform名称,被保留的每个transform
会直接绑定到当前gameobject下

public static void DeoptimizeTransformHierarchy(GameObject go);
与第一个函数功能相反,恢复原样

这两个函数的调用都会引起Animator重建
A call to this function at runtime will re-initialize the animator.
--------------------------------------------------------------------

AnimationCurve 代码修改动画曲线时用,貌似很少用手动修改动画曲线
posted @ 2016-04-22 16:47  00000000O  阅读(179)  评论(0编辑  收藏  举报