【官网已发布】诚意满满~ Cocos Creator 3D v1.2 开启公测!

v1.2 版本是 v3.0 前最重要的一次大版本更新,Cocos Creator 3D 这条支线也将停止在 v1.2.x 版本上。之后我们将全力带给大家 2D 和 3D 融合后的 Cocos Creator v3.0 版本,届时 3D 引擎将在 Creator 主版本中涅槃重生,并开启我们最为重要的新旅程:将 Cocos Creator 打造为世界级游戏引擎。

PRECAUTION

升级前请注意文末的 API 变动和 Breaking changes


下载地址


重大功能更新

1. 编辑器插件系统

Cocos Creator 3D 的编辑器在 Creator 2.x 的基础上做了大幅度的升级,其中最重要的升级就是编辑器框架重构为更彻底的微内核模式,几乎所有功能模块都是以插件形式存在于编辑器中。所以 3D 引擎从诞生之初就是天然支持插件扩展的,只是由于各个模块消息和插件机制的整理进度,所以之前版本中一直都没有开放插件体系给开发者。在最新的 v1.2 版本中,我们完成了基础的插件机制文档和各个模块的插件接口、消息等,所以终于可以开放给开发者们,满足大家定制工作流的需求。对此感兴趣的开发者可以关注下面两个文档链接

2. 光影增强

在之前的 Creator 3D 引擎中,我们对光影的支持还不够完善,仅能够支撑一些较简单的项目需求,具体限制是有两点:

  1. 同一视角下,动态光源只允许两盏
  2. 阴影只支持 Planar Shadow 平面投影

而在 v1.2 中,引擎对光源和阴影都做了重构和升级,目前已完成

  1. 基于多 Pass 的多光源支持,不过主方向光仍然只支持一盏
  2. 基于 Shadow Map 的方向光动态阴影,使用方式和之前的 Planar Shadow 平面阴影保持一致
  3. 光源和阴影的渲染都支持 GPU Instancing 合批

未来还会对聚光灯支持 Shadow Map 动态阴影。

3. 编辑器内游戏预览

v1.2 新增了 Game View 预览视图,支持在编辑器内直接运行游戏。开发者在顶部主工具栏的预览按钮左侧可以找到一个新的预览模式选择下拉框,可以选择使用浏览器或 Game View 进行预览。在 Game View 预览的状态下,场景编辑器、属性面板下的所有操作都会被实时更新到 Game View 窗口中。

也可以使用暂停按钮进行实时调试,使用步进按钮逐帧执行。

4. 动画编辑器体验优化

动画编辑器是我们一直在持续优化的重要模块,本次 v1.2 又完成了新一轮体验上的优化,具体优化如:

  • 支持节点树面板中节点的搜索与显示过滤
  • 支持复制粘贴节点上的所有动画数据
  • 支持跨编辑器复制粘贴动画数据(节点、轨道与关键帧)
  • 支持多选节点后批量添加属性轨道
  • 关键帧选取和取消选取操作优化

在这些优化基础上,动画编辑工作的效率将得到更大的提升,比如多选节点后,批量添加关键帧,在 Inspector 中批量编辑关键帧动画数据,可以轻松同步属性的修改到不同节点上;再比如从某个编辑好的节点上复制粘贴完整动画数据到另一个节点上。

5. 物理模块增强

与动画模块一样,物理模块的功能也在不断的增强之中,v1.2 之中我们基本补全了游戏中需要的刚体碰撞体,并且开始添加各种约束组件的支持,对物理类游戏的支持得到了极大地增强。下面是具体的新功能:

  • 项目配置中添加物理碰撞组设置面板
  • 添加单形、圆锥、平面、地形等碰撞体
  • 添加点到点、铰链约束组件
  • 网格碰撞器添加凸包近似功能
  • 碰撞体添加获取包围盒和包围球的接口


6. 脚本系统优化

在脚本系统方面,v1.2 完成了引擎分模块导出,这样做的好处主要有两个:第一,提高加载引擎过程中的并发数量,优化加载时间;第二,支持子模块的动态导入,以物理模块为例,目前已支持 wasm 和 asm.js 版本的动态选择,在支持 WebAssembly 的环境中直接加载 wasm 格式的 ammo 库,其他环境下自动加载兼容性更好的 asm.js 格式 ammo 库。

除此之外,我们也优化了编辑器中脚本编译的性能,尤其是对存在大量脚本的项目,可以大幅度提高脚本更改时的效率。同时,预览项目也会应用项目设置中的引擎模块选择,加强了预览和构建体验的统一性。

7. 构建系统优化

构建系统的优化项主要是以下几点

  • 开放自定义构建插件,可以参考插件系统中的构建插件文档
  • 构建结果的 settings.js 改为 settings.json,并放置在 res 下,允许作为资源上传服务器
  • 构建任务原来的查看构建配置已经换为修改构建配置,直接修改就会保存记录
  • 构建平台选择上拆分了原有的 Native 平台,方便定制构建流程,输出结果与之前一致

