在Unity3d的AnimatorController中,使用Layers来实现对复杂动画的控制,例如身体的不同部位的独立控制(下半身行走跳跃,上半身攻击投掷),你可以在AnimatorController的左上角选中Layers,然后管理你的动画层
选中某一层,然后点击齿轮图标可以打开设置窗口,可以来调整该动画层的权重等属性。
在每一层你都可以给其指定一个AvatarMask和混合模式(Override意味着来自其他层的信息将会被忽略,Additive意味着这一层的动画数据将会被叠加在上一层的上面)
有时候我们一个状态机可能需要在多个层上重复使用,这时候我们可以勾选Sync,但是勾选之后之前在该层设置的状态机便会失效,也就是说勾选了Sync之后该层不再具备其自己的状态机,而是成为了其同步状态机的一个实例,任何在该状态机上的修改都会同步作用在其源动画层(SourceLayer)上, 和源动画层唯一不相同的改变在于各个状态所选用的动画不一样。
Timing复选框勾选上之后可以允许Aniamtor调整在同步层里每一个动画所消耗的时间,必须在Blending为Override且Sync处于勾选的状态时可以勾选。如果没有勾选,则动画时间等同于源动画层时间,勾选了之后,那么动画时间将根据权重在所有动画之间取一个平衡。