3D Node
文: youyou
Node Api 升级
由于 Cocos Creator 在 v2.1 支持了 3D 的特性,所以相应节点的 api 也需要由 2D 升级到支持 3D 的使用。
影响比较大的改动是 rotation 的类型会从 Number
改为 cc.Quat
,如果要像之前那样在 2D 空间方便旋转节点,那么可以使用 angle
属性。相应的 setRotation
和 getRotation
也会改为使用 cc.Quat
。
具体的升级请参考下表:
API | v2.0.3 | v2.1 - 2.4 | v2.5 |
---|---|---|---|
rotationX, rotationY | KEEP | DEPRECATE,USE eulerAngles | DEPRECATE |
rotation | KEEP,number | DEPRECATE,USE angle | GET cc.Quat |
angle | ADD,= -rotation | -rotation | -rotation |
scale | KEEP,number | KEEP,number | KEEP,number |
getRotation() | KEEP,number | DEPRECATE,USE angle | GET cc.Quat |
getRotation(cc.Quat) | GET cc.Quat | ||
setRotation | KEEP | DEPRECATE SET Number ,USE angle | SET cc.Quat |
setRotation | SET cc.Quat | ||
getScale() | KEEP,number | DEPRECATE,USE scale | GET cc.Vec2 / cc.Vec3 |
getScale(cc.Vec2/cc.Vec3) | GET cc.Vec2 / cc.Vec3 | ||
setScale | KEEP | KEEP | KEEP |
position | cc.Vec2 | cc.Vec3 | cc.Vec3 |
开启 3D 节点
Cocos Creator 2.1 加入了 3D 支持后,节点会分为 2D 节点和 3D 节点,他们的区别在于 2D 节点在做矩阵计算或者一些属性设置的时候只会在 2D 空间下进行考虑,这样能节省很大一部分运行开销。
默认新创建出来的节点都是 2D 节点,有以下两种方式可以设置该节点为 3D 节点:
- 点击 属性检查器 右上方的 3D 按钮进行切换:
可以看到,当节点切换为 3D 节点后,旋转、位移、缩放等参数中,可以设置的值都从两个变成了三个,增加了 Z 轴坐标。这样在 属性检查器 中我们就可以很方便的编辑节点的 3D 属性了。
- 在代码中切换
node.is3DNode = true;