1、创建新的状态层
a) 通过下图的1button创建一个新的层
b) 通过下图2属性设置图层的权重。假设为0,则该图层的状态不会影响到总的状态机
c) Mask是设置动画的Avatar的关联节点,创建Avatar Mask之后能够编辑
2、编辑Avatar Mask:点击能够改变状态,假设红色则该节点不关联动画
3、获取指定状态层的状态的Hash名:
int reloadHashName = Animator.StringToHash("Layer2.Reload");
获取的方式:状态层名称.状态名
作用:获取到的名称用于在游戏更新时推断状态机当前状态是否为指定状态
4、获取游戏更新时状态机的状态信息
private AnimatorStateInfo layer2StateInfo;
layer2StateInfo = anima.GetCurrentAnimatorStateInfo (1);
通过当前的动画控制器获取指定状态层的状态信息,
GetCurrentAnimatorStateInfo 的參数是层的索引。从0開始
5、获取当前状态机的状态哈希名
layer2StateInfo.shortNameHash
6、案例:做一人物在行走的同一时候能够进行取枪动作的DEMO