文章图片
事实上 , 基于 Cocos 引擎开发的游戏类型远不止如此 , 还包括以《列王的纷争》和《乱世王者》为代表的 SLG 类 , 以《热血传奇系列》为代表的 RPG 类 , 以《动物餐厅》为代表的模拟经营类等游戏 。 2021 年 , Cocos 还有一个更大的突破 , 就是合并了 2D 和 3D 两条产品线 , 推出了“ Cocos Creator 3.X ”版本 , 实现了在同一个编辑器既可以开发 2D 内容又能够开发 3D 内容的能力 。
那这里的 3D 内容是前文所述的休闲 3D 吗?早已不是 , 我们今天的 3D 内容是这样的:
(赛博朋克)
对于上面这个 Demo , 场景里有几百个动态光源 , 行业内的朋友认为可以达到 3A 级效果 。 而下面这个 Demo 则展示了在 Cocos Creator 中使用延迟渲染管线实现的环境光、烘焙等效果 , 而且可以在海思的 GPU 上跑到满帧 。
(海思 CGKIT 光球)
Cocos 引擎架构的迭代演进
从支持简单休闲的 2D 和 2.5D, 进化到如今的 3D 引擎 , Cocos 的架构历经了多次迭代和演进 , 在这个过程中 , 我们有哪些思考?踩过哪些坑?以及 Cocos 和 Unity、Unreal 有哪些区别 , 我们为什么这么做?接下来 , 我将结合 Cocos 架构的演进历程 , 把这些心得分享给大家 。
首先 , 我们先来看一下 Cocos 的早年架构是什么样子的 。
Cocos 早年架构
早几年我还在自己写代码的时候 , Cocos 引擎的架构是像下图这样的:
文章图片
在上面的架构图中可以看到 , 图形渲染这块 , 我们每个功能就是一个 Node , Node 中有两个最核心的函数:update 和 render 。 update 会将你的位置、形变等全部计算清楚 , 而 render 则把它画出来 。
这就像两个循环 , 第一个先根据场景数把所有东西全部 update , 比如说物理碰撞后产生的几个碎片 , 分别飞到什么位置 , 把这些全部计算清楚了 。 第二个就是画 , 它就是一个渲染技术 , 渲染节点画出来 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
