深夜长谈:聊聊 Cocos Creator 3D 的未来

作者: Panda COCOS 2020-03-09
Hi,各位开发者,很高兴跟大家见面。在我们发布了 Cocos Creator 3D 之后,得到了许多积极的反馈和建议,在此真诚地感谢大家的支持!

从去年十月份 Cocos Creator 3D 诞生以来,3D 引擎组经历了激动人心的几个月,有很多节点让我们对这个产品越来越有信心。今天想和大家分享未来的计划,但在这之前,我们想先感谢这几个月来,对我们非常重要的一些人和事,有来自社区的激励,也有内部的揭秘。

来自社区满满的爱

令我们感到欣喜的是,去年 10 月 16 日 Cocos Creator 3D 发布之后,很快就有几位社区的研究达人发布了好几篇 Demo 和教程,比如张晓衡发的打砖块案例分享;一枚小工的足球射门和叠货箱;白玉无冰的蚂蚁庄园系列和拇指射箭;博毅创为 Blake 老师的街头篮球直播;@yans 移植的 ShadowGun 经典 Shader 案例(甚至还包含水面、雾效和体积光哦)。同时,我们的论坛社区中,无数开发者每天都在互相帮助,给新人指导,答疑解惑。对于这些热心的开发者们,我们心怀无限感激。大家的关注与陪伴,也激励着我们引擎团队不断完善 3D 引擎。

梦想结出果实:上线游戏

同样就在 3D 引擎发出后的短短两周时间内,我们就发现了几款小游戏使用 Cocos Creator 3D 上线了。我们最早发现的是“画线射门”和“疯狂接盘侠”这两款小游戏,虽然都是非常轻度的休闲闯关游戏,但也给了整个团队莫大的信心,让我们对编辑器的方向更加坚定。



Cocos Creator 3D 经历了三年多的研发,但直到近 2018 年中,我们才确定了要做自己的编辑器,而不是从其他编辑器导出资源运行。这个决定意味着开发者用其他引擎制作的项目无法直接迁移,也需要学习一套新的编辑器工作流,我们自己的研发周期也会被继续拉长,承担巨大的编辑器研发成本和时间。这两款最初第三方游戏的上线,让我们知道这就是我们坚定编辑器研发路线的回报。如果不是高度统一的工作流,不可能有如此高的开发效率。当然,后续更多的 Creator 3D 游戏也陆续上线,越来越精品化,比如熊灵传说、热血街道、猪猪侠之极速狂飙、最佳进球、极品车王、巅峰漂移等等。直至我们下一个故事的主角,第一款跨端 Creator 3D 游戏。





突破原生:弹无虚发

应该说 Cocos Creator 3D 直到 v1.0.3 才算是完整版本,它 终于支持了原生平台。在这之前大家也都在观望平台支持的情况,担心我们无法快速完成跨平台的适配。幸好引擎团队非常给力,经过三个小版本补齐了所有 Creator 支持的平台。更让我们感到欣喜的是开发者的信任,有一些开发者在我们尚未支持目标平台的情况下,就果断立项启用我们的引擎,等待我们的更新。其中最好的例子就是“弹无虚发”这款游戏,2020 年元旦前我们发布了支持原生平台的社区公测版本,1 月 11 日就有收到帖子“《弹无虚发》终于上线内部测试版本啦(IOS端)”,开发者的速度简直惊掉了我们的下巴。当然,这也证明了我们 Cocos 祖传的原生平台支持一如既往的稳健。很有趣的是,这款游戏先上线 iOS,在这周才刚刚上线微信小游戏平台,完成了跨端发布。





Powered by Cocos Creator 3D

从 v1.0.1 版本开始,我们对微信开放了一个新的功能:插屏替换功能。也有开发者们误会这是我们在铺垫付费或者强制宣传,其实这个功能背后的秘密没有那么功利。



引擎上线之后,我们发现不少吐槽加载慢的问题,也发现有些项目遇到微信端卡在 100% 白屏进不了游戏。我们仔细研究后发现,如果在小游戏渲染出第一帧之前,出现错误的话,就会卡在微信的加载界面,此时连报错信息都查看不了,这对于开发者调试体验实在太不友好了。所以我们才想到了 Splash Screen 这一经典解决方案,在用户脚本、资源、场景加载之前就加载一个插屏页面,提交第一帧渲染,完美解决了卡白屏的问题,甚至减轻了玩家对加载速度慢的感知,极大地提高了响应速度和玩家体验。

当然,随着这个功能上线我们也同时允许开发者在构建时直接修改插屏图片,允许去除 Powered by Cocos Creator 3D 的字样。只需要给我们提供游戏项目的一些信息,帮助我们找到可爱的开发者们,建立联系甚至合作关系。尽管如此,仍然有很多开发者保留了 Powered by Cocos Creator 3D,在此诚挚地向你们表示引擎团队的感谢!

未来路线图公开

当然今天的正题是分享 Cocos Creator 3D 接下来的重要版本计划,这些计划已经被公开在 Trello 公开的看板上,会一直保持更新。




