Animator状态机下的Layers 下的层的属性Blending
Animator状态机下的Layers 下的层的属性Blending中的Addtive是附加的,Overide是重写,一般是用Addtive做附加使用。重写后原来的动画就不存在了,如何可以只让2只手产生影响,要使用AvatarMask.
使用IK动画设置左手到目标位置
3元运算符判断参数的权重
private void OnAnimatorIK(int layerIndex) //他会一直调用,所以人物的手会一直在目标点
{//IK动画中,你直接在播放中修改IK动画的目标点依然是会产生影响的,很赞。
if(layerIndex ==1)
{
//当前被HoldLog调用的。
int weight = anima.GetBool(isHoldLogID) ? 1 : 0;//如果是true返回1,false返回0
anima.SetIKPosition(AvatarIKGoal.LeftHand, leftHand.position);
anima.SetIKRotation(AvatarIKGoal.LeftHand, leftHand.rotation);
anima.SetIKPositionWeight(AvatarIKGoal.LeftHand, weight);
anima.SetIKRotationWeight(AvatarIKGoal.LeftHand, weight);
//anima.SetIKPosition(AvatarIKGoal.RightHand, rightHand.position);
// anima.SetIKPositionWeight(AvatarIKGoal.RightHand, 1);
anima.SetIKPosition(AvatarIKGoal.RightHand, rightHand.position);
anima.SetIKRotation(AvatarIKGoal.RightHand, rightHand.rotation);
anima.SetIKPositionWeight(AvatarIKGoal.RightHand, weight);
anima.SetIKRotationWeight(AvatarIKGoal.RightHand, weight);
}
}