Cocos Creator是一款以内容创作为核心的游戏开发工具,在Cocos2d-x基础上实现了彻底校本化、组件化和数据驱动等特点的游戏开发工具,使许多游戏开发人员信赖的开发软件,软件基于Cocos2d-x,实现了一体化、可扩展、可自定义工作流的编辑器,如果用户想要开发游戏,那么这款开发工具可以尝试一下。Cocos Creator在Cocos系列产品中第一次引入了字简化编程思想和数据驱动的架构设计,大大简化了Cocos2d-x开发工作流中的场景编辑、UI设计、资源管理等工作,使许多使用Cocos2d-x游戏引擎进行开发的用户的最佳选择。
提供了消耗非常低的 FXAA 和效果较好基于时序的 TAA。
2、超分辨率 FSR
有助于用较低的损耗提升渲染分辨率,达到用较低的损耗达到更高的画质,或者减轻项目的性能压力。
3、Bloom
增强高光位置的泛光表现,提升画面质感。
4、HBAO
高质量环境光遮蔽,可以大幅度提升场景的立体感和质感。
5、自定义 Color Grading
这是非常简单但立竿见影的一种后期处理方法,可以用来增强对比度、饱和度,调节颜色、白平衡等画面属性。支持任意 Nx1 的长条图 和 8x8 的方块图,系统自动适配。
Cocos Creator中终于集成了知名的物理引擎 [Box2D](https://github.com/erincatto/Box2D),这款容易上手功能强大的物理引擎将为 Cocos Creator 带来全面的物理检测和运算能力,全面支持你的动作和物理游戏。
除去通用的物理引擎功能之外,Cocos Creator 集成后的物理系统中还加入了刚体(Rigidbody)和关节(Joint)组件,加上专门为物理引擎定制的碰撞体(Collider)组件,我们仅仅通过在场景中摆放各种不同的物理组件,就可以实现有趣的交互效果了。配合新加入的 Camera 摄像机组件,在编辑器中完成丰富关卡内容的平台动作卷屏游戏将会非常轻松!
摄像机组件
开发动作和冒险类游戏时,视角的移动和场景的卷屏必不可少,之前开发者们只能通过整体移动场景里所有节点来模拟视角移动的效果,但大量节点位移的运算会影响性能,尤其是在加入物理引擎之后,每次移动碰撞体都会导致重新生成和计算物理世界。
软件中还加入的 Camera 组件就能够完美解决视角移动的问题,Camera 组件中可以指定一个或多个节点作为被摄像机渲染的目标,将场景的根节点拖拽到 Camera 的目标列表中,之后移动 Camera 组件所在节点,就可以实现场景卷屏的效果。Camera 的渲染是通过矩阵运算来实现的,因此不会对场景中的运动计算带来额外的开销,可以说是 2D 动作游戏卷屏的完美解决方案!
TypeScript 和 ES6 Class 支持
为了更好的支持各类 IDE(如 VS Code, WebStorm 等)里的游戏脚本代码提示,我们在Camera中对 cc.Class 的声明方式进行了一次重构,现在可以在 Cocos Creator 项目里使用 ES6 Class 或 TypeScript 来声明组件和编写游戏逻辑了。
之前很多有静态语言使用经验的用户在上手 Creator 时反馈代码提示和自动完成功能较差,无法准确的提示组件的成员属性和方法,以及引用其他脚本时也无法提示被引用脚本里的成员。这主要是由于编辑器序列化数据需要的特殊声明格式和各大 IDE 能够识别的原生语法不符合。而在这次重构中我们引入了装饰器语法来帮助编辑器进行数据识别,之后我们就可以使用 ES6 和 TypeScript 的标准语法声明 cc.Class 和 cc.Component 了。使用标准语法声明的 cc.Class 所有成员类型都能够被各种主流 IDE 自动识别,加上引擎 API 类型声明文件 creator.d.ts,使得目前 Creator 脚本开发时可以正确提示几乎所有的相关接口代码!
TypeScript 支持强类型声明,对于多人协作开发的大型项目来说,也能够提供更准确的接口通讯规范和错误报告。推荐有相关强类型语言开发经验和大型项目的技术团队尝试!
场景加载速度提升 38%
Web 版游戏的最大优势就是免安装,即开即玩,因此 web 版游戏场景的加载速度,尤其是初始场景的加载速度对于用户体验和留存都至关重要。本次更新在场景资源加载方面进行了大幅优化,使用对象池让原来在 uuid-loader 和 deserialize(反序列化)模块中的对象创建频率大大减少,在本地预览时场景加载速度提升幅度达到 38%。但实际项目中加载速度的瓶颈可能来自网络连接速度,所以实际游戏中的提升幅度可能没这么大,但基本也能有 200ms~300ms 以上提升。
跨项目资源导入/导出共享
在前一个版本中,我们通过扩展插件的系统实现了项目间共享一个资源路径的功能,但还有更多朋友希望我们能够提供一种更简单直接的,跨项目导入导出资源的机制,来实现将已有项目中的资源导入到新项目,或者美术人员和开发人员的项目分开,并通过导出导入来生产和整合美术资源的生产线。
通过主菜单的「文件 -> 导入/导出资源」打开的资源导入导出工具,我们可以轻松的导出场景或 Prefab,选择导出目标后会自动列出该场景和 Prefab 依赖的资源,导出时自动生成 zip 包。在另一个项目中导入该 zip 包即可。如果遇到 uuid 冲突还可以选择自动更新 uuid 以保留两个版本的资源。