平移与缩放
程序员文章站
2022-03-26 17:22:08
...
1)笔记
1)3D物体位置 和 平移的控制
(1)cocos 3d 2种坐标系下的坐标: 世界坐标、本地坐标, 与2D有所区别
Position: Vec3-->三维向量xyz
获取节点坐标:
Node: 类里面有数据成员
position: 获取本地坐标(相对于父亲节点的坐标)
readonly,只获取不修改,不然就pos = xx,不要这样写
this.node.setPosition(0,0,0)
this.node.setPosition(cc.v3(0,0,0))
worldPosition: 获取物体的世界坐标
标准的修改函数:
this.node.setWorldPosition(0,0,0)
this.node.setWorldPosition(cc.v3(0,0,0))
Readonly的原因:
pos = this.node.position;
pos = this.node.getPosition();-->new一个Vec3,因此不会修改
后面就会使用pos:
pos= new Vec3(0, -10, 0)
this.node.getPosition(pos)
2)translate(位置增量的一个向量 , 局部/世界): 往前走100米
因为物体可能旋转,因此局部的走100米和世界走100米不一样
Node.NodeSpace.World
3)缩放
缩放是一个三维向量,你分别在xyz缩放多少,3D缩放(x,y,z) x方向缩放几倍 y方向缩放几倍 z方向缩放几倍
scale(本地缩放): 自己相对于父亲缩放1倍 编辑器上的就是本地缩放-->本地缩放是相对于它的父亲
worldScale(世界缩放): 你相对于父亲(2,2,2) 父亲相对于它的父亲(2,2,2) 整体则是4,4,4--》世界缩放要叠加它的父亲
4)
只读的是同一个内存
get: 新的内存
上一篇: 设计数字时钟