1.Animator组件

为了让Unity中的GameObject动起来,我们使用Animator组件
Animator组件会有很多属性,会根据动画对象而略不同

比如3D人类模型与2D Sprite的设置选项就不相同

当场景中有一个模型 这个模型添加了"Animator组件
组件的第一个属性 用于存储引用的"Animator Controller"
"Animator Controller"是由Unity生成的资源,它包含一个或多个状态机
从而决定场景运行时,播放哪个动画

这个状态机可以存在于多个动画层中,并使用各种类型的参数
用于决定状态机的转换和融合
比如 你可以在脚本中设置动画控制器的参数
让角色奔跑、跳跃、或是开枪设机
它将会自动播放并融合动画
Avator是Unity中导入3D人类模型时创建的资源
它会绑定角色模型的骨骼信息
当添加了这种类型的角色时 "Avatrar"选项会自动获取对应的资源
你可以把Avatar想象程粘合剂,它会绑定模型动画,只受"Animator"控制
对于没有骨骼绑定的对象而言,不需要使用"Avatar"

Apply Root Motion选项决定动画是否受对象Transform控制
使用3D人类模型通常会勾上这个选项
Root Motion是移动动画剪辑的核心
例如 想象下角色原地踏步与向前行走的不同之处
后者可以通过角色向前行走的动画去驱使色移动并通过循环播放动画剪辑让动作连续且真实
但如果你只有角色原地踏步的动画,那么就不要勾选"Apply Root Motion"选项
然后需要通过脚本来控制角色移动

你还可以通过脚本完全覆盖这个选项
public class AnimatorMoveScript : MonoBehaviour
{
     void OnAnimatorMove()
     {
          
     }
}
在脚本中使用OnAnimatorMove()函数 并把他添加到相应对象中
要了解更多相关信息 请查询官网
Anemate Physics可以勾选 或不勾选
如果勾选此选项 那么动画播放时将使用物理引擎
通常 当动画对象中包含缸体组件时,勾上这个选项
Culling Mode决定动画何时播放
Alyays Animate表示 动画会一直播放 无论对象是否被渲染
Base On Renders表示 动画只会在对象被渲染时才播放
也就是说当对象被遮住时 动画将停止播放 用于节省性能

但无聊选择哪个选项 "Root Motion"将不受影响
如果角色通过 Root Motion移动,那么它将继续移动,即使没有被渲染
所以当再次看到角色时,它还是处在正确的位置上


你可能感兴趣的:(1.Animator组件)