这篇论文介绍了一种名为 "Texel Splatting"(纹理像素泼溅) 的新技术,它的核心目标是:让 3D 游戏或场景在移动视角时,依然能保持完美的“像素画”风格,不会出现画面抖动或闪烁。
为了让你轻松理解,我们可以把这项技术想象成**“在巨大的乐高积木世界里,用固定的探照灯拍照,然后把照片拼成画”**。
以下是用通俗语言和比喻做的详细解读:
1. 核心难题:为什么以前的像素画会“抖动”?
想象你在玩一个像素风格的游戏。
- 以前的做法(正交投影): 就像你在看一张平面的剪纸。如果你把剪纸往左移一点点,上面的所有像素点都整齐划一地往左移。这时候,只要把画面“吸附”到网格上,画面就稳如泰山。
- 现在的难题(透视投影): 但真实世界是有深度的(近大远小)。当你移动相机时,近处的物体在屏幕上会“跑”得很快,而远处的物体只“挪”了一点点。
- 比喻: 想象你在火车上看窗外。近处的电线杆“嗖”地一下过去了,远处的山却几乎没动。
- 后果: 以前那种简单的“吸附网格”方法失效了,因为没法同时把近处和远处的像素都固定住。结果就是画面边缘会出现难看的闪烁(Shimmer),像水波一样乱动,破坏了像素画的质感。
2. Texel Splatting 的解决方案:换个思路
这项技术不再试图在屏幕上“修补”抖动,而是彻底改变生成画面的方式。它分三步走:
第一步:固定灯塔(Cubemap Capture)
- 比喻: 想象你在一个房间里放了一个固定的探照灯(Probe)。这个探照灯不会跟着你跑,它被“吸附”在一个巨大的隐形网格上。
- 操作: 无论你的相机怎么动,探照灯都只从它固定的位置,向四面八方(上下左右前后,像个立方体盒子)发射光线,把场景拍下来,存成一张全景照片(Cubemap)。
- 好处: 因为探照灯是固定的,照片里的每一个像素(Texel)都稳稳地贴在物体上。物体转了,照片跟着转;物体没动,照片里的像素就纹丝不动。这就解决了旋转带来的抖动问题。
第二步:网格吸附(Grid Snapping)
- 比喻: 虽然探照灯是固定的,但当你走到下一个房间(网格单元)时,探照灯会“跳”到下一个固定点。
- 操作: 系统会把你的相机位置“吸附”到最近的网格点上。只要你在一个格子里没跨出去,探照灯就不动,画面就绝对稳定。
- 好处: 这解决了移动带来的抖动问题。
第三步:把照片“泼”在墙上(Splatting)
- 操作: 这是最神奇的一步。系统不再把全景照片直接贴在屏幕上,而是把全景照片里的每一个小像素块,都变成一张立体的小卡片(世界空间四边形),直接“泼”(Splat)到 3D 场景中。
- 比喻: 想象你手里有一叠透明的卡片,每张卡片上画着全景图的一小块。你把这些卡片直接插在 3D 模型的表面上。当你移动相机时,这些卡片是长在物体上的,它们会跟着物体一起动,而不是在屏幕上滑动。
- 结果: 无论你怎么看,这些卡片(像素)永远稳稳地贴在物体表面,完美保持了像素画的风格。
3. 它是怎么处理“看不见的地方”的?(Disocclusion)
- 问题: 既然探照灯是固定的,那如果它被墙挡住了,墙后面的东西它就拍不到。当你走到墙后面时,就会看到一片空白。
- 解决: 系统用了**“双探照灯”策略**。
- 主探照灯(网格探照灯): 负责大部分稳定的画面。
- 跟随探照灯(眼睛探照灯): 这个探照灯跟着你的相机跑,专门负责拍那些主探照灯看不到的死角。
- 魔法融合: 当两个探照灯的画面重叠时,系统会用一种像老式电视雪花点(抖动混合) 的技巧,把两张图平滑地融合在一起。虽然跟随探照灯拍的画面可能会有点抖动,但因为只出现在边缘或死角,而且被融合处理过,人眼几乎察觉不到。
4. 总结:这项技术牛在哪里?
- 以前的像素画: 要么只能看正视图(像 2D 游戏),要么动起来就闪烁(像现在的 3D 像素游戏)。
- Texel Splatting: 让你可以在真正的 3D 空间里自由行走、旋转,同时画面依然像静止的像素画一样清晰、稳定,没有那种恼人的“水波纹”抖动。
一句话总结:
它不再试图在屏幕上“修图”,而是把 3D 世界切成无数个小像素块,像乐高积木一样直接拼在物体表面,让像素画在 3D 世界里也能“稳如泰山”。
Texel Splatting: 透视稳定 3D 像素艺术技术总结
1. 研究背景与问题 (Problem)
在将 3D 场景渲染为**像素艺术(Pixel Art)**风格时,核心挑战在于确保离散的像素在相机移动时保持视觉稳定(即不出现抖动或漂移)。
- 正交投影的局限性:现有的方法(如 ProPixelizer)通常通过将相机“吸附”到网格(Grid-snapping)来解决此问题。在正交投影下,世界空间的偏移对所有深度的像素产生的屏幕位移是相同的,因此单一的网格吸附可以统一修正所有像素,保持锁定。
- 透视投影的失效:在透视投影下,相同的世界空间偏移量在不同深度产生的屏幕位移量不同(近处物体位移大,远处物体位移小)。这意味着不存在单一的网格吸附点能同时修正所有深度的像素。
- 现有问题:如果不解决此问题,相机移动会导致像素出现“闪烁(Shimmer)”或“像素爬行(Pixel Creep)”现象,破坏像素艺术的稳定性。ProPixelizer 指出,这种闪烁在透视投影下无法仅通过屏幕空间修正来解决。
2. 方法论 (Methodology)
Texel Splatting 提出了一种全新的渲染管线,旨在完全避免屏幕空间的修正,通过**世界空间(World-space)**的处理来实现透视稳定的像素艺术。其核心流程分为三个步骤:捕获(Capture)、着色(Shading)、泼溅(Splatting)。
A. 核心原理:固定探针原点
系统不再依赖相机位置,而是依赖一个固定的探针原点(Probe Origin)。
- 旋转不变性:场景几何体被渲染到以固定原点为中心的**立方体环境贴图(Cubemap)**中。由于立方体贴图按方向索引,因此具有天然的旋转不变性。
- 平移不变性:探针原点被吸附到世界空间的网格顶点上。当相机在网格单元内移动时,原点保持不变,从而保证了平移不变性。
B. 渲染管线细节
立方体捕获 (Cubemap Capture):
- 从固定的探针原点将场景几何体光栅化到立方体贴图中。
- 每个纹素(Texel)存储位置、法线、材质和对象 ID 等信息。
- 纹素通过相对于原点的方向进行索引。
着色 (Shading):
- 在计算着色器(Compute Pass)中对每个立方体纹素进行着色,而非在屏幕空间。
- 光照:处理方向光和点光源,并追踪阴影射线。
- 风格化:使用 OKLab 色彩空间进行色调分离(Posterization),将亮度量化为离散的色带,产生扁平的色块效果。
- 轮廓与折痕:通过检测相邻纹素间的对象 ID 不连续(轮廓)和法线不连续(折痕),在 OKLab 空间内应用亮度偏移来生成线条。
- 由于着色发生在立方体空间,结果与相机位置无关。
纹素泼溅 (Texel Splatting):
- 每个可见的立方体纹素被渲染为一个世界空间四边形(World-space Quad)。
- 深度计算:纹素存储标量深度 d(从探针原点的切比雪夫距离)。世界坐标 p 通过公式 p=o+∥r∥∞dr 计算,其中 o 是原点,r 是方向。
- 间隙处理:相邻纹素在精确边界泼溅时会产生缝隙。系统通过扩展四边形来填充缝隙,但为了避免深度相似时的重叠(Z-fighting),扩展量会根据深度差异和视线与立方体面的夹角进行约束。
C. 探针管理与去遮挡 (Probes & Disocclusion)
由于固定原点无法看到被遮挡的几何体(去遮挡问题),系统维护了三种探针:
- 网格探针 (Grid Probe):位于吸附后的原点,提供稳定的内容。
- 眼睛探针 (Eye Probe):位于实际相机位置,用于填充网格探针无法看到的区域(去遮挡)。
- 前一个探针 (Previous Probe):在相机跨越网格边界时,用于与当前网格探针进行混合过渡。
- 过渡策略:当相机跨越网格边界时,使用 4x4 Bayer 抖动图案在两个网格探针之间进行交叉渐变(Crossfade)。
- 性能优化:眼睛探针每帧渲染,而网格探针和前一探针交替渲染,以摊销计算成本。
3. 关键贡献 (Key Contributions)
- 透视稳定的像素艺术:首次提出了一种无需屏幕空间修正即可在透视投影下实现像素稳定的渲染技术。
- 世界空间泼溅架构:通过将立方体纹素作为世界空间四边形直接泼溅到屏幕,解耦了纹素稳定性与相机运动。
- 混合探针系统:巧妙结合了“固定网格探针”(稳定性)和“移动眼睛探针”(可见性),并通过混合策略解决了去遮挡带来的闪烁问题。
- 完全独立于相机的着色:光照、轮廓和风格化效果均在立方体空间完成,确保了视觉风格在不同视角下的一致性。
4. 实验结果 (Results)
- 性能表现:
- 在 iPhone 15 (A16 GPU) 上,以每面 3842 个纹素的分辨率运行,帧率达到 40 fps。
- 在 RTX 4090 上,每帧耗时 < 4ms。
- 视觉效果:成功实现了无闪烁、无像素爬行的 3D 像素艺术渲染,即使在相机移动时,像素也能牢固地锁定在几何体上。
- 成本优势:由于像素艺术美学要求较低的立方体分辨率,着色预算天然较小,且相机无关的着色允许跨帧缓存,进一步提升了效率。
5. 意义与局限性 (Significance & Limitations)
意义
- 理论突破:解决了 ProPixelizer 等现有方法指出的“透视投影下像素爬行无法解决”的难题,为 3D 像素艺术游戏和渲染提供了新的技术路径。
- 应用潜力:适用于需要复古像素风格但具备现代 3D 透视感的 VR/AR 应用、游戏开发及移动端渲染。
- 架构创新:展示了如何利用立方体贴图参数化和世界空间几何体泼溅来替代传统的屏幕空间后处理。
局限性与未来工作
- 去遮挡(Disocclusion)是主要瓶颈:固定原点无法捕捉被遮挡的几何体。虽然“眼睛探针”填补了这些空白,但该区域仍会出现因纹素分配不稳定导致的闪烁。
- 探针密度权衡:
- 大网格单元:内容更稳定,但去遮挡区域更大。
- 小网格单元:减少去遮挡,但导致更频繁的探针切换和混合。
- 待解决问题:自适应探针放置、更多稳定探针的引入、镜面反射材质支持、动态几何体处理以及跨探针单元的细节层次(LOD)管理。
总结:Texel Splatting 通过改变渲染范式,从“屏幕空间修正”转向“世界空间几何体泼溅”,成功在透视投影下实现了像素艺术的稳定性,是 3D 像素艺术渲染领域的一项重要技术进展。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。