1.产品定位
Cocos Creator 是以内容创作为核心,实现了脚本化、组件化和数据驱动的游戏开发工具。具备了易于上手的内容生产工作流,以及功能强大的开发者工具套件,可用于实现游戏逻辑和高性能游戏效果。
2.工作流程
3.项目文件夹结构
初次创建并打开一个 Cocos Creator 项目后,开发者项目文件夹的结构如下:
-
assets
:资源目录 -
build
:构建目录(在构建某平台后会生成该目录) -
library
:导入的资源目录 -
local
:日志文件目录 -
profiles
:编辑器配置 -
temp
:临时文件目录 -
package.json
:项目配置资源文件夹(assets)
assets
用来放置游戏中所有的本地资源、脚本和第三方库文件。只有在assets
目录下的内容才能显示在 资源管理器 中。assets
中的每个文件在导入项目后都会生成一个相同名字的.meta
文件,用于存储对应的资源配置和索引信息。.meta
文件需要一并提交到版本控制系统 。构建目标(build)
在使用编辑器主菜单中的 项目 -> 构建发布 使用默认发布路径发布项目后,编辑器会在项目路径下创建
build
目录,并存放所有目标平台的构建工程。资源库(library)
library
是将assets
中的资源导入后生成的,在这里文件的结构和资源的格式将被处理成最终游戏发布时需要的形式。当
library
丢失或损坏的时候,只要删除整个library
文件夹再打开项目,就会重新生成资源库。本地设置(local)
local
文件夹中包含该项目的本机上的配置信息,包括编辑器面板布局、窗口大小、位置等信息。开发者不需要关心这里的内容。编辑器配置(profiles)
profiles
文件夹中包含编辑器的配置信息,包括各目标平台的构建配置信息、场景配置信息等。扩展插件文件夹(extensions)
extensions
文件夹用于放置此项目的自定义扩展插件。如果需要手动安装扩展插件,可以手动创建该文件夹。如需卸载扩展插件,在extensions
中删除对应的文件夹即可。项目设置(settings)
settings
里保存特定项目相关的设置,如 项目设置 面板中相关的配置信息等。如果需要在不同开发者之间同步项目设置,请将 settings 目录加入到版本控制。临时文件夹(temp)
temp
是临时文件夹,用于缓存一些 Cocos Creator 在本地的临时文件。这个文件夹可以在关闭 Cocos Creator 后手动删除,开发者不需要关心这里面的内容。package.json
package.json
文件和assets
文件夹一起,作为验证 Cocos Creator 项目合法性的标志,只有包括了这两个内容的文件夹才能作为 Cocos Creator 项目打开。开发者不需要关心里面的内容。
4.编辑器界面
- (A)层级管理器:以树状列表的形式展示场景中的所有节点和它们的层级关系,所有在 场景编辑器 中看到的内容都可以在 层级管理器 中找到对应的节点条目,在编辑场景时这两个面板的内容会同步显示,一般我们也会同时使用这两个面板来搭建场景。
- (B)资源管理器:显示了项目资源文件夹(
assets
)中的所有资源。这里会以树状结构显示文件夹并自动同步在操作系统中对项目资源文件夹内容的修改。您可以将文件从项目外面直接拖拽进来,或使用菜单导入资源。 - (C)场景编辑器:用于展示和编辑场景中可视内容的工作区域。通过在场景编辑器中搭建场景,即可获得所见即所得的场景预览。
- (D)动画编辑器:用于编辑并存储动画数据。
- (E)属性检查器:用于查看并编辑当前选中节点和组件属性的工作区域,这个面板会以最适合的形式展示和编辑来自脚本定义的属性数据。
- (F)项目预览:在场景搭建完成之后,在 Web 或原生平台预览游戏的运行效果。
5.场景编辑器
场景编辑器 是内容创作的核心工作区域,用于选择和摆放场景图像、角色、特效、UI 等各类游戏元素。在这个工作区域内可以选中并通过 变换工具 修改节点的位置、旋转和缩放等属性,并可以获得所见即所得的场景效果预览。
6.层级管理器
7.资源管理器
资源管理器 面板是用于访问和管理项目资源的重要工作区域。在开始制作游戏时,导入资源 通常是必须的步骤。在新建项目时可以使用 HelloWorld 模板项目,就可以看到 资源管理器 中已经包含了一些基本资源类型。
8.场景制作工作流程
场景是游戏中的环境因素的抽象集合,是创建游戏环境的局部单位,我们可以理解为游戏开发设计人员通过在编辑器中制作一个场景,来表现游戏中的一部分世界内容。
场景结构
Cocos Creator 通过节点树和节点组件系统实现了自由的场景结构。其中 Node 负责管理节点树的父子关系以及空间矩阵变换 Transform,这样可以轻松地在场景中管理和摆放所有的实体节点。
组件系统赋予了节点各种各样的高级功能,比如模型渲染(MeshRenderer 组件)、动画(Animation 组件)、光源(Light 组件)、地形(Terrain 组件)等。其中 3D 场景中的必要元素是 Camera 组件,Camera 组件代表的是游戏中的玩家视角,没有 Camera 就什么也看不见。因而在创建场景时,Creator 会默认创建一个挂载了 Camera 组件的节点。
场景制作相关工作流程
- 场景资源
- 节点和组件
- 坐标系和节点属性变换
- 节点层级和显示顺序
- 使用场景编辑器搭建场景
- 天空盒
- 全局雾
- 阴影
9.资源类型
- 场景资源
- 图像资源
- 纹理贴图资源
- 精灵帧资源
- 立方体贴图资源
- 图像资源的自动裁剪
- 图集资源
- 渲染纹理
- 预制资源
- 脚本资源
- 字体资源
- 音频资源
- 材质资源
- 模型资源
- 从第三方工具导出模型资源
- glTF 模型
- 动画资源
- Spine 骨骼动画资源
- DragonBones 骨骼动画资源
- TiledMap 瓦片图资源
- JSON 资源
- 文本资源
10.脚本及事件机制
Cocos Creator 脚本用于实现用户定义的(游戏)行为,支持 JavaScript 和 TypeScript 两种编程语言。通过编写脚本组件,并将它挂载到场景节点中来驱动场景中的物体。
在组件脚本的编写过程中,开发者可以通过声明属性,将脚本中需要调节的变量映射到 属性检查器 中,以便策划和美术进行调整。与此同时,也可以通过注册特定的回调函数,来帮助初始化、更新甚至销毁节点。