扬帆出海APP
微信小程序
{{!completeInfo?'请完善个人信息':''}}
跳票2年终于发布,我就是鸽王本王
其实这个赛博朋克 3D 场景,很多人在前年 Cocos Creator 3.3 宣传的时候就看过了。为什么打磨到现在才放出工程源码呢?因为当时真的是通过大量对引擎源码的 hack 改动来实现的,而且不少功能是直接硬编码怼上去,并不是通过编辑器做可视化实现的。
为了使用 Cocos Creator 完整制作出这样的 Demo,我们从渲染算法到渲染管线,从编辑器体验到各种工具能力,从跨平台适配到性能伸缩性调优,都花了大量努力去为之铺平道路。
大家可以从以下网址免费下载到这个示例的所有工程源码和美术资源,并配合新发布的 Cocos Creator 3.7.1 运行:
https://store.cocos.com/app/detail/4543
技术亮点
为了让开发者更好得理解我们这个项目的制作初衷,Cocos Cyberpunk 中有几个优秀的技术亮点不得不自吹一波。
高伸缩性
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 配置解除帧率的锁定限制。
更新说明
Demo 上线后,许多开发者体验并将自己的意见与建议告诉了我们。根据大家的反馈,我们对源码进行了更新,以优化使用体验:
优化编辑器初次加载体验,避免在一些特定资源卡住。
优化默认场景视角。
去除多余构建平台。
桌面帧率解锁。
增加 Safari & WebGL1 不支持提示。
文章作者:Panda
版权申明:文章来源于 COCOS。该文观点仅代表作者本人,扬帆出海平台仅提供信息存储空间服务,不代表扬帆出海官方立场。因本文所引起的纠纷和损失扬帆出海均不承担侵权行为的连带责任,如若转载请联系原文作者。 更多资讯关注扬帆出海官网:https://www.yfchuhai.com/
{{likeNum}}
好文章,需要你的鼓励