大家好,引擎组经过了近半年的努力,终于带来了 Cocos Creator 3.0 预览版。Cocos Creator 3.0 集成了原有 2D 和 3D 两套产品的所有功能,带来了诸多重大更新,将做为 Creator 之后的主力版本。同时 3.0 还延续了 Cocos 在 2D 品类上轻量高效的优势,并且为 3D 重度游戏提供高效的开发体验。我们会在 3.0 的基础上大力深耕,用真诚的态度和敬业的精神,踏踏实实完善产品体验,普惠所有开发者。

为了保障现有的 Cocos Creator 2.4 项目平稳过渡,我们会将 2.4 做为 LTS(长期支持)版本,提供后续两年的持续更新!在 2021 年,2.4 将继续更新版本,提供缺陷修复和新的小游戏平台支持,以及 Apple Silicon (M1) 芯片的支持,保障大家的项目成功上线;在 2022 年我们还将为开发者持续提供 2.4 的关键问题修复,保障已上线的游戏平稳运营!因此,

现有的 2.x 项目可以安心继续开发,无需强制升级 3.0。

新项目则建议使用 3.0 版本开发,我们会不断优化 3.0 的开发体验和运行效率,支撑好 2D、3D 等不同品类的重度游戏顺利上线。

而原有的 Cocos Creator 3D 做为 Creator 的分支版本,已经面向中国进行了长达一年的迭代,成功上线了星空大决战、最强魔斗士等重度项目!3.0 发布后,Creator 3D 也将包含在 3.0 中,现有的 1.2 项目都可直接升级,因此 Cocos Creator 3D 后续不会再发布独立版本,还望周知。

此次发布的 3.0 Preview 版本,在功能上已经接近正式版,可以用于新项目立项和特性预研,欢迎大家使用!后续的正式版会在春节前后发布,届时将进一步完善性能、修复问题,确保大家的新项目能顺利推进。

3.0 使用了面向未来的全新引擎架构,将为引擎带来高性能、面向数据及负载均衡的渲染器,并且无缝支持 Vulkan & Metal 多后端渲染,未来还会支持移动端 VR/AR 及部分主机平台。下面对 3.0 Preview 的新特性进行简要介绍。

What’s new

强大的编辑器特性

一体化的编辑器,带来轻量易用的创作体验。Cocos Creator 3.0 在 Cocos Creator 2.x 沿用多年的编辑器框架上进行了重构、拓展和升级。

全新界面设计,更加简洁清晰

启动速度大幅提升,操作体验更上一层楼

资源系统升级,增强对超大项目的支持,更加高效可靠

模块之间代码隔离,纯消息驱动,更加稳定

插件系统彻底模块化,迎接更强大的插件机制

构建

缓存构建内容

在构建之后,Creator 3.0 将会缓存大部分构建内容,包括资源,压缩纹理,自动图集,引擎代码等,在之后构建中,如果没有变化,将直接使用缓存内容,加快构建速度,提升效率。

任务式构建列表

构建发布将以构建任务的形式进行,保存每次构建的配置、状态、log 等,方便切换构建任务以及查看历史配置。

构建后单独编译、生成

提取了各个小游戏平台的生成阶段,允许在构建之后修改文件内容重新生成 rpk/cpk,同时可以支持在编译前后添加构建钩子来定制构建流程。

支持 Asset Bundle

和 2.4 一样,3.0 也使用 Asset Bundle 作为资源模块化工具。开发者可以将贴图、脚本、场景等资源构建为多个 Asset Bundle 中,进而在游戏运行过程中按需加载,从而减少首次下载和加载游戏所需的时间。Asset Bundle 可以按需求随意放置,比如可以放在远程服务器、本地,或者小游戏平台的分包中,也可以跨项目复用,用于加载子项目中的 Asset Bundle。

Splash Screen

可以在构建时设置 Splash Screen,用于在游戏启动之前显示一段过场动画,优化首屏启动速度。

GameView

GameView 是内嵌于编辑器的游戏运行面板,开发者无需打开浏览器预览,即可在编辑器中直接运行游戏。除了更无缝的开发体验,还能在游戏运行过程中通过场景编辑器或其它面板实时调试、修改元素状态,让游戏开发更高效!

