沉浸式高斯泼溅之旅:旧金山恩典座堂
文章摘要
Vincent Woo(HN 用户 akanet)发布了他的新作:旧金山恩典座堂(Grace Cathedral)的沉浸式高斯泼溅(Gaussian Splatting)漫游。这是一个纯浏览器体验,无需安装任何应用,在手机和桌面上都能跑;进入后会以电影化的镜头运动带你从街道穿入教堂内部,也可以随时切换为 FPS 式自由行走(桌面用 WASD 加鼠标拖拽,手机上点击即走)。
技术上这是他 2025 年 Sutro Tower 三维扫描项目的进阶版。当年的流程大致是:用无人机围绕目标飞行、拍摄数千张照片,在 RealityCapture 里做对齐(让计算机理解不同照片中的点对应现实中的同一个点),再用 gsplat 生成三维模型。恩典座堂的难度远高于铁塔——作者自述这次的野心在于以一种新方式把室内与室外场景融为一体,并且要让它”不只是个玩具”。渲染引擎用的是 PlayCanvas,它带有全局排序,因此从任何相机角度看泼溅都能正确渲染。
作者在评论里披露了大量制作细节。为了消除不同拍摄批次之间的不一致,他花了很多时间手工遮罩(hand-masking):两次拍摄间隔太久,期间教堂居然新建了一整段天花板。splatting 里的 PPISP 引导对解决多相机、多光照条件下的传感器差异帮助很大。室内外两套数据的配准,靠的是彩窗上的锚点。场景中的汽车被单独分离出来做了程序化动画——它们本身也是高斯泼溅,和场景其余部分一样;附近某栏建筑顶上还有一面在微风中飘动的美国国旗作为彩蛋,团队甚至讨论过要不要加鸟,最终没有进最终版本。
作品里最受好评的功能叫 Peek——一种剖切视图,可以像看建筑剖面图那样”揭开”教堂外壳窥视内部结构。多位评论者说它像是《不可思议的剖面》(Stephen Biesty)那类儿童科普书的科幻版。这个项目还有一层实用意义:恩典座堂计划用它向潜在的场地租用者展示空间,因此作者在”能在各种设备上流畅运行”这件事上投入了大量精力。
HN 评论精华
-
akanet(作者)解释了如何做到几乎无伪影:”我花了很多时间手工遮罩掉不同拍摄批次之间的不一致。我两次拍摄之间等得太久,他们居然真的新建了一整段天花板。splatting 里的 PPISP 引导也很有帮助,它能解决进入源数据集的许多不同相机与光照条件带来的传感器不一致。” 关于室内外如何配准,他的答案只有一句:”靠彩窗上的锚点!”
-
akanet 还说明了这个项目和 Sutro Tower 的定位差异:”恩典座堂的工作量比 Sutro 大得多。我想在把室内外场景以新方式结合上更有野心,也想让它不那么像个玩具。恩典座堂真的打算用它给潜在租用者展示空间,我们花了很多精力确保它能在各种设备上跑得好。”
-
hdz 表达了社区里典型的感受:他把 Sutro Tower 那个 demo 存在手机里到处给人看,说”看,这就是高斯泼溅能做到的事”。恩典座堂展示了他最喜欢的 3DGS 特性——反射和玻璃,”彩窗的色彩和神韵传递得特别好”。
-
ovenchips 补充了 PlayCanvas 侧的实现:”汽车被分离出来做程序化动画。它们和场景其余部分一样是泼溅。在 PlayCanvas 里很容易做——简单但有效。” 对于”能否把光照从几何中分离”的提问,他透露 PlayCanvas 其实已经支持对高斯泼溅场景做重打光和投影,”某种昼夜切换本来会是另一个很棒的功能,但也没进最终版。也许该出个 HD Remix”。
-
hankbond 的观察意外地深刻:动态汽车和音效为沉浸感贡献极大,”如果什么都不动,效果会显著削弱”。第二天他又回帖:”已经是第二天了,我还在想那个小细节带来了多大的差别。”
-
ACCount37 写下了整场讨论里最有远见的一条:主角是教堂,但真正让他着迷的是那些被顺带捕获的琐碎细节——附近的树和建筑、篮球场、侧面的小太阳能板、公寓楼。”这就像看到 Google 街景的承诺被实现了。这门技术还处在如此早期的阶段,就已经这么能打。” 他进而追问下一步会是什么:把平面转换回经典刚体贴图几何的”反泼溅”优化?把光照从几何中分离?用分割自动去掉人这类变量、用生成式 AI 补上缺失的非语义细节、把公开高清照片里的铭牌信息”移植”进场景?
-
dmarcos 给出了技术性最强的科普:泼溅确实可以带视角相关的颜色来表现光照和反射,这些被存在不同阶(0/1/2/3)的球谐函数里,分别对应漫反射、方向性光照、高光等;但并非所有泼溅重建都带球谐,而且它们会增加渲染开销。此外泼溅擅长表现高频细节——头发、云、植被——这些用传统网格很难做,”注意这些重建里的树看起来比 Google 地图/地球 3D 视图好多少”。
-
sublinear 提出了唯一一条实质性的产品批评:Keith Haring 的那座祭坛画是个很棒的惊喜,但这个”在轨道上”的呈现方式让它很难被看到。”我知道看泼溅时角度很重要,但拜托。” 他补充说自己只在手机上看 HN 且认为这是多数人的情况,”糟糕的移动端支持是任何 Show HN 的痛点”。slimbuck 出面回应他其实可以在手机上点击行走自由走动,并请他反馈若不生效。
-
magicalhippo 报了一个具体的 bug:在 Firefox / Windows 11 / Nvidia 上跑几秒就失效,控制台报 WebGPU 的 buffer binding range 超出 max_*_buffer_binding_size 限制(138024504 超过 134217728)。他后续跟踪发现现象很飘:第二天什么都没改就好了,然后又坏。akanet 判断这是 WebGPU 驱动问题并追问显卡型号(RTX 5090 / 610.62 驱动 / Firefox 153.0b9)。gblargg 报了另一台 Windows 11 + Radeon 780M 直接把机器挂死。
-
bubblegumcrisis 描述了一种普遍的观感:”不知为什么,我的大脑看高斯泼溅时总会强烈报警’这不是真的’。光照的某个地方让我觉得很不对。而每次看讲解高斯泼溅的视频,它们都声称自己是要解决光照问题的。” estearum 的解释颇有意思:这更可能是”焦距不符合预期”——而你很难知道自己在期待什么,因为你平时对视点没有任意的空间控制权,有些视角你只在相机(甚至特定类型的相机)里见过,另一些则主要通过自己的眼睛看。
-
adaml_623 注意到一个非技术细节:”真是疯了,他们居然在那里盖了栋公寓楼,会给所有那些彩窗投上阴影。我猜背后有故事。”
-
julienchastang 期待有人用同样方式做欧洲的哥特式主教座堂;CamperBob2 和 suejunghuh0 顺势贴出了另外两个高质量的第三方泼溅场景。frizlab 补充说 Apple 地图最新的 beta 已经在用这项技术。
-
vivzkestrel 提出了最实际的一问:如果我想用这种方式让一座城市活起来,流程长什么样、需要哪些输入、工具和库?schaefer 想学来扫描本地的攀岩线路,asadm 追问用了什么型号的无人机——多位评论者反复请求作者把流程写成博客,作者回应说会再写一篇。