可以看到接下来的发布计划主要是 v1.0.4 和 v1.1 两个版本,其中 v1.0.4 为春节前 v1.0.3 基础上大幅度增强稳定性的版本。而 v1.1 则是我们注入了很多重要新特性的里程碑版本。

Trello 路线图看板:

https://trello.com/b/3DmJCvh3/cocos-creator-3d-roadmap

Cocos Creator 3D v1.0.4

v1.0.4 在下周很快就会和大家见面,由于想赶在年前发布,v1.0.3 的迭代略微有些仓促,加入了各种平台支持,所以稳定性和细节上我们不太满意。二月初开始我们恢复了远程办公,经过一个月左右的迭代和测试,完成了更稳定的 v1.0.4 版本。这个版本的重要更新包括:

- 桌面端微信平台支持

- Tween API 易用性优化:增加 onUpdate、onStart、onComplete 回调,节点销毁时关联的 tween 自动停止

- 各个小游戏平台的分包功能支持

- Ammo 物理后端支持胶囊体

- 修复组件对象构造失败可能导致的场景数据丢失问题,这个问题在论坛中有不少开发者遇到过,我们之前一直未能重现,感谢 @o???u??? 提供的测试项目帮助我们找到了问题的根本原因。这个问题的根本原因仍然是循环依赖导致的脚本丢失,不过丢失的不是组件脚本,而是组件构造函数依赖的脚本,导致组件实例化失败,而我们没有处理这个错误进而损坏了场景数据,如果用户保存了错误的数据,就会导致场景再也无法打开。这个严重的问题相信在 v1.0.4 之后就会大幅度减少,而循环依赖的问题我们也计划在 v1.1 中继续优化。Cocos Creator 3D 目前比较容易出现循环依赖的主要原因是因为 @property({type: XXX}) 这种装饰器写法会在解释脚本阶段立即执行,最终在脚本导入阶段变成了硬依赖,就使得这种类型声明变成了循环依赖的罪魁祸首。我们会尽力在 v1.1 找到更完善的解决方案。

- 修复 fbx 导入工具对部分 Mac OS X 版本不兼容的问题,目前已支持 Mac OS X 10.12+

Cocos Creator 3D v1.1

在 v1.0.4 之后,我们将正式进入 v1.1 的迭代周期,总的来说,v1.1.x 的核心目标有三个

- 原生强化!

- 开发效率!

- 运行性能!

作为一款跨平台的游戏引擎,今年 Cocos Creator 3D 的目标是服务于跨端 3D 游戏的开发需求,我们尤其关注移动原生平台的质量。这背后的原因相信大家也很清楚,在国内政策缩紧的情况下,海外原生平台成为广大开发者自救的最好选择。在引擎支持上,我们会在上半年就完成原生多渲染后端的支持,包括苹果 Metal 和安卓 Vulkan。不仅如此,在原生框架上我们还会投入大量研发资源,后续将逐步输出具体计划。

在开发效率上,v1.1 将提供一些社区开发者们众望所归的功能,比如场景编辑器中显示摄像机预览的小窗;材质编辑预览功能;插件脚本顺序管理。相信这些功能对开发效率会有显着提升,原有模块比如动画编辑器也会得到持续的体验优化。除此之外,我们也从各个角度提升了编辑器运行性能,降低了 CPU 占用率。





开发者非常关注的运行性能方面:原生平台上主要是框架级别的原生化以及多后端接入,本身就会带来显着的性能提升,框架准备也可以为后续长期的性能优化打好基础;在 Web 和小游戏层面,我们会尝试在更多平台和环境下开启 WebGL2 或是 WebGL1 extension,比如之前在微信上由于兼容性关闭的 VAO 支持:同时很多材质都可以通过开启新增的 GPU Instancing 选项显着增强渲染性能,而基于 GPU 的粒子系统也是为了让开发者轻松无痛地在游戏中使用更多特效。

以上就是版本相关的计划,非常欢迎大家到我们 Trello 的看板上评论你们的想法,给你们感兴趣的功能点赞。大家也可以继续在论坛中提出我们没有考虑到的各种建议,我们会收集到路线图中。

更长远的规划

目前公开的计划不算多,只有最近这两个版本,但我们内部其实已经做了非常长远的规划。今年最重要的目标是原生平台框架的持续升级,并且得益于我们在绑定技术上的长久积累,引擎的框架可以做到渐进式的迁移,这点是非常有价值的。另外,海外各种平台服务的支持也会逐步集成到 Cocos Creator 3D 中,帮助大家更轻松地进军海外市场。在功能和特性上,我们会不断深入挖掘动画混合、场景编辑、地形和烘焙功能、资源编辑、可编程渲染管线、物理系统、插件体系等方面的能力。具体的计划请持续关注我们的 Roadmap 和公众号。

最后再次感谢所有陪伴我们成长的开发者们,感谢你们的无数反馈、分享和你们做出的游戏!

作者: Panda  
来源:COCOS
原地址:https://mp.weixin.qq.com/s/7l8OehStvTrmuGYkrxHpSg


最新评论
暂无评论
参与评论

商务合作 查看更多

编辑推荐 查看更多