3D Node

文:youyou

Node Api 升级

由于 Cocos Creator 在 v2.1 支持了 3D 的特性,所以相应节点的 api 也需要由 2D 升级到支持 3D 的使用。

影响比较大的改动是 rotation 的类型会从 Number 改为 cc.Quat,如果要像之前那样在 2D 空间方便旋转节点,那么可以使用 angle 属性。相应的 setRotationgetRotation 也会改为使用 cc.Quat

具体的升级请参考下表:

APIv2.0.3v2.1 - 2.4v2.5
rotationX, rotationYKEEPDEPRECATE,USE eulerAnglesDEPRECATE
rotationKEEP,numberDEPRECATE,USE angleGET cc.Quat
angleADD,= -rotation-rotation-rotation
scaleKEEP,numberKEEP,numberKEEP,number
getRotation()KEEP,numberDEPRECATE,USE angleGET cc.Quat
getRotation(cc.Quat)GET cc.Quat
setRotationKEEPDEPRECATE SET Number,USE angleSET cc.Quat
setRotationSET cc.Quat
getScale()KEEP,numberDEPRECATE,USE scaleGET cc.Vec2 / cc.Vec3
getScale(cc.Vec2/cc.Vec3)GET cc.Vec2 / cc.Vec3
setScaleKEEPKEEPKEEP
positioncc.Vec2cc.Vec3cc.Vec3

开启 3D 节点

Cocos Creator 2.1 加入了 3D 支持后,节点会分为 2D 节点和 3D 节点,他们的区别在于 2D 节点在做矩阵计算或者一些属性设置的时候只会在 2D 空间下进行考虑,这样能节省很大一部分运行开销。

默认新创建出来的节点都是 2D 节点,有以下两种方式可以设置该节点为 3D 节点:

  • 点击 属性检查器 右上方的 3D 按钮进行切换:

3d-node-inspector

可以看到,当节点切换为 3D 节点后,旋转、位移、缩放等参数中,可以设置的值都从两个变成了三个,增加了 Z 轴坐标。这样在 属性检查器 中我们就可以很方便的编辑节点的 3D 属性了。

  • 在代码中切换
  1. node.is3DNode = true;

注意:3D 节点的颜色和透明度设置,在部分渲染组件上可能不会生效。