插件

强大的插件系统

Cocos Creator 3.0 拥有更加强大的插件系统,编辑器几乎所有功能模块都是以插件形式存在。你可以在扩展菜单中快速创建自己的插件,从而实现自己想要的效果。另外,Cocos Creator 3.0 还提供了扩展管理器,可以轻松管理所有扩展插件的运行和卸载。

消息通信

插件可以使用 IPC 消息与其他插件或编辑器进行通信,快速方便地使用编辑器内部已提供的能力。Cocos Creator 3.0 还提供了消息管理器,可以清晰地看到目前编辑器内已提供的功能,降低插件开发门槛。

动画编辑器

动画编辑器是我们一直在持续优化的重要模块,除了标准的位移、旋转、缩放动画和序列帧动画以外,这套动画系统还支持驱动任意组件属性和用户自定义属性,再加上可任意编辑的时间曲线和创新的移动轨迹编辑功能,能够让内容生产人员不写一行代码就制作出细腻的各种动态效果,任意驱动游戏逻辑。

除常规操作外,3.0 的动画编辑器更提供了以下快捷操作,帮助游戏开发者实现想要的内容:

批量关键帧间隔调整

跨节点轨道复制粘贴

间接属性(如材质属性)关键帧编辑

动画编辑器内直接对资源进行选取、直接编辑关键帧数据

多选关键帧的缩放、移动和删除

支持多选节点后批量添加属性轨道

支持复制粘贴节点上的所有动画数据

支持屏蔽无关键帧节点与搜索节点

支持编辑分量轨道

支持调整动画编辑器布局

更完善的工具链

支持模型预览

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

新版的 FBX 导入器

支持 glTF 资源的导入,支持 khr-draco-mesh-compression、sparse accessor

支持动画切割

提供 Mesh Optimizer 工具

模型导入支持 quantized joints/weights

地形编辑器

便捷的地形系统,快速绘制地形纹理。地形编辑主要包括三大功能:管理(Manage)、雕刻(Sculpt)、描绘(Paint)。同时支持 Normal Map 和 PBR 材质。

内置烘焙系统

烘焙是通过预先计算光源对物体的影响来生成光照贴图并应用到场景中的过程,可以在不损失运行效率的前提下大大提升静态场景的画面表现。

优化组件面板

支持组件搜索与分类功能

之前不少开发者反馈添加组件时无法直接搜索,在大型项目中查找自己编写的组件十分困难。Creator 3.0 支持了组件搜索,可以快速添加组件。

支持同时拖拽多个资源到属性检查器中的数组元素,进行批量赋值

支持复制粘贴组件的值

配置

可视化的宏配置

提供了修改引擎宏配置的快捷方式,配置的宏将会在预览、构建时生效,同时也会跟随自定义引擎的配置更新当前宏配置的默认值。

通过预设批量配置压缩纹理

支持添加压缩纹理预设配置,用于快速配置纹理的压缩方式。给图片设置预设后,还可以直接修改预设来批量更新对应的纹理,大大方便了项目的全局管理。

强大的引擎特性

Cocos Creator 2.4 在 2D 渲染方面很强大,Cocos Creator 3.0 则允许开发者制作出更加精美的 3D 游戏。我们在 3.0 中将两者的优势进行了融合,全面支持 2D、3D 的各种功能特性,无论 2D 还是 3D,3.0 都将满足你的需求。

渲染系统

渲染系统作为游戏引擎的核心模块,起着至关重要的作用,直接决定了游戏所能输出给玩家的内容。一个优秀的渲染系统还必须兼顾各类平台,抹平平台间的差异。Cocos Creator 3.0 的渲染系统,从架构到设计都是以面向未来、高性能、跨平台为目标,极大地提升了渲染能力和健壮性。

支持 Metal, Vulkan, WebGL 1.0,WebGL 2.0,GLES2, GLES3 的多渲染后端

面向未来的高性能渲染层 API 设计

原生支持 PBR

