Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元

保留y轴旋转,其他不要

 

Vector3 eulerAngle=animator.deltaRotation.eulerAngles;//直接转为欧拉角

 

transform.rotation=new Vector3(0,eulerAngle.y,0);

 

 

[展开全文]
czt5yue11 · 2023-10-17 · 0

animator.MatchTarget(target.position,taget.rotation,AvatarTarget.RightHand,new MatchTargetWeightMask(Vector3.one,1),0,0)

 

target.position  目标的位置

target.rotation  与目标的旋转保持一致

[展开全文]
czt5yue11 · 2023-10-17 · 0

animator.MatchTarget

第一个参数:

匹配位置,胸口

第二个参数

匹配物体的旋转角度。匹配胸口的旋转是否一致

第三个参数

匹配的部分

 

[展开全文]
czt5yue11 · 2023-10-17 · 0

屏蔽几个相同类型的动画根运动

animator.GetCurrentAnimatorStateInfo(0).IsTag("NeedMove")

 

在动画状态的Tag打上自己的tag

[展开全文]
czt5yue11 · 2023-10-17 · 0

启用根运动:

1.Animator组件的Apply Root Motion打勾

2.对应动画的Animator设置不要打勾

 

移动跳跃不适用根运动

 

bug1:

子对象进行根运动时,只会作用在子对象自己身上。父对象不受影响

修改方法:

将父对象的位置加上animator产生的位移

private void OnAnimatorMove()

{

    cbc.transform.position+=animator.deltaPosition;

cbc.transform.rotation*=animator.deltaPosition;

}

其中cbc是该物体的父物体的引用

其中旋转是*=,不是+=

 

 

 

[展开全文]
czt5yue11 · 2023-10-17 · 0