在 Cocos Creator 3.0 中,游戏场景(Scene)是游戏开发时组织游戏内容的中心,也是呈现给玩家所有游戏内容的载体。而场景文件本身也作为游戏资源存在,并保存了游戏的大部分信息,也是创作的基础。
创建方式有两种:
scene.scene
场景文件。Cocos Creator 3.0 的工作流程是以组件式开发为核心的,组件式架构也称作 实体 — 组件架构(Entity-Component System),简单来说,就是以组合而非继承的方式进行游戏中各种元素的构建。
在 Cocos Creator 3.0 中,节点(Node) 是承载组件的实体,我们通过将具有各种功能的 组件(Component) 挂载到节点上,来让节点具有各式各样的表现和功能。接下来我们看看如何在场景中创建节点和添加组件。
节点是场景的基础组成单位。节点之间是树状的组织关系,每个节点可以有多个子节点
要最快速地获得一个具有特定功能的节点,可以通过 层级管理器 左上角的 创建节点 按钮,创建一个Sphere(球体)节点:
之后我们就可以在 场景编辑器 和 层级管理器 中看到新添加的 Sphere 节点了。新节点命名默认为 Sphere
,表示这是一个主要由 Sphere 组件负责提供功能的节点。您也可以尝试再次点击 创建节点 按钮,选择其他的节点类型,可以看到它们的命名和表现会有所不同。需要注意的是:创建 UI 节点时会自动创建一个 Canvas 节点作为 UI 节点的根节点。
Position
:位置Rotation
:旋转Scale
:缩放Mobility
:节点的可移动性。不同的可移动性会导致节点在光照上有不同的特性和表现
Layer
:设定节点的可见性能力属性检查器 中以 Node
标题开始的部分就是节点的属性,节点属性包括了节点的位置、旋转、缩放等变换信息。
接下来以 cc.MeshRenderer
标题开始的部分就是 Sphere 上挂载的 MeshRenderer 组件的属性。在 Creator 中,MeshRenderer 组件用于渲染静态的 3D 模型,其中的 Mesh
属性用于指定渲染所用的网格资源。因为我们刚刚创建的是 Sphere 节点,所以这里默认是 sphere.mesh
。而 Materials
属性用于指定渲染所用的材质资源。
世界坐标系也叫做绝对坐标系,在 Cocos Creator 3.0 游戏开发中表示场景空间内的统一坐标体系,「世界」用来表示我们的游戏场景。
Creator 3.0 的世界坐标系采用的是笛卡尔右手坐标系,默认 x 向右,y 向上,z 向外,同时使用 -z 轴为正前方朝向。
本地坐标系也叫相对坐标系,是和节点相关联的坐标系。每个节点都有独立的坐标系,当节点移动或改变方向时,和该节点关联的坐标系将随之移动或改变方向。
Creator 3.0 的 节点(Node) 之间可以有父子关系的层级结构,我们通过修改节点的 Position
属性设定的节点位置是该节点相对于父节点的 本地坐标系,而非世界坐标系。最后在绘制整个场景时 Creator 会把这些节点的本地坐标映射成世界坐标系坐标。