来源:市场资讯

(来源:51CTO技术栈)

编辑 | 玉澄
打开网易新闻 查看精彩图片
编辑 | 玉澄

最近 AI 3D 领域被一颗“ Spark ”点燃了,来自 World Labs 的 Spark 2.0正式开源发布!

想象一下:你用手机点开一个网页,瞬间出现哈利波特里的霍格沃茨城堡的礼堂,天花板处是真实的星空,烛光漂浮在半空中,照亮着整个礼堂。你转动视角,细节自动加载,卡顿?不存在的!

来看一波官方视觉震撼,旧金山科伊特塔的超过4000 万个 splat(泼溅) 细节拉满,城市、树木、天空无缝融合。

打开网易新闻 查看精彩图片

Spark 2.0能让超一亿细节的3D庞大开放世界在普通手机、电脑甚至 VR 眼镜上实时可互动地呈现出来,这意味着任何人都能构建适用于所有设备的交互式3D世界体验!

李飞飞在X上也表示对这次突破现有网页渲染器限制,提供一个完整的网络流式和渲染 3D高斯泼溅(Gaussian Splatting,3DGS)世界的开源解决方案感到非常自豪!

打开网易新闻 查看精彩图片

有网友评论,“帖子里的技术深度令人惊叹”。

打开网易新闻 查看精彩图片

一位亚马逊云的空间计算架构师Adam Chernick,主要专注于AR/VR、3D 实时渲染、数字孪生、3DGS 等新兴技术,也给出了很高赞誉。

打开网易新闻 查看精彩图片

浏览器上能使用的3DGS技术

这一版本的推出,直接把 3DGS 推到了一个新高度,让我们先来理解下3DGS技术。

简单来说,3DGS 是使用数百万个可调节的3D高斯椭球来融合形成超逼真的场景,就像用无数彩色、半透明的小椭球堆叠出整个3D世界。

Splat 是指渲染时把这些3D高斯椭球“泼溅”到2D屏幕上。每个 Splat 由其位置、XYZ尺度、旋转、颜色和透明度定义。他们使用“画家算法”渲染它们,实时将数百万个椭球从前到右后排序。

打开网易新闻 查看精彩图片

国内在3D领域全球领先的公司Meshy和Tripo使用的技术多是Meshy(网格)建模,而3DGS比Meshy更具有流动性,而且能够实时渲染、构建时间更短、稳定高保真,不过其缺点在于编辑性稍差。

打开网易新闻 查看精彩图片

Spark 2.0 的核心黑科技

Spark的推出源自World Labs过去内部开发的一个工具,用于解决“大多数渲染器只能处理一个对象,并且缺乏动态动画”的问题。

他们在 threejs 和 WebGL2 上构建了 Spark,所以不仅能和Meshy模型混搭,还能在任何设备上构建3D世界。

为了能在浏览器中渲染超过1亿个splat,他们实现规模化的方法是以下三个核心系统:

连续LoD树(Continuous Level-of-Detail trees)

Spark 2.0 使用了 LoD Splat 树。这使得视野中的场景不是粗糙和精细两档切换,而是连续自适应。

打开网易新闻 查看精彩图片

每个场景建一棵“斑点树”,根节点是整个物体的超级粗略版,叶节点是原始百万级细节。Spark 根据你的视角实时“切”树,挑最合适的Splat 数量(可预算 50 万到 250 万),保证 GPU 负载恒定。远看省资源,近看出细节,还支持固定注视点渲染。

打开网易新闻 查看精彩图片

渐进式.RAD流(Progressive .RAD streaming)

告别不适合流式传输的 .PLY 和 .SPZ 格式 文件,他们开发了 .RAD 格式,让我们能即时看到场景的 64K 粗糙版,边看边精炼,细节按移动优先加载。

打开网易新闻 查看精彩图片

GPU虚拟内存分页(GPU Virtual Memory paging)

借鉴操作系统虚拟内存,他们在 GPU 上搞了个 16M splat 的“物理池”,用 LRU 算法在.RAD 文件中交换 64K“页”的数据进出。手机内存再小,也能渲染“无限”复合世界。多个对象无缝融合,不会出现“贴图感”。

让多个 3DGS 对象在同一空间共存的算法逻辑是:生成一个全局列表→从前向后排序→一次性渲染。

打开网易新闻 查看精彩图片

此外,每个 splat 都提供了可编程的 GPU 流水线,这解锁了实时效果,像SDF 裁剪、动画过渡和 4DGS 插值都可以随便玩。

体验与安装

在官方给出的旧金山科伊特塔实例中,控制系统包括运动模式、LoD、页码表三部分,十分细致。

打开网易新闻 查看精彩图片

Spark的官方文小编简单用鼠标进行视角转换和缩放,确实顺滑无卡顿,不过进入世界的初始加载稍有迟滞。

官方文件里还提供了一个可直接运行的 HTML 代码示例,小编打开看了看,是一只色彩鲜艳、极其逼真的蝴蝶。

打开网易新闻 查看精彩图片

Spark 2.0 的安装方式就一条指令,可通过NPM 安装:

npm install @sparkjsdev/spark

由于Spark 库的部分核心代码是用 Rust 语言编写的,并且编译成了 WebAssembly (Wasm) 模块,因此在从源码构建时需要安装 Rust 开发环境。

官方文件的功能特性里强调,Spark适合需要在浏览器中展示高质量 3D 场景的开发者。它提供了 LOD、多种数据格式支持和编辑能力,并且通过 Wasm 提升了性能。

4月以来,Meta 发布多模态大模型 Muse Spark,阿里的HappyHorse-1.0 匿名上线并登顶 Artificial Analysis AI Video Arena 视频生成榜单,World Labs又推出Spark 2.0,有一种“你家唱罢我登台”,新东西层出不穷之感。

Spark 2.0的这次发布,将视觉AI最前沿的3DGS技术从实验室中解放出来,成为人人能用、浏览器里就能跑的“3D世界底层平台”。这不仅让李飞飞团队的“空间智能”愿景加速落地,更可能引发下一波 AI 应用浪潮:从 2D 屏幕到 3D 世界,从被动观看到主动交互。

在 AI 前沿越来越强调“具身”和“世界模型”的今天,Spark 2.0 可能将会是一根导火索——点燃普通开发者、创作者和研究者共同构建“AI 3D 宇宙”的热情。下一个现象级XR应用、机器人训练平台,或者教育交互应用,说不定就会因它而诞生。

https://x.com/sparkjsdev/status/2044090505982816449

https://wlt-ai-cdn.art/spark-2.0/260413/explore-coit.html

https://sparkjs.dev/