8. 支持 ASTC 压缩纹理

v1.2 新增 ASTC 压缩纹理支持,相比于 ETC 和 PVR 等传统压缩纹理格式,ASTC 是功能和性能都更优秀的下一代移动端压缩纹理统一标准。在 v1.2 中,我们还优化了压缩纹理的配置方式,在项目配置中开发者可以建立压缩纹理的预设配置,贴图的配置中只需要选择预设即可,大大节省了之前需要逐贴图配置的时间。

9. 全局雾效

这是一个本来计划在 v1.1.1 中添加的功能,但引擎组出于对稳定性的负责任态度,我们决定未来不在第三位小版本中添加功能,所以被延期到 v1.2 中。目前的雾效功能是采用顶点着色器来计算混合因子并用于片元着色器中的颜色混合,除了支持常规的 Linear、Exponential、Exponential Square 雾化处理算子以外,还支持了 Layered 处理算子。使用上只需要在场景节点上,进行全局雾效的配置即可。

Linear Fog

Layered Fog

10. 模型资源预览

编辑器中选中模型后可以对模型资源进行全方位预览,也可以查看默认材质中使用的各种贴图。

11. 渲染层重构

从今年年初开始,我们已经加大了对原生渲染器的研发投入,即将在 v3.0 中推出高性能的多后端渲染器。不仅兼容 Vulkan、Metal 等现代渲染后端,在渲染管线层面也尽可能为了发挥现代渲染后端的性能做了大量重构,这些重构也在 v1.2 中落地了一部分,比如多层 Descriptor Set 抽象取代 BindingLayout;Pipeline State Object 的底层复用;资源化渲染管线。这些重构让渲染层更加健壮,也为高性能的原生渲染器做好了准备,敬请期待今年底即将发布的 v3.0。

12. 暴露地形和 2D 组件材质选项

从 v1.2 开始,我们开放了地形组件和 2D 渲染组件的材质属性,所以大家可以自己制作材质并替换。对于地形,只需要在 Terrain 组件上设置 effect 资源。而对于 Sprite 等 2D 渲染组件,也只需要在组件属性面板上添加一个默认的 Material 资源。


API 变动和 Breaking changes

1. 组件类名大规模重构

为了符合 Cocos Creator v2.x 的 API 规范,我们将 3D 中组件类名包含 Component 后缀这样的命名方式舍弃了,并做了数据的自动升级和代码的兼容。不过建议开发者还是要在代码中搜索所有类似命名方式的使用,并尽快更改为无 Component 后缀的类名。可以使用下面正则表达式进行全局搜索(打开大小写敏感和正则匹配)

([A-Z]\w+)Component

比对照下面的表格进行重命名


与此同时,原本在根命名空间下的一些内部类被迁移到子命名空间下

2. 标准材质小修改

标准材质中删除 PBR 贴图自定义通道的功能,只接受 glTF 标准定义的通道排布,即 RGB 分别对应 occlusion、roughness、metallic。如有使用其他排布组合请升级贴图资源。

3. 自定义材质重新适配

由于增加了光源、shadowmap、fog 等,用户的自定义材质需要参考 builtin-standard 材质进行调整,否则可能导致各种意外的错误

10赞

真棒!:heart_eyes:

终于等到你~:grin:

前排沙发,看起来功能完善了不少,真棒~

期待3.0,3d物理,原生性能,插件系统都是我比较关注的点

期待满满~:two_hearts:

:grin: 刚研究了线性雾,引擎就自带了,真好。

连接点不开啊

这地址能点开才怪

应该是这个地址

https://download.cocos.com/Cocos3D/v1.2.0/CocosCreator3D-v1.2.0-darwin-090315.zip

1赞

抱歉,刚刚更新了正确的地址

玩了半天,先提两个体验上的小问题

1、alt + 鼠标左键旋转,感觉没有老版本灵敏
2、Game View 要是能停靠在编辑器里就好了,现在单开窗口感觉还是不太方便

另外,特别希望在属性设置面板上,能给属性来个恢复默认值的按钮,用起来会很方便。

你好
1.alt+鼠标左键,是不是在第一次进入场景窗口时比较不灵敏,后面就会比较顺了?
2.GameView后面肯定会是嵌入式的,但不是在这个版本,目前GameView还处于实验性质,会有各种小问题,后面会不断完善。
3. 恢复默认值的按钮也在计划中,预计下个版本会加入

Component 去掉好评

打不开,卡在这里了

人工置顶!!!!!!!!!!!!!!!!!

已然奔溃,望而生畏,感觉根本无法直接升级

麻烦用控制台打开,卡住的时候也麻烦用开发者菜单里面的 asset dev tools,看看具体报错是什么,我们会尽快修复。