支持 GPU Instancing 合批优化,适用于绘制大量顶点数据相同的动态模型,更支持对包含骨骼动画计算的模型进行 instancing 合批

支持全局雾效

强大的原生渲染器,使用内存共享机制减少 JSB 调用,加快数据访问

支持 ASTC,ETC,ETC2,PVR 等压缩纹理

光影

在 3D 世界中,光与影一直都是极其重要的组成部分,它们能够丰富环境表现,质量好的阴影可以达到以假乱真的效果,并且使得整个世界更具立体感。

基于物理的光源

Cocos Creator 3.0 采用光学度量单位来描述光源参数。基于光学度量单位,我们可以将光源的相关参数全部转化为真实世界中的物理值。这样,设计人员可根据实际灯光的工业参数以及真实环境的实际物理参数来调节光照强度、颜色、范围等信息,使整体光照效果更加符合真实的自然环境。

支持 Planar Shadow

基于多 Pass 的多光源支持

基于 Shadow Map 的方向光和聚光灯动态阴影,支持 PCF 软阴影与 GPU Instancing

粒子系统

粒子系统是游戏引擎特效表现的基础,它可以用于模拟的火、烟、水、云、雪、落叶等自然现象,也可用于模拟发光轨迹、速度线等抽象视觉效果。良好的粒子效果可以使游戏画面更加惊艳。

支持多达数十个模块设置,并支持各类曲线,常量变化

支持 GPU 粒子,极大提升渲染性能

支持 Cocos 传统的 2D 粒子

材质系统

材质作为资源,决定了其所附加的物体的渲染效果,几乎游戏中所有渲染出来的效果都与材质密不可分。材质系统作为基础模块,为上层建筑提供了坚实的基础。

基于物理的材质

支持 Cocos Effect

Cocos 设计的基于 YAML 和 GLSL 的 Cocos Effect,是一种单源码嵌入式领域特定语言 (single-source embedded DSL),YAML 部分声明流程控制清单,GLSL 部分声明实际的 Shader 片段,这两部分内容上相互补充,共同构成了一个完整的渲染流程描述。

支持超过 32 个 Effect 宏定义

Cocos Effect 编译器自动剔除无效代码

支持导入 Effect 头文件

Effect 的资源面板现已支持预览编译后的 Shader 代码,并支持可视化编辑 Shader 的每个 Define

支持材质预览

中间件

支持 TiledMap

支持 Spine、DragonBones

动画系统

Cocos Creator 3.0 内置了通用的动画系统用以实现基于关键帧的动画。在编辑器中我们可以很方便地产出动画剪辑资源,例如通过动画编辑器,或者某些外部资源中已经包含的动画剪辑资源。在这种情况下,我们仅需要对这些动画剪辑进行组织,按我们的意愿进行播放控制即可。

CPU 或 GPU 驱动的骨骼动画

支持动画的融合过渡(CPU 驱动)

使用二进制格式存储骨骼动画,减少文件大小

支持通用动画与骨骼动画两种组件

支持 Uniform 动画

支持 CPU 驱动的 Morph Target (Blend Shape)

脚本系统

Cocos Creator 3.0 的项目开发全面转向了 TypeScript,项目中也不再支持 JavaScript。我们在 3.0 中进一步完善了对 TypeScript 的支持:

拥抱 ES6 和 TypeScript,完善的代码提示和自动导入

属性支持独立的 type decorator: @integer, @float, @string, @boolean, @type 等

支持 Async Await 语法

可选链(Optional Chaining)支持

空值合并(Nullish Coalescing)支持

某些循环引用行为将在运行检测并作出警告

增加 core-js polyfills 来帮助部分低端平台补全 ES6 支持

支持 loose 编译模式,可以减小包体和优化性能

UI 系统

Cocos Creator 3.0 延续了 2.x 的 UI 设计,并进一步优化升级,包含以下内容:

灵活简洁的 UI 组件,支持包括 Sprite, Label, Button, Widget 等 20 种组件,你可以使用这些基础组件组合出各种类型的 UI 效果。

支持静态合批

引擎提供了 UIStaticBatchComponent 组件,不需要频繁改动的 UI 可以使用此组件来缓存渲染数据,从而降低渲染消耗,提高性能。

