[0]修改localRotationEuler的问题

从unity导入的场景,场景里物体的初始角度localRotationEuler为(90,0,0),在onStart或者OnAwake里面改变localRotationEulerY为90时,旋转的位置不对,打印出来的角度是(0,90,0)。但如果在改变localRotationEulerY之前打印一下localRotationEuler的值(打印出来的和unity导出来的值一样),再去改变localRotationEulerY的值就是正确的,这是为什么?
QQ图片20210806141652.png


QQ图片20210806141725.png
已邀请:

Laya_Fred

赞同来自: layabox

您好,这个bug在下个版本会进行修复,这里提供给您两个暂时的解决方案:
方案一:获取下localRotationEuler属性,再进行赋值操作,代码如下。
// 刷新下数值
var temp = this.model.transform.localRotationEuler;
// 再进行修改
this.model.transform.localRotationEulerY = 90;
方案二:在laya.d3.js中,在set localRotationEulerX、set localRotationEulerY、set localRotationEulerZ等属性方法内进行修改,代码如下:
set localRotationEulerX(value) {
var localEuler = this.localRotationEuler;
localEuler.x = value;
this.localRotationEuler = localEuler;
}

小小泽

赞同来自:

感谢你的反馈,可以的话能不能提供一个可以复现的demo?这样我们能更方便定位到问题

赞同来自:

好的,这个是Demo,里面有unity的资源

小小泽

赞同来自:

好的,感谢你的demo,有进展会回复你的哦

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作