上周,Cocos Cyberpunk Demo 正式开放了。其实这个赛博朋克 3D 场景,很多人在前年 Cocos Creator 3.3 宣传的时候就看过了。为什么打磨到现在才放出工程源码呢?因为当时真的是通过大量对引擎源码的 hack 改动来实现的,而且不少功能是直接硬编码怼上去,并不是通过编辑器做可视化实现的。
技术亮点
高伸缩性
Cocos 一直以来都是移动端优先的跨平台引擎,所谓伸缩性简单来说就是引擎能屈能伸,在低端设备和平台上能达到高性能低功耗,在高端设备上也可以尽可能释放引擎的表现力。
Cocos Cyberpunk 项目特别重视性能的优化和不同设备的适配,所以我们通过不同的渲染质量等级和渲染管线配置来实现高伸缩性。
在 PC 平台,我们默认开启了 Bloom、TAA、高分辨率、环境光照等渲染能力。而在移动端,我们针对各种不同的移动端芯片做了精细的配置,让该 Demo 可以以 30FPS 的稳定帧率运行在绝大部分设备上,其中最低端的设备,我们下探到了海思麒麟 970(2017)、高通骁龙 835(2017)和苹果 A10 芯片(2016),这代表着高质量游戏已经可以覆盖目前市面上的大部分低端设备。需要注意的是这个项目在所有设备上都使用了目前次时代手游才可能采用的延迟渲染管线。
大家也可以通过修改项目代码中的 href-setting.ts 去尝试不同配置的表现。
渲染管线定制能力
作为通用引擎,我们很重视不同项目的不同需求,所以引擎定制一直是我们最关注的能力之一,毕竟千人千面,无法一套配方满足所有开发者的需求。其中自定义渲染管线就是定制能力中门槛最高,也最难做好的基础设施,很多引擎在这方面都无法兼顾易用性和自由度。引擎团队从 2021 年开始就在开发次时代的自定义渲染管线,我们最新的成果 Render Graph 也是 Cyberpunk 高度依赖的引擎特性,它将渲染管线中不同的流程划分为不同的 Pass,开发者只需要关注每个渲染流程的算法和输入输出资源,就可以自由组合成一条完整的渲染管线。而前面提到的高伸缩性也部分依赖了管线流程的开关,比如 Bloom、TAA 等功能只需要简单的开关即可生效,甚至在运行时动态生效。
关于自定义渲染管线的细节,引擎组今年将参加在旧金山举行的 GDC 2023 进行技术分享,届时也会争取将分享免费开放出来。
渲染表现
渲染表现方面,Demo 中主要是在光照和后处理上花了一番功夫。光照方面主要是使用了延迟管线对大规模动态光源的支持,实现了角色在夜晚场景下的丰富人工照明表现。同时通过 Reflection Probe 支持了 IBL,在场景中的水洼上都可以看到霓虹灯的倒影,增强了氛围感。在后处理方面,使用了引擎默认的 Bloom 算法;还通过 AMD 的 FSR 算法对低分辨率进行超分,提升画面精细度;最后提供了 TAA 和 FXAA 两种抗锯齿算法。
基线设备
赛博朋克主要目标平台为 Android 和 iOS,默认自适应的性能参数可以保证各种移动端设备都稳定运行在 30 fps。我们测试的性能能基线设备为:
安卓:华为海思 970(Mate10),高通骁龙 835(小米6)。
iOS:苹果 A10 Fusion(iPhone7)。
桌面端可以通过修改 `href-setting.ts` 中的 fps 配置解除帧率的锁定限制。
Cocos Cyberpunk 项目目前刚刚开放,它也验证了很多引擎重要的特性,我们会在接下来会继续迭代这个项目的玩法和渲染表现,进一步尝试和打磨引擎的各种能力,也会通过这个 Demo 制作部分模块的教程。衷心希望这个项目能吸引更多开发者关注 Cocos,尝试 Cocos Creator,也可以通过这个项目更好得掌握引擎的使用,制作发布自己更好的作品!