物理

Cocos Creator 3.0 目前内建了轻量的碰撞检测系统 Builtin 和具有物理模拟的物理引擎 cannon.js,以及由功能强大的 bullet 编译成为 asm.js/WASM 版本的 ammo.js,并为用户提供了高效的组件化工作流程和便捷的使用方法。

支持多物理后端选择,包括 ammo.js、cannon.js 以及更为轻量的 builtin 物理

支持微信小游戏使用 WASM 物理后端,能在 iOS 上获得更高的性能表现

物理系统支持固定步长刷新

支持物理材质

支持包括单形、圆锥、平面、地形、胶囊体、圆柱体、静态网格碰撞体等多种实用的碰撞体

支持点到点、铰链约束组件

网格碰撞器添加凸包近似功能

支持传统 Creator 2D 物理与碰撞系统

详细改动(相比 Creator 3D)

Editor

[3.0 NEW FEATURE] 新的 FBX 导入器

[3.0 NEW FEATURE] 编译时支持 loose 编译模式

[3.0 NEW FEATURE] 地形支持 normal map 和 pbr 材质

[3.0 NEW FEATURE] 在 GameView 模式下支持 EditBox

[3.0 NEW FEATURE] 支持编译项目脚本时按照预编译宏进行代码剔除

[3.0 NEW FEATURE] 支持构建过程中,剔除 deprecated 的兼容代码,减少包体

[Sync 2.x] 支持模拟器预览

[Sync 2.x] 支持发布连尚小游戏平台

[Sync 2.x] 支持发布趣头条小游戏平台

[Sync 2.x] 支持构建 Android Instant

[Sync 2.x] 支持新版序列化机制

[Sync 2.x] Asset Bundle 支持

[Sync 2.x] 支持预览时引擎模块剔除

[Sync 2.x] 编辑器支持导入 JSON 资源

[Sync 2.x] 编辑器支持导入文本资源

[Sync 2.x] 编辑器支持导入 LabelAtlas 资源

Engine

[Sync 2.x] 支持 Tiledmap

[Sync 2.x] 支持 Spine

[Sync 2.x] 支持 DragonBone

[Sync 2.x]支持MotionStreak

[Sync 2.x]支持WebView

[Sync 2.x]支持VideoPlayer

[Sync 2.x]支持2d物理与碰撞系统,包括box2d与内置

[Sync 2.x]支持Asset Manager资源管理

[Sync 2.x]支持LabelShadow

[Sync 2.x]支持SafeArea

[Sync 2.x]蒙版支持图像模具

[Sync 2.x]音频支持多播

[IMPROVE]可移除cc.Class()样式声明

[IMPROVE]重建3d物理碰撞矩阵,碰撞矩阵仅用于初始化刚体的分组和连续,不再维护更新,废除使用Collision Matrix配置项

[IMPROVE]重建3d刚体,移除RigidBody.isKinematic,增加RigidBody.type为设置刚体类型,可移除fixedRotation,替换为angularFactor替代

[IMPROVE] UI支持自定义材质

[FIX]修复iOS 14与iPad OS 14的性能问题

[FIX]修复按钮组件Scale设置异常的问题

[FIX]修复子模型的lightPassIdx一致导致渲染错误的问题

[FIX]修复地形碰撞器在预测缩放后,与渲染效果不匹配的问题

Mini Game

[3.0 NEW FEATURE] 支持全新的子域方案

[3.0 NEW FEATURE] 支持微信小游戏使用 wasm 物理后端

Native

[3.0 NEW FEATURE] 支持 Metal 渲染后端

[3.0 NEW FEATURE] 支持 Vulkan 渲染后端

[IMPROVE] 进一步减少 jsb 调用,优化性能

Known Issue

安卓上的 Vulkan 后端目前存在性能问题,我们将在正式版进行修复。

Breaking changes

引擎源码内置的 effect 统一更改为和编辑器资源不同的命名规则,如果项目场景里完全没有用到某个 effect,现在在脚本里用 effect 名字是获取不到了(比如 builtin-unlit 等)。建议开发者在需要程序创建材质时,统一把 effect asset 作为脚本的 property 暴露出来,在场景里挂载,然后在 material.initialize 时直接传入。

