1.所有3D物体的基类
2.Sprite3D继承Node
3.所有3D物体都继承自Sprite3D
4.Sprite3D都有一个Transfrom3D对象来决定物体的旋转,缩放,位置
5.Vector3:3D坐标点/3D向量点{x,y,z};
位置:transfrom.localPoition--->相对于父节点坐标系下的位置坐标;transfrom.position---》世界坐标,相对于世界坐标系(0,0,0)下的位置坐标。
平移:transfrom.translate(new Laya.Vector3(0,0,-1));z轴每次平移一个单位和unity类似
缩放:transfrom.scale();与unity类似
旋转:yaw:---》y轴,pitch---》x轴,roll:---》z轴;Laya里面是按照y-x-z顺序将物体旋转到任意角度,unity是z-x-y顺序旋转。
欧拉角旋转:
this.cube.transfrom.rotationEuler = new Laya.Vector3(15,0,0);绕x轴旋转15度
四元数旋转:
var rota = new Laya.Quaternion();
Laya,Quaternion.createFromYawPitchRoll(0,15,rota);
this.cube.transform.rotation = rota;
rotate旋转,不停旋转(默认是弧度,如果是度,在后面参数加false):
var w = 120;
this.cube.transfrom.rotate(new Laya.Vector3(0,wdt,0),false,false);
朝向LookAt:让物体的前方朝向某个位置
方向:getForward/getUp/getRight世界坐标系下的向量(前方(-z),头顶(+y),右边(+x));
var forward = new Laya.Vector3(0,0,0);
this.cube.transform.getForward(forward);
var s= 5dt;
var offset = new Laya.Vector3(sforward.x,sforward.y,s*forward.z);
this.cube.transform.translate(offset,true);
网友评论