印象中,游戏圈一直流传着这样一句话:如果研发游戏的同时还要开发一款引擎,恐怕超过90%的团队都将倒闭。笃定判断的背后,其实是对游戏引擎、以及引擎公司重要性的高度肯定。尤其是在游戏行业进入全球化、精品化时代后,随着引擎技术的发展,专注于内容研+发的游戏CP对引擎的依赖性也愈发凸显。
的确,市面上不少人气游戏都有商业引擎的身影。例如,全球月流水曾达 10 亿的《剑与远征》、经典卡牌系列《少年三国志》,以及《列王的纷争》和《乱世王者》这类长青 SLG, 亦或是《保卫萝卜》系列等休闲游戏,背后都不乏国产引擎 Cocos 的支持。
以 2D 游戏引擎研发为行业熟知的 Cocos ,发布了一则由 Cocos 3D 游戏引擎制作而成的赛博朋克 Demo, 以高品质的画面,向行业展现了一幅光怪陆离的“夜之城”图景:
随着镜头的切换,清冷躁动的夜色中,一个被绚烂霓虹灯、以及巨幅广告牌包围的都市逐渐展现全貌,热闹却罕见地透露出一股落寞。与此同时,天空不断疾驰而过的飞行器,又为这座城市涂抹上了另一股未来感——破败与科技共存,可谓是赛博朋克味十足。
不得不说,整体透露的多光源渲染效果令人意外。
老实说,这则高品质 Demo 的出现,无疑再次刷新了行业对 Cocos 的认知:过去同行印象中的 2D 游戏引擎,原来已经在 3D 技术领域已有颇多建树。而同样感到意外和好奇的 GameLook, 也在第一时间找到了 Cocos ,聊了聊赛博朋克 Demo 诞生背后的“黑科技”。
也是在这场交流中 ,GameLook 了解到,之前令人惊艳的赛博朋克 Demo 其实并非源自当前内部最新版本,反倒是基于8 月 25 日发布的 Cocos Creator 3.3 版本制作。
后者不仅提供了丰富的 3D 能力,同时也进一步加强了性能、包括原生平台和小游戏平台。其中,小程序启动性能和运行性能直接翻了一番;而且还使用了面向未来的全新引擎架构,为引擎带来高性能、面向数据及负载均衡的渲染器;同时无缝支持 Vulkan & Metal 多后端渲染,未来也将支持移动端 VR/AR 及部分主机平台。
基于 Cocos V3.3 ,这支 2 分钟 Demo 藏了多少技术秘密?
曾几何时,电影《银翼杀手》中绚烂迷人的城市夜景震撼了多少观众。大量的逆光和大色差镜头,营造出了一种只属于赛博朋克的美,影响了无数的后续作品,以至于如今的“电子霓虹灯”,基本被视作赛博朋克作品的标志。
无独有偶,在 Cocos 的赛博朋克 Demo 中,异彩纷呈的霓虹灯同样贯穿了建筑群的每一处、占据受众的全部视野,很好地演绎了大众印象中的赛博朋克美学。
“我们选择赛博朋克作为这次 Demo 的主题,也是因为它的光污染风格,适合放进去大量的光源,体现引擎的渲染能力”,聊到此处, Cocos 高级引擎开发工程师、本次 Demo 的制作者 youyou 也向 GameLook 介绍,这种独特光照效果的实现,其实是来自 Cocos Creator 3.3 版本中延迟渲染管线 、Cluster Light Culling、Cluster Reflection Probe 等多个特性。
正是依赖于华为贡献的延迟渲染管线, Cocos Creator 在多光源计算方面得到了很大的效率提升:先把物体绘制到 GBuffer 中,得到渲染到某个像素的最终物体所有信息后;在下一个渲染 pass 里就可以根据 GBuffer 的信息进行光照计算、且只需进行一次。
同时 youyou 还透露,基于同华为的合作,新渲染器架构可以解决移动端延迟渲染的短板。即使是在手机上,也能流畅运行这个庞大且复杂的场景。
不过拥有延迟渲染管线还远远不够 ,Demo 场景毕竟拥有成百上千的复杂光源,每个像素对所有光源都进行一次光照计算显然也吃不消 。Cluster Light Culling 则能有取舍地剔除掉影响不到像素的光源,按照距离选取最近的光源渲染。
上图为关闭光源,下图为开启灯光效果
“因为 Demo 中的光源基本都是静态光源、不会移动 。”youyou 进一步向 GameLook 解释:“利用这个特点,我们只需要在场景初始化时,将整个世界在 3D 空间里划分为 16 x 16 x 16 的格子;接着计算每个光源到格子的距离,将能影响到格子并且最近的几个光源(这个数量可以控制)的信息放到格子中。然后在光照计算阶段时,就可以根据 GBuffer 中世界坐标信息计算出当前像素所在格子,从中获取对应需要计算的光源信息。”
如果更细心的话还会发现 ,Demo 中镜头俯拍城市时,道路积水也会倒映出对应各色霓虹灯的反光效果。而这种饱含真实感的细节,则是通过 IBL (Image Based Lighting ) 实现的。
与传统做法中,出于移动端性能的考虑,只用一张天空盒作为环境贴图、或者一整个世界烘焙出一张环境贴图的做法相比;为了避免穿帮、追求更高的真实感 ,Demo 里尽可能在不同的区域中放置反射球,让每个反射球只烘焙这一个区域中的环境信息。
上图为开启反射球,下图为关闭反射球效果
youyou 还提到,不过当世界中反射球比较多时,又会出现多光源中碰到的问题,应该尽可能只计算影响到当前像素的反射球信息。“利用已有的 Cluster Light Culling 逻辑,很容易就可以扩展实现 Cluster Reflection Probe 的逻辑。”
然而随着继续深入这座“不夜城”,整个 Demo 随之给人一种雾气弥漫却又通透的感觉,将赛博世界独有的糜乱、颓败氛围表现得淋漓尽致。
GameLook 这种直观感受显然也在 youyou 的预料中,他直言:“做场景设定时,我们就希望营造一种看上去有雾、但是又感觉视线很通透的感觉。为了实现这种效果,我们选择指数高度雾的算法,在场景低处的雾会比较浓厚,越往高处的雾越稀薄。并且天空盒也加入了雾效的算法,这样高处的建筑的颜色才能跟天空盒的颜色完美衔接上。”
的确,视线上移后几乎看不见雾气的出现,但取而代之的则是各种飞行物充斥整片天空,再现赛博朋克世界中经典的科技元素。
“这里主要使用了我之前写的一个 spline tool 的插件,这个插件可以让开发者在编辑器中自由创建编辑样条曲线,通过生成的曲线你可以自定义出许多实用的功能 。”youyou 表示 ,Demo 正是使用了生成的曲线作为飞行器飞行的轨道。只要预先在编辑器里面编辑多条符合飞行规律的轨道,运行时定时生成飞行器并随机选择一条轨道放上去即可。
以小观大,从 Demo 视频来看, Cocos Creator 的关键技术其实已经相对成熟。据了解,最新版本也已经统一了 2D 与 3D 的开发工作流,兼顾轻量与中重度游戏的开发体验,融合了几乎所有 Creator 2.x 与 Creator 3D 1.x 版本的功能。
厚积薄发 ,3D 领域集大成的 Cocos Creator
其实早在 2014 年左右, Cocos 便已经投入 3D 引擎的研发工作。只不过没像 2D 手游那般一番风顺,反倒经历了一次罕见地“推到重来”。
“我觉得这只是一个发展规律。想要靠一两年的时间,完全把这个事情做对、做完确实是不太可能的。”在 Cocos CTO 林顺看来,第一轮尝试没有开花结果的主要原因,是积累不够,以及“土壤”问题导致的。
林顺向 GameLook 解释道,国内技术环境其实有一个断代期。手游时代刚兴起时,整个行业的技术土壤还远落后于海外。在这种历史条件下, Cocos 错过 3D 手游时间节点也许是一个必然,“但现在哪怕是补课,也得一点点把这些东西积累起来,这是一条必不可少的、必经的路径”
必须先积累技术,土壤才会快速成长,不错过更多的机会——这是 Cocos 跌倒后学到的,也是之后继续探索 3D 领域所一直坚信的。
正因如此, Cocos 坚持将每年的利润全部投入引擎功能研发、新场景拓展、生态建设上。而后也终于守得云开见月明,推出的 Cocos Creator 3.0 在延续 2D 品类轻量高效优势的同时,还能为 3D 游戏提供了高质量的开发服务。
这意味着,基于 Cocos 引擎不光是赛博朋克 Demo 那样的复杂 3D 内容,就连低算力 IoT 设备的交互 UI 也非常适用。而且相较之前, Cocos Creator 适用性更广、能够满足更多需求。既可以开发出独立 APP, 也可以被集成嵌入到其他 APP 里。
据林顺透露,虽然 Cocos Creator 3.0 正式版本问世不过数月,但已有一些品质不错的原生游戏出现。
例如天美工作室的《一刀大侠》、光子工作室的《魔斗战境》,曾登顶免费榜的《战机:代号 666》 等……与此同时, Cocos 也受到了不少独立游戏团队的青睐,像是《登场了侠客》、《星空大决战》、《转一转拼图》以及海外表现优异、月流水达 2 亿的《口袋奇兵》等颇受玩家喜爱的游戏,也都是基于 Cocos Creator 打造。
跨平台能力
当然作为最重要的游戏引擎之一, Cocos 也注意到时下新热点——跨平台游戏。不同的是,相比大厂扎堆在手机与 PC、 主机端的跨平台, Cocos 更关注成千上万中小开发者的呼声,聚焦于往一些更轻度、更低算力的平台——例如小游戏平台去“跨”。
Cocos 技术总监 Panda 表示 ,Cocos Creator 3.3 对性能提升做了重点优化。特别是在小游戏平台,版本更新后,游戏的启动性能、运行性能和物理性能都有了显着提升。
其中,针对直接影响玩家点击转化的启动性能优化后,内部项目微信云测启动性能分都能达到 80 分以上;在此基础上,也对运行性能做出了优化;由于目前微信小游戏全面支持 WASM 特性 ,3.3 版本还支持在微信上将 Bullet 以 WASM 的方式运行、大大提升了物理性能,助力开发者制作更复杂的物理场景。
同时, Cocos Creator V3.3 提升了原生引擎的绑定层级,在渲染管线之上的渲染场景部分完成了原生化,进一步优化原生平台的性能,也使得 Web 和小游戏平台的性能得到肉眼可见的提升。
再加上拥有微信平台最高的市场占比,可统计到六成以上游戏都是出自 Cocos 引擎。多方优势下,自然也能助力游戏 CP 实现原生手游 、Web 和小游戏之间的跨平台,更轻松地覆盖更多领域。
包括前文提到的《口袋奇兵》《战机:代号 666》 等游戏,也都是在 Cocos 的帮助下实现原生手游与小游戏的多端发布。同时 Panda 还提到,他们也已经在为下一代穿戴式移动平台、比如 AR、VR、XR 等作准备,并支持较好的现实融合渲染能力。
而 Cocos 对于扶持 CP 的这份执着,同样体现在免费开源模式的延续上。
比起简单售卖 Pro 版软件产品, Cocos 更坚定于创始人王哲口中“从竞争博弈思维转向共赢思维”的战略。选择与合作伙伴共存、共生、共赢,并依旧维持引擎框架开源、编辑器可扩展等传统。
事实上,也不难理解 Cocos 的初衷,即为行业带去更好的平台和生产工具。恰恰是这份相似的行为逻辑,也成为其首批牵手鸿蒙的契机。
去年,华为 HDC 开发者大会宣布鸿蒙操作系统即将发布、且支持手机后, Cocos 预感到鸿蒙未来必会成为市面上最重要的平台之一。第一时间与华为团队取得了联系,并开始建立合作。
“我们加入,倒不是说为了给生态带来多大的效应,主要还是一种对于国产操作系统的支持。” Panda 如是说道。同样作为国内生态的搭建者, Cocos Creator 也在 HarmonyOS 2.0 正式发布之际,同时推出了新版本,成为全球首家支持 HarmonyOS 的游戏引擎。
结语
让游戏开发更简单,这是 Cocos 官网的一句话,也是其身体力行践行的理念。
除了目前探索 3D 领域所取得的成果外,王哲向 GameLook 谈到, Cocos 未来还将在第三类平台性能和功耗优化方面继续努力、适配下一代移动平台;以及进一步降低引擎在费用、技术方面的门槛等。甚至还计划在同鸿蒙的未来合作中,探索 IoT 设备在游戏行业的可能性,试图将娱乐体验拓展至更多、更丰富的平台和整个社会。
但 GameLook 发现,其中被提及最多的,依旧是有关“生产管线”的重要性,这也是目前国内较少团队尝试的方向。
王哲坦言:“国内大多数团队都希望在渲染表现和运行时能力上做得更好,但其实工具链方面,才是我们和国外先进引擎的最大差距。”而这将是 Cocos 当下、乃至未来的重点发力方向,即怎样在生产管线上帮助开发者更好地使用 Cocos 引擎。
不过王哲也承认,相比于几年前,国内游戏业已经出现很多不错的变化,很大程度上得益于腾讯、网易等大厂开始推行的“工业化体系”。
严格来说,工业化标准的建立,确实使得整个行业更加规范,分工也更加明确、细化,并将逐步影响到更多游戏团队。在这个过程中, Cocos 也会继续坚定地扮演“耕耘者”的角色,助力知识储备、技术积累下“土壤”的快速成长,以及整个工业化体系的完善。
未来随着 Cocos 技术的不断突破,相信还将为玩家和市场带来更多精品化、跨平台的游戏,并加速推动行业大步前进。