编辑器 HOME 目录从 ~/.CocosEditor3D 切换回了 ~/.CocosCreator,插件目录由 packages 更名为 extensions。3.0 之后的插件,都会存放在 ~/.CocosCreator/extensions 和 PROJECT/extensions 里。

原先的子域方案不再适用,请切换到最新的子域方案

不支持 JavaScript,仅支持 TypeScript

不再支持 cc 全局变量,请通过模块导入来使用

API 更新(相对 Cocos Creator 3D)

物理材质类型名称进行了变更

Creator 3D v1.2Creator v3.0PhysicMaterialPhysicsMaterial

geometry 空间下的部分类型名称和方法名称进行了变更

Creator 3D v1.2Creator v3.0lineLine

planePlane

rayRay

triangleTriangle

sphereSphere

aabbAABB

obbOBB

capsuleCapsule

frustumFrustum

MorphModelmodels.MorphModel

ray_aabbrayAABB

ray_planerayPlane

ray_trianglerayTriangle

ray_sphereraySphere

ray_obbrayOBB

ray_capsulerayCapsule

ray_subMeshraySubMesh

ray_meshrayMesh

ray_modelrayModel

line_planelinePlane

line_trianglelineTriangle

line_aabblineAABB

line_obblineOBB

line_spherelineSphere

aabb_aabbaabbWithAABB

aabb_obbaabbWithOBB

aabb_planeaabbPlane

aabb_frustumaabbFrustum

aabbFrustum_accurateaabbFrustumAccurate

obb_pointobbPoint

obb_planeobbPlane

obb_frustumobbFrustum

obbFrustum_accurateobbFrustumAccurate

obb_obbobbWithOBB

obb_capsuleobbCapsule

sphere_planespherePlane

sphere_frustumsphereFrustum

sphereFrustum_accuratesphereFrustumAccurate

sphere_spheresphereWithSphere

sphere_aabbsphereAABB

sphere_obbsphereOBB

sphere_capsulesphereCapsule

capsule_capsulecapsuleWithCapsule

sys 下的某些平台变量进行了变更

Creator 3D v1.2Creator v3.0BAIDU_GAMEBAIDU_MINI_GAME

VIVO_GAMEVIVO_MINI_GAME

OPPO_GAMEOPPO_MINI_GAME

HUAWEI_GAMEHUAWEI_QUICK_GAME

XIAOMI_GAMEXIAOMI_QUICK_GAME

JKW_GAMECOCOSPLAY

ALIPAY_GAMEALIPAY_MINI_GAME

BYTEDANCE_GAMEBYTEDANCE_MINI_GAME

预览版暂未支持的功能

以下功能将在正式版加入:

暂不支持 HUAWEI AGC 平台

暂不支持 Cocos Services 服务,将在正式版加入

暂不支持动态合图

暂不支持 Prefab 嵌套

Android 暂不支持发布 x86_64 架构

原生平台暂不支持使用 freetype 进行文字渲染

编辑器暂不支持资源包导入导出功能

编辑器暂未实现华为快游戏调试工具

Button 组件暂不支持 enable auto gray effect

参考文档

