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.xv3.x
rotationX, rotationYKEEP NumberDEPRECATE,
USE eulerAngles
DEPRECATE
rotationKEEP NumberDEPRECATE,
USE angle
GET cc.Quat
angleADD,= -rotation-rotation-rotation
scaleKEEP NumberKEEP NumberKEEP Number
getRotation()KEEP NumberDEPRECATE,
USE angle
GET cc.Quat
getRotation(cc.Quat)GET cc.Quat
setRotationKEEP NumberDEPRECATE SET Number
USE angle
SET cc.Quat
setRotationSET cc.Quat
getScale()KEEP NumberDEPRECATE,
USE scale
GET cc.Vec2 / cc.Vec3
getScale(cc.Vec2/cc.Vec3)GET cc.Vec2 / cc.Vec3
setScaleKEEP NumberKEEP NumberKEEP Number
positionKEEP cc.Vec2GET cc.Vec3GET cc.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 节点的颜色和透明度设置,在部分渲染组件上可能不会生效。