[LayaAir 2.0]3D模型x方向角度不为0,时。挂刚体和碰撞器。在rotate y方向时。模型会乱转,不挂就没问题
3D模型x方向角度不为0,时。挂刚体和碰撞器。在rotate y方向时。模型会乱转,不挂就没问题
模型x转了-90度
console.log(angle, " lastangel ", this.owner.transform.rotationEuler.y)
this.lastAngle = this.owner.transform.rotationEuler.y;
this.owner.transform.rotate(new Vector3(0, angle - this.lastAngle, 0), false, false)
打印出来看到y方向角度一直在变。
如果直接赋值到rotationEuler就没问题
// this.owner.transform.rotationEuler = new Vector3(-90, angle, 0);
模型x转了-90度
console.log(angle, " lastangel ", this.owner.transform.rotationEuler.y)
this.lastAngle = this.owner.transform.rotationEuler.y;
this.owner.transform.rotate(new Vector3(0, angle - this.lastAngle, 0), false, false)
打印出来看到y方向角度一直在变。
如果直接赋值到rotationEuler就没问题
// this.owner.transform.rotationEuler = new Vector3(-90, angle, 0);
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Aar0n
赞同来自:
2,demo给的不够充分,没有unity资源,
3,经过各种尝试,找到了问题所在,
在使用物理引擎的时候手动去改旋转, 物理还会影响 欧拉角,所以这个值就一直跳,
把场景里的东西 都设置为 运动学类型 "isKinematic":true, 这样子手动操作才不会出问题。 强制设置固定的值当然不会乱跳。
动态计算旋转那个值 是两方面影响的。