live2dmesh渲染优先级_Cocos引擎_游戏开发引擎相关推荐

  1. 安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件

    今天开始了虚幻学习的第一天! 好的,那我们就开始学习做游戏吧! 始学习做游戏吧 学习做游戏吧 习做游戏吧 做游戏吧 游戏吧 戏吧 吧 等等,要学做游戏啊...... 第一步要做什么,我还完全不知道啊喂 ...

  2. 任天堂游戏开发引擎_开发人员如何编程旧任天堂游戏使其平滑滚动

    任天堂游戏开发引擎 Here are three links worth your time: 这是三个值得您花费时间的链接: How developers programmed old Ninten ...

  3. python 游戏大作_几款商业上流行的游戏开发引擎详细比较

    原标题:几款商业上流行的游戏开发引擎详细比较 对于游戏开发团队来说,游戏引擎对于一个游戏来说是至关重要的.接下来跟一起了解一下目前几款商业上流行的游戏开发引擎,还有各自的详细比较 1) Unreal4 ...

  4. 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程

    师傅带徒弟学:Python游戏开发引擎cocos2d-python-299人已学习 课程介绍         Python语言之所以受欢迎,很大的原因是有很多可以使用的库,Python社区也有很多游戏 ...

  5. 虚幻引擎4简介,UE4简介--这是一个强大的游戏开发引擎

    虚幻引擎4简介 这是一个强大的游戏开发引擎 虚幻引擎(Unreal Engine /UE)是EpicGames公司打造的游戏引擎,而UE4则其第四个大版本.虽然目前UE 5已经发布,但是仅仅是发布,U ...

  6. Unity3D和UE4游戏开发引擎哪个是游戏开发者最爱?

    UE4和Unity3D应该可以算的上是目前市场上最为热门的游戏引擎,也各自拥有为数众多的开发者.虽然一些大型的游戏公司仍然运用自家开发的引擎来制作游戏,但是在巨大的市场需求下,独立开发者与游戏工作室依 ...

  7. 爆款小游戏用的都是什么游戏开发引擎?

    随着微信生态中,小程序应用指数级的增长,许多休闲游戏变成为了众多游戏厂商流量变现的新手段.以近期很火的"羊了个羊"为例,它便是我们常常所说的小游戏. 游戏和小游戏的区别 要盘点小游 ...

  8. Unity,最炙手可热的游戏开发引擎

    近日,Unity亚洲开发者大会在国家会议中心成功举行,引得业内人士高度关注.而纵观各大网站招聘信息,用人单位对unity开发人员的招聘可谓求贤若渴,除去高薪诱惑.升职诱惑,甚至不惜打起感情牌,动之以情 ...

  9. C++的学习心得和知识总结(十七)|Visual Studios 2019配置游戏开发引擎HGE1.8教程

    目录结构 注:提前言明 本文借鉴了以下博主.书籍或网站的内容,其列表如下: 1.HGE - Hardware accelerated 2D games engine,点击前往 2.GitHub仓库地址 ...

最新文章

  1. Input类,Vector3实例
  2. how is our class instance registered - thanks to AnnotationConfigWebApplicationC
  3. mysql读写分离的含义_MySQL 主从复制与读写分离概念及架构分析
  4. Notepad++ 大小写转换
  5. java fuoco 价格_JAVA Fuoco铝合金公路车
  6. linux下,保存退出vim编辑器(转)
  7. iOS 人民币符号与日圆符号的混淆
  8. 服务器 python cant open file_如何删除分析*。gcda:无法打开python virtualenv builder出错?...
  9. 使用Zephir来快速编写高性能PHP二进制拓展
  10. setsebool命令和设置命令
  11. Python:批量爬取下载中国知网(CNKI)PDF论文
  12. 用友数据库错误“未能读取并闩锁页(1:3355)(用闩锁类型SH)”修复
  13. scrapy写爬虫的心得
  14. 新浪微博PC客户端(DotNet WinForm C# 版,C#调用新浪微博API代码,源码下载)—— 初探 (第二部分内置链接)
  15. 软件工程实践2017——软件产品案例分析
  16. 光滑曲线_微分几何笔记(4) —— 二维三维空间中曲线的曲率以及环绕数
  17. 4005. 取石子游戏
  18. 小游戏------扫雷
  19. solidity部署和验证代理合约
  20. 编程新手该如何调优程序?程序员必备性能调优利器——火焰图

热门文章

  1. 什么是 immutable
  2. 如何搞定熊孩子?你只需要一块360电话手表
  3. 拷贝构造函数应用场景
  4. (34)2021-02-24(ES6变量的解构赋值)
  5. wps文件上的logo怎么去掉_WPS中演示模板里的logo如何去掉求答案?
  6. 开源NoSQL数据库介绍
  7. 漫谈android系统(9)-androidO的Android Treble 计划与大的变动
  8. opencv-鼠标作为油漆刷
  9. 十进制小数转二进制算法
  10. Android Widget 电池插件的开发实现