数字经济时代,国产化发展迅猛,作为游戏内容生产的基石,游戏引擎大大降低了开发的门槛,帮助开发者快速实现游戏上线的愿景。作为国产开源引擎,cocos 曾叱诧于国内2d手游市场,如今凭借着不断进步的渲染技术,在3d引擎市场也逐渐站稳脚跟。
历经 12 年创新发展与技术迭代,cocos 于今年上半年完成了新一轮融资,并不断扩展凯发在线的合作伙伴,开设新的业务赛道。凭借多年的技术积累,在资本的加持与开发者的支持下,cocos 迎来了新的里程碑节点-- 旗下核心产品,可视化数字内容编辑器cocos creator 3.6 版本正式发布。
近日,51cto 采访了 cocos creator 引擎技术总监凌华彬(panda),讲述了 cocos creator v3.6 重大的功能与框架更新,以及如今 cocos 在火热的元宇宙赛道的布局与生态。
为什么说这是一个里程碑版本?
可能有部分读者不太熟悉cocos,这家公司成立于2010 年,如今已是全球领先的数字互动内容开发平台之一,《剑与远征》《乱世王者》《列王的纷争》《扩散性百万亚瑟王》《开心消消乐》 《保卫萝卜》《欢乐斗地主》《大话/梦幻西游》《热血传奇》等国内外知名游戏都是采用 cocos 开发。近几年,cocos 一直在不断修炼内功,于2016年推出 cocos creator 编辑器,而后重构 3d 渲染器,同时支持 2d 和 3d 游戏开发。
在历经多个版本的迭代更新后,近日,cocos creator 发布了里程碑版本v3.6,并称其为“里程碑级的版本”,panda将原因归结为三点:
首先,v3.6 是有史以来单版本投入精力最大的版本,前后花费了一年时间;其次,v3.6 版本增加的功能特性,让 cocos creator 在成为一个优秀的现代 3d 渲染引擎之路上更进了一步;其三,v3.6 版本采用了产品驱动开发模式,其中有诸多功能都是由产品驱动,经过需求拆解、产品设计、反向验证等环节,并最终合并到版本中。产品驱动开发的模式,也让引擎在易用性和体验方面有了飞跃的提升。
在这次诚意和功能都满满当当的更新中,我们不难看出,cocos 引擎持续不断自我变革的决心与毅力。作为生产工具而言,3d引擎需要不断进化以适应硬件的更新和用户需求的变化,但在历时弥久的更新过程中,cocos 仍能始终坚持移动端友好的特性,兼顾 web 、h5、原生等平台。再叠加cocos 一直拥有低功耗、高性能和小包体等优势,基于 cocos 引擎开发的产品通常都具有很好的伸缩性,同时保证高算力平台与低算力设备都能“物尽其用”,达到最佳的使用体验。此外,由于 cocos 引擎底层架构开源,这使得开发者在游戏打包后,所有运行内容都是开发者可控,遇到问题可以快速找到方法来解决。
此次发布的 v3.6 版本中,cocos 在底层原生化的基础之上,对 2d 和 3d 性能进行了架构级优化,编辑器层面更是新增了大量实用功能,如编辑器预览、动画嵌入播放器、粒子noise模组、多语言编辑器等,这些功能都可以极大提高工作效率,降低开发门槛,让游戏开发者可以更加专注在游戏内容创作上。
v3.6 让 cocos 在3d领域站稳了
在 v3.6 版本中,cocos 优化了诸多图形渲染能力,包括 surface
shader 自定义材质、csm 级联阴影、ggx 环境反射卷积图、各向异性光照模型等等,帮助开发者实现游戏画面品质的提升;此外,cocos 还打造了编辑器全新的外观,对编辑器的 ui 和交互体验进行了优化,提升了开发者的使用体验。
1.图形渲染能力的优化与提升
(1)surfaceshader 自定义材质
surface shader 使用统一渲染流程和结构,开发者可以通过简洁的代码创建表面材质信息、用于组合的光照和着色模型,同时提升了版本兼容性,不易产生渲染错误。
(2)csm级联阴影
在 creator 之前的版本中,阴影贴图的使用方式是相对比较粗糙的,特别是近处把区域放大时,阴影质量就会大幅降低,提高阴影贴图质量又会拖慢运行速度。在加入 gsm 级联阴影后,可以让整个场景无论多大,都可以支撑较高质量的阴影。在近处可以是很精细的阴影,在远处相对模糊,并且不会占用比之前更多的算力资源。
(3)ggx环境反射卷积图
在全局的光照方面,creator增加了ibl的反射(image based lighting),全局光照反射通过ggx 环境反射卷积图,实现了粗糙表面,也达到了更好的、更正确的光照反射效果。如图所示:
(4)各向异性光照模型
各向异性光照也进一步进行了光照模型的优化,让头发、丝绸这样的表面材质可以得到更好的效果。日常中,我们看到头发时,在不同方向上头发的高光散射是不一样的,会看到一些光圈,这种光圈就是各向异性光照带来的效果。在 v3.6 版本中,cocos 充分扩展 pbr 光照模型,目前已经完整支持了在精确光源和环境光源下,各向同性和各向异性的材质与光照模型,开发者可以对接 substaince pbr 材质库,制作拉丝纹路的金属、头发、丝绸等等。
2.编辑器 ui 全面升级
在 v3.6 版本中,cocos 还对编辑器的 ui 和交互体验进行了多达几百处的升级和全面优化,并加入了编辑器预览 gameview,渲染模式debugview,动画嵌入播放器,粒子噪声图等功能,大大提升了开发者的使用体验。
(1)支持编辑器预览(gameview)模式
v3.6 版本新增编辑器预览(gameview)模式(实验性),支持在编辑器中直接运行、调试游戏。编辑器的预览可以让开发者在编辑器编辑的同时,看到游戏运行时的效果,可以在运行时效果中得到及时的反馈,并且及时调整游戏中的设计。
(2)动画嵌入播放器
在传统编辑动画时,需要配合其他的模块,比如说粒子模块、音频模块、其他动画板块等,这些模块之间的交互时需要分开编辑,需要通过脚本的方式来达到同步,不仅容易出错,还特别繁琐。在 v3.6 版本中,creator 在动画编辑器中嵌入了粒子、光效、音频等轨道,开发者可实时预览、查看效果,并直观地做出调整。目前在 v3.6 版本中提供了粒子和动画两种播放器,可以在实验室设置中启用。
(3)集成多语言支持的 l10n 工具
随着市场的快速变化,开发者出海的需求大增。因此,cocos
在 v3.6 版本中集成了多语言编辑器,内置了 localization editor 插件,通过高自动化工具提高用户翻译的效率,并且以无代码方式降低了用户使用门槛。
panda 表示,v3.6 版本启用了全新的编辑器 ui,cocos希望通过交互来改善视觉感受,通过视觉来影响交互体验,并从这两个层面进一步提高用户体验。未来,cocos 将继续基于 cocos 的设计目标、设计系统、设计原则进行规范化设计,持续更新迭代,优化核心交互和工作流程。
3.引擎原生化
v3.6 版本中一个重要的具有里程碑意义的标志,就是引擎原生化的进步。在 2d 渲染性能上,v3.6和上一代纯2d游戏引擎 2.x 达到了同样的水准。这就意味着,如果是 cocos 2.x版本的用户,出于 3d 需求或持续迭代需求,可以放心升级到 3.x。此外,panda 着重介绍了引擎原生化的几个关键点。
首先,原生化包括整个场景管理以及节点树的原生化,其中包括 3d 场景数据、2d 场景数据,这里面还包括光照、模型,模型内部数据、材质、mesh等数据已经全部实现原生化。
第二是资源的原生化,在材质、mesh 等与渲染相关的核心资源原生化后,开发者就可以在渲染过程中直接在原生层取用数据,极大地提升开发效率。
第三是 2d 性能的原生化,包括 2d 渲染数据结构、2d 合批管理器和渲染流程,让 2d 的合批和提交渲染的流程都在原生层进行,以达到类似 2.x 的性能表现。
panda 表示,底层架构原生化不仅使得引擎性能大幅提升,更为 cocos 未来性能优化开启了新的大门。“在这次性能改造和底层重构之后,未来我们还会将更多的内容下降到原生层,在原生层内部进行性能优化,这也意味着 cocos 引擎未来还有很大的拓展空间。”
产品驱动开发
据 panda 介绍,在 v3.6 版本中,有多项功能是通过产品驱动模式开发的。前期,cocos与凯发在线的合作伙伴共同调研需求,在产生新的需求后,产品会优先介入,由产品分析厂商的需求,深入观察他们在游戏中的需求本质,然后再拆解为实际的开发任务。在开发任务完成后,还会进行产品侧的验收,由产品侧来进行实际的测试,从而评估是否符合预期。最后,cocos 会提前交付给一些用户,应用到项目中进行体验。当 v3.6 版本所构建的项目质量都稳定后,还会在合作项目或者社区内进行定向升级测试,观测凯发在线的合作伙伴的升级流程是否顺畅,从而为新版本的正式发布打下基础。
此外,在 v3.6 封版之后,cocos 还进行了为期一个半月的开放测试,共收到了超过600条测试反馈。对于一个开源引擎来说,有这么多开发者愿意自发地花费时间、精力去测试体验一个新版本,这也从侧面印证了 cocos 社区生态的繁荣。panda 告诉 51cto,“由于用户积极地参与开放测试,帮助我们提高了重要版本的稳定性和质量,还能帮助我们及时发现问题并进行修复。”
插件是 cocos 生态中重要的一环,因为它不仅补充了引擎所不具备的功能,还为广大开发者提供了定制化问题的凯发在线的解决方案。此次 v3.6 版本升级时,为了保障插件的生态,cocos 抽取了插件商店中排名前 30 的插件进行主动测试,帮助这些插件升级到 v3.6 后查看是否会出现问题,若出现问题,则会从引擎侧解决进行兼容修复,若插件问题则会反馈给生态,推动他们解决修复。
生态驱动的开发模式,不仅能帮助 cocos 更好地发现和理解用户的需求,更能借助开发者的力量不断完善自身平台功能,实现产品可持续性稳定的发展,正可谓是源于生态,回馈生态。
不止于游戏 加速元宇宙布局
元宇宙是近一年中最火热的话题之一,也是xr、虚拟人、数字孪生等多种技术的集大成者。在元宇宙概念中,实时渲染技术、和3d 建模技术是不可或缺的重要组成部分,通过这些技术可以得到与现实世界完全一致的数字孪生世界,这也是实现元宇宙的重要基础。
panda 认为,元宇宙是 3d 化虚拟的世界,而所有的 3d 化内容其实都可以通过游戏引擎或者渲染引擎的方式来生产。因此,作为普适的泛内容生产平台,cocos 能天然地成为元宇宙基础设施层面的构建工具,帮助用户搭建元宇宙中所有的可视化内容。
在做好基础设施层面构建的同时,cocos 还会关注一些具体的应用场景,例如虚拟偶像和xr。panda 告诉 51cto,“我们希望虚拟偶像不仅是提供一个技术能力,而提供一个完整的技术内容生态,快速地降低整个生产链路和实际发布链路的成本和门槛。”
因此,在虚拟偶像方面,cocos 提供了生态中不同层面的能力。在虚拟角色方面,cocos定义虚拟角色的创作标准,实现捏脸、换装、面部、动画等能力的快速复用;在工具层面,cocos 拥有素材的认证,可实现从编辑器到素材的分发、再到sdk集成的完整链路。panda 透露,在今年下半年,cocos 也会发布虚拟偶像编辑器,可以快速生成虚拟角色,并且形成社区生态,大家互相贡献生产的虚拟角色并且在技术层面实现共享;在美术层面,cocos 会打造素材市场,帮助开发者快速搭建虚拟角色;在技术合作方面,cocos 也会于诸多凯发在线的合作伙伴合作,形成共创共赢,例如在虚拟偶像方面与声网合作,共同搭建 sdk,帮助开发者集成后完成自己的内容创作;与百度希壤合作,为元宇宙提供更完整的技术平台底座,共同推动国产元宇宙的发展与成熟。
panda 强调,与部分需离线渲染的虚拟人相异,cocos 一直专注于创造实时渲染、可互动的虚拟偶像。据了解,cocos 的虚拟偶像不仅做到了人物渲染,还实现了面部捕捉、动作捕捉、口型互动、口型同步等复杂功能。在渲染方面,cocos 更倾向于卡通写实风格虚拟人的打造,因此在渲染表现力方面的要求也相对较高。在优良的底层架构支撑下,cocos 所建立的整套虚拟人凯发在线的解决方案可以支持在大多数中低端的移动平台上的实时、流畅(每秒30 帧)运行。
虚拟人编辑器预览
在 xr 方面,cocos 既不做硬件,也不做最终的内容,而是做底层技术的支撑。通过 cocos引擎集成 xr 平台,让开发者可以基于 cocos 引擎快速实现跨平台部署的内容创作,帮助开发者在xr环境中创造内容,降低在 xr 方面开发的门槛。据panda介绍,cocos xr集成openxr标准协议,目前已经成功适配quest2, neo3, rokid
air等国内外主流xr设备,该编辑器将于今年下半年发布。
xr编辑器预览
“我们相信,随着科技的发展与用户习惯的迁移,未来使用方式更为轻便的移动端交互一定会成为主流,移动端 xr 也大概率会成为承载元宇宙的核心平台,与此同时,cocos 也会不断优化引擎在低算力市场、轻量级平台和穿戴平台方面的性能和可用性。”
结语
渲染引擎好比 3d max、photoshop、maya 等工具软件,大家可以通过工具软件来开发出自己的作品。越是复杂的工具软件开发,就越需要长期的坚持与持续的投入,引擎尤其如此。目前,国内引擎开发面临诸多挑战,技术积累薄弱、人才积累不足、商业化变现困难等,都在阻碍着国产引擎的快速发展。
cocos 成立 12 年,始终围绕着以工具为平台的定位,不断坚持自我革新,持续进行团队建设以及技术积累,对引擎打造的延续性也是国内其他引擎所无法比拟的。但发挥优势的同时,cocos 仍需不断突破自己,打磨自身技术,持续优化 2d 的同时在 3d 方面不断进步,并且扩大生态力量,用技术实力来证明国产引擎可以实现弯道超车的可能。
未来,也希望 cocos 能秉承“以技术推动数字内容行业的效率提升”的企业使命,借助更丰富的服务能力、更广阔的应用场景、更多元的凯发在线的合作伙伴,持续为用户打造更好的引擎。