Skip to content

浏览器悄悄成了一个真正的引擎目标

作者:Oleg Sidorkin,Cinevva CTO

两个月前我们写过浏览器渲染经历了史上最好的一个月,当时我们以为那只是一次尖峰。它不是。它是一个趋势的开端,而且这个趋势有方向。浏览器正在变成一个你拿来上线一款真正的游戏的地方,而不是一个你把一款小游戏移植过去的地方。

三月以来落地的东西

把清单过一遍。Babylon.js 9 交付了支持数千个动态光源的聚簇光照、体积光照,以及一次完整的 Gaussian splatting 大改。Three.js r184 加入了 HTMLTexture,它能把实时、可交互的 DOM 渲染成 3D 表面上的纹理。PlayCanvas v2.17 带来了 WebGPU 上由 GPU 驱动的 Gaussian splatting,配有 f16 球谐函数以及 GPU 排序和视锥剔除。Godot 4.7 beta 加入了 wasm64 网页导出,解除了过去 4 GB 的内存上限,同时还有真正的 HDR 输出和区域光。Chrome 146 交付了一个能在 OpenGL ES 3.1 和 Direct3D 11 上运行的 WebGPU 兼容模式,而 WebGPU 本身达到了 W3C 候选推荐标准。这其中任何一项都足以成就一个值得一提的季度。而它们全都在大约八周内落地了。

“够做个演示”变成了“够拿去上线”

到来的这些特性不是玩具。聚簇光照是你用来在不让帧率崩塌的前提下、用数千个动态光源照亮一个场景的方法。Gaussian splatting 是你用来把照片级真实的捕捉环境放进游戏、还保持可交互帧率的方法。由 GPU 驱动的排序和剔除,是一个会卡顿的技术演示和一款能稳住 60 帧的游戏之间的区别。这些都是原生引擎用来做 AAA 上线的技术,而它们现在能在一个标签页里运行。兼容模式那部分工作在另一个方向上同样重要。它意味着 WebGPU 能触达大多数玩家实际拥有的廉价和老旧硬件,而不只是配了高端 GPU 的开发者机器。

我们一直在这之上动手搭建

我们不是从一份新闻稿上读到这些的。我们过去这段时间一直在搭建一个在浏览器里运行的开放世界,跨越了六十多个 spike 实验,从丑陋的地形基线,到 GPU marching cubes 和流式 LOD。我们把这条轨迹写成了一个完整系列,以及一篇更长的关于方法论的文章。上面几乎每一个特性都对应着我们以惨痛方式撞上的一个问题。当聚簇光照落地到一个主流网页引擎里时,那就是我们自己一段可以删掉的代码。

异议已死,习惯未死

“你没法在浏览器里做一款真正的游戏”这句话在很长一段时间里都是对的,而它在大多数行业把目光投向另一边的 AI 时,悄悄不再成立了。那道曾经为“先上线一个原生客户端、网页版也许永远不做”辩护的技术天花板,已经被掀掉了。剩下的是习惯。引擎、工作室和工具链仍然建立在一个假设之上:浏览器是次一等的目标。

那个假设就是机会。我们打造 Cinevva 时押的赌注是:浏览器会成为上线和发现游戏的默认场所,而不是退而求其次的选择。渲染栈刚刚花了两个月把这个赌注证明出来。最先更新自己心智模型的工作室,将得到一个没有安装摩擦的分发面,以及一个一键之遥的受众。那些观望的,最终也会移植过来——在所有人都已经住在那里之后。


相关阅读: