cocoscreator2.1.2旋转3D问题,setRotation第一个参数是四元数cc.Quat,为什么还需要后面三个参数,y,z,w

cc.Node.setRotation(cc.Quat,y,z,w);这个用法好奇怪,四元素cc.Quat不是已经包括所有的旋转信息了吗(x,y,z,w),为什么还需要加后面那三个参数,后面那三个参数代表什么。而且不管这四个参数怎么填,3d物体直接消失不见了,根本没有旋转效果,只能将就用node.rotation,node.rotationX,node.rotationY这三个属性达到旋转效果

一个3d物体执行以下旋转代码,直接消失不见
var quaternion:cc.Quat = new cc.Quat();
quaternion.toEuler(new cc.Vec3(0,90,0));
this.node.is3DNode = true;
this.node.setRotation(quaternion,1,0,0);

setRotation没什么用啊

这个方法的意思是可以传入一个cc.Quat或者是四个分量(x,y,z,w),所以按你写法直接this.node.setRotation(quaternion)就可以了

我用ts写的,如果只传一个cc.Quat,vscode直接提示代码错误,需要写满4个参数

creator的代码提示,自己改。很多可以缺省的参数他都会报错。

一切方法的使用以源码为准

开启物理引擎之后,就无法旋转了