拍一圈,就把现实装进手机:体验 HarmonyOS 3DGS 端侧重建
2026年9月7日,HarmonyOS 7(API 26) 正式发布,在系统空间感与智能化方面迎来重磅升级,给应用带来更加广阔的想象空间。今天我们来体验创新特性—— 3DGS 端侧重建。
从多视角采集、端侧重建,到 Tiled 3DGS 分块渲染,Spatial Recon Kit 正在把“空间内容生产”变成应用可以直接调用的系统能力。

图 1
拿着手机绕着一个物体走一圈,结束拍摄,等一会儿,屏幕里出现的已经不再是一段视频,而是一个可以改变视角、靠近观察、重新组织内容的三维场景。
如果只看结果,这件事很容易被理解成“手机又多了一种 3D 扫描”。真正把 HarmonyOS 7 的能力链路拆开后,我更在意的是另一件事:3D 内容的生产流程正在从专业工作站、云端任务和离线资产处理,往终端设备里下沉。
华为在 HarmonyOS 7(API 26)的空间化能力中,把 3DGS 端侧重建作为 Spatial Recon Kit 的重点能力之一。官方给出的方向并不局限于单个模型展示,而是覆盖空间建模、商品展示、文旅展陈等场景;从 API 形态看,它也不是一个“生成完就结束”的黑盒,而是把重建、渲染以及后续编辑拆成了可以组合的能力。
这意味着一个很重要的变化:开发者不一定要先成为一支三维算法团队,才能在应用里做空间内容。过去需要专门扫描、离线处理、导出模型、再接入渲染引擎的流程,现在开始有机会被压缩成“采集—重建—呈现—编辑”的产品闭环。
先看真实使用:Remy 的 3D 相册把“等待重建”做成了可见过程
如果只看技术链路,3DGS 很容易显得离普通用户很远。真正放到产品里,体验往往从一个很熟悉的入口开始。以 Remy 的 3D 相册为例,用户看到的不是参数面板,而是一个类似相册的内容页:已有空间内容、示例项目、正在重建的条目,以及继续创建的入口都被放在同一层级。

实拍记录|Remy 从“3D 相册”进入重建任务,再通过点云预览等待完整结果
进入正在重建的项目后,界面先给出点云预览,并明确提示“点云预览仅展示初步的 3D 形态”;完整 3D 结果仍在继续生成。从截图看,重建阶段需要等待数分钟。这个细节很重要:3DGS 本质上是长任务,如果只给一个进度条,用户很难确认采集是否有效;先让空间轮廓逐步出现,至少能让“系统正在做什么”变得可感知。
把这段真实使用流程放回本文主题就很清楚了:对用户来说,是“选择内容—发起重建—等待结果”;对系统来说,背后却要连续完成多视角数据处理、相机位姿与特征计算、3DGS 优化以及最终场景组织。下面再拆开看,“拍一圈”时系统究竟采集了什么。
还有一个特别接近日常使用的场景:笔者直接躺在床上,对着电脑完成了一次沉浸空间体验。这个案例没有刻意搭建“标准扫描环境”,目标也不是做精细资产,而是验证一件更有产品意味的事——哪怕只是一个人、一台电脑、一段相对稳定的观察路径,端侧 3DGS 也已经可以把原本很普通的生活场景,转换成可浏览、可回看的空间内容。

实拍记录|笔者在床上对着电脑即可生成沉浸空间内容,结果以动态预览方式呈现
这张动态图的价值,不是证明“电脑也能被重建”这么简单,而是把 3DGS 从展馆、文旅和商品展示这些偏专业的场景,往更日常的内容记录推进了一步。用户可以在非常轻量的操作里得到一个带沉浸感的结果:不只是看一张照片,而是重新进入当时的位置关系和观察路径。对公众号读者来说,这比单纯展示算法流程更容易理解 3DGS 端侧重建为什么值得关注。
一、拍一圈以后,真正被保存下来的不是一段视频
拍摄是最容易被低估的一步。用户看到的是相机画面,系统真正需要的却不只是连续图像。要把多个二维视角还原成统一的三维空间,重建链路必须知道“这一帧看到了什么”,也要知道“拍这一帧时相机在哪里、朝向哪里、镜头参数是什么”。
所以,多视角图像只是输入的一部分。相机内参决定成像几何,位姿描述不同帧之间的空间关系,图像本身提供纹理和颜色证据。采集质量一旦不稳定,后面的算法再强也只能在不完整的证据上工作。快速晃动、重复纹理、玻璃与镜面、高光、纯色墙面、移动人物,都会让空间匹配变得更难。
这也是为什么“拍一圈”听起来很轻,工程上却不能把它当成普通录像按钮。一个真正可用的产品,需要实时告诉用户哪些区域已经覆盖、哪些角度还缺数据;必要时还要限制运动速度、提示补拍,甚至根据设备姿态主动筛掉质量不足的帧。
如果把“拍一圈”拆开看,它更像一次受控的数据采集,而不是随手录像。起始正视角负责建立主体,侧向与斜后方视角补足深度与遮挡信息,完整一圈则保证主要可见面都具备稳定证据。下面这组实拍图,对应的就是一个更接近真实产品体验的采集流程。
图 2 环拍采集过程
二、3DGS 到底在“重建”什么:它不是把照片贴到点云上
3D Gaussian Splatting,通常简称 3DGS。它和传统三角网格的思路不太一样,也不是把场景压进一个完全不可见的神经网络函数里。它使用大量显式的三维高斯基元来描述场景。
可以把每个高斯点理解成一个带方向、大小和透明度的三维椭球。它有空间位置,也有尺度和旋转,用来描述自己在三维空间里的形状;同时还携带透明度、颜色以及与视角相关的外观信息。数量足够多时,这些高斯点共同覆盖真实场景。渲染时,它们被投影到屏幕上,再按照可见性和透明度进行组合,于是形成连续的画面。
它最吸引移动端的一点,是“表示”和“渲染”之间的距离比较短。传统高质量三维内容往往要经历几何重建、网格清理、UV、贴图等多道资产流程;NeRF 一类隐式表示在新视角合成上很强,但移动端实时渲染通常需要更复杂的网络推理或专门优化。3DGS 把场景表示成显式、可排序、可裁剪的高斯集合,天然更容易和实时图形管线结合。
这并不意味着 3DGS 在所有任务上都优于网格。它更擅长的是“从真实影像恢复视觉外观,并快速生成新的观察视角”。如果目标是严格几何测量、CAD 级拓扑、物理碰撞或后续精细建模,传统网格仍然有自己的优势。把这个边界分清,反而更容易理解它为什么适合手机上的空间影像。

图3 3DGS 核心机制图
三、HarmonyOS 把 3DGS 做成的,不只是一个重建接口
Spatial Recon Kit 的价值,在于它把这件事拆成了更接近应用工程的几个阶段。重建侧使用 C/C++ 接口管理会话、输入帧和输出结果;呈现侧则可以通过 ArkTS 的 spatialRender 与 ArkGraphics 3D 把结果加载进应用场景。对大场景,API 26 还引入了 TiledGSNode,把模型按空间瓦片组织,渲染时根据相机位置按需请求数据。
从系统分层看,这比“给一个模型文件”更有意义。应用可以把采集界面、重建任务、进度反馈、结果管理和 3D 浏览分别做成独立模块,而不是把整个体验绑死在一次算法调用里。
目前公开文档里,spatialRender 模块从 HarmonyOS 6.0.1(API 21)开始提供 3DGS 模型加载与渲染能力;SpatialRecon 的重建会话类 C API 起始版本为 6.1.0(API 23);在 HarmonyOS 7(API 26)中,大场景相关的 Tiled 3DGS 能力进一步进入公开接口。这种版本演进也说明,端侧 3DGS 正在从“能显示”逐步走向“能重建、能管理更大场景”。
工程上要先做的一件事不要把“系统版本达到 API 26”直接等同于“设备一定支持重建”。空间重建对硬件算力、图形能力和运行环境有额外要求,应用启动重建前应调用能力检查接口,并为不支持的设备设计明确降级路径。

图 4 Spatial Recon Kit 能力链路
四、一次完整重建,工程上其实是三条链路
把 API 名称放到一起看,整个过程就清楚很多。第一条是数据链:检查设备能力,创建 Session,持续输入图像帧以及相机参数。第二条是计算链:启动重建,监听状态和进度,在系统允许的资源预算内完成模型生成。第三条是呈现链:把输出文件加载为 GSNode 或 TiledGSNode,接入 ArkGraphics 3D 的 Scene 与 Camera,再交给应用自己的交互层。
下面这段代码并不追求完整可运行,而是把重建侧最关键的生命周期压缩出来。真正项目里,还需要补齐输入帧参数、错误码处理、回调线程、前后台切换以及资源释放。
代码片段|C/C++ 侧:重建会话的最小生命周期
#include "spatial/spatial_recon_interface.h"
HMS_SpatialRecon_Session* session = nullptr;
// 1. 先检查当前设备是否支持 GS 重建
auto status = HMS_SpatialRecon_IsSupport(SPATIAL_RECON_MODEL_TYPE_GS);
if (status != SPATIAL_RECON_STATUS_SUCCESS) {
return;
}
// 2. 创建重建会话,workPath 用于保存中间数据
status = HMS_SpatialRecon_CreateSession(
SPATIAL_RECON_MODEL_TYPE_GS,
workPath,
&session
);
// 3. 持续输入多视角帧:图像 + 内参 + 位姿
HMS_SpatialRecon_DataFrame frame = {};
// ... 填充 imageData / focalX / focalY / principalX / principalY / pose ...
HMS_SpatialRecon_PushFrame(session, &frame);
// 4. 注册完成回调并启动重建
HMS_SpatialRecon_RegisterNGCallbackFunc(session, onFinished, userData);
HMS_SpatialRecon_StartSession(session, nullptr);
// 5. 任务结束后保存结果,并最终销毁 Session
// HMS_SpatialRecon_SaveResultToFile(...);
// HMS_SpatialRecon_DestroySession(session);
这里有个细节值得注意:重建不是一个适合“点一下,UI 卡住,等结果回来”的任务。它天然是长任务。采集可能持续几十秒甚至更久,重建阶段还会继续占用 NPU/GPU/CPU 和内存。产品体验必须围绕任务状态设计,而不是围绕 API 调用设计。
比较稳妥的做法,是把 Session 看成一个有明确状态机的资源:Idle、Collecting、Reconstructing、Paused、Saving、Completed、Failed。UI 展示的是业务状态,底层则根据系统前后台、温控状态和资源占用决定是否继续计算。这样即使后面更换采集策略或输出格式,页面层也不需要知道太多算法细节。
结果页同样不能只给出一个“完成”提示。更专业的做法,是把已采集图像数、当前任务阶段、预览模式和浏览控件都暴露给用户。这样用户看到的不是一个黑盒,而是一条可追踪、可验证的空间内容生成链路。

图 5 招财猫 3DGS 端侧重建结果页
五、端侧真正难的不是“能不能跑”,而是采集质量、热和内存
3DGS 从论文走到手机,最大的变化不是算法名字,而是约束条件。工作站可以给显存、给时间、给风扇;手机不行。它要在相机持续工作、屏幕常亮、图像处理和重建同时进行的情况下,把发热、电量、内存和交互稳定性都压在可接受范围内。
所以我会把端侧 3DGS 的质量问题分成三层。第一层是输入质量:视角覆盖是否足够,相邻帧有没有稳定重叠,曝光和白平衡有没有剧烈跳变。第二层是重建资源:长时间计算有没有被温控打断,应用切后台后该暂停还是继续,失败后是否能恢复。第三层才是最终画质:薄结构是否断裂,镜面和透明物体是否出现漂浮,高频纹理有没有噪点,边缘区域是否完整。
实际产品里,最容易出现的问题往往不是“完全失败”,而是生成了一个能看的结果,却在某些角度明显露馅。比如桌腿和电线这类细长结构容易出现空洞;玻璃、镜子会把环境反射当成物体自身信息;大面积白墙缺少纹理,位姿估计和外观优化都更难找到稳定约束。
因此,专业体验不应该只展示“重建成功”。更应该在采集阶段主动规避低质量输入,在结果页给出质量等级或待补拍区域。对于普通用户,这些提示比再解释一遍什么是协方差矩阵更有价值。

图 6 重建质量细节对比
六、Tiled 3DGS 解决的,是“大场景不能一次塞进内存”
小物体和房间级场景可以直接加载完整模型,但场景继续变大后,问题会很快从“渲染够不够快”变成“数据能不能被装进来”。这也是 API 26 的 Tiled 3DGS 值得关注的原因。
TiledGSNode 的思路很接近大地图或开放世界的资源流式加载:先把完整 3DGS 场景按空间切成多个瓦片,渲染器根据当前相机位置判断哪些瓦片真正需要。应用拿到请求后再准备对应数据,并在数据就绪时通知渲染器。这样远处、背后以及当前视口完全看不到的高斯点,没有必要同时占据内存和带宽。
官方术语文档把 Tiled 3D Gaussian Splatting 定义为面向大规模 3DGS 场景的分块渲染技术,通过按需加载当前视口所需瓦片来降低内存占用和渲染开销。这个设计会直接影响文旅、街区、园区和大空间数字化,因为这些场景真正的门槛从来不是“做出一个 Demo”,而是如何在移动设备上稳定地移动、缩放和连续浏览。
这一点在博物馆、展馆和室内导览里尤其明显。空间里既有大面积墙体,也有密集展柜与局部细节。如果仍按单体模型的一次性加载思路处理,很容易在首帧加载时间、内存峰值和交互流畅度之间失衡。
代码片段|ArkTS 侧:把 3DGS 结果接入 ArkGraphics 3D 场景
import { spatialRender } from '@kit.SpatialReconKit';
import { Scene, RenderContext } from '@kit.ArkGraphics3D';
const renderContext: RenderContext | null = Scene.getDefaultRenderContext();
if (renderContext) {
renderContext.loadPlugin(spatialRender.GSPlugin.PLUGIN_ID);
Scene.load().then(async (scene: Scene) => {
const gsNode = await spatialRender.GSPlugin.loadGSNode(
scene,
{ uri: 'OhosRawFile://assets/scene/model.glb', offset: 0 },
scene.root
);
gsNode.position = { x: 0, y: 0, z: 0 };
gsNode.scale = { x: 1, y: 1, z: 1 };
gsNode.visible = true;
});
}
如果模型规模继续上升,就不应继续沿用“整个文件一次加载”的思路,而应转向 loadTiledGSNode,并让 Camera 驱动瓦片选择。这里体现出 HarmonyOS 这套能力比较成熟的一点:重建和渲染没有被锁死在同一个抽象层里,开发者可以根据模型规模选择不同的呈现策略。

图 7 博物馆大场景 3DGS 重建预览
七、和 NeRF、传统网格相比,3DGS 在手机上赢在哪里,又输在哪里
把 3DGS 放到端侧讨论,不能只看画面“像不像真的”。更重要的是它在产品链路中的位置。
和传统摄影测量得到的网格相比,3DGS 往往能更自然地保存复杂光照、柔性边缘和细碎纹理,省掉不少资产清理工作;代价是它不是为严格拓扑和精确几何而生。你可以从不同视角看一个空间,却不能默认它已经变成一个适合 CAD、碰撞检测或机械编辑的标准几何模型。
和 NeRF 相比,3DGS 的显式表示更适合实时图形管线,也更容易做裁剪、分块和局部编辑。它的代价则是模型数据量可能很大,高斯数量增长后,内存、存储和加载都会成为新的瓶颈。这也是 Tiled 3DGS、重要性剔除和 LOD 这类工程优化真正重要的原因。
所以,端侧 3DGS 最适合的产品不是“把所有 3D 技术都替代掉”,而是那些真正需要把真实世界快速转成可浏览空间内容的应用。只要目标定义清楚,它的优势会很明显;目标一旦变成毫米级测量或复杂拓扑编辑,就应该换工具。
八、真正适合落地的,不是炫技,而是有“空间价值”的内容
官方给出的场景里,商品展示、空间建模、文旅展陈很容易理解。把它继续往产品里推,我认为可以归成四类。
第一类是“需要保留现场感”的内容。房屋、展馆、古建、展台、校园、事故现场,二维照片能留下片段,3DGS 更适合留下视角之间的空间关系。用户以后再打开,不只是翻照片,而是在一个可移动的视点里重新查看当时的环境。
第二类是“购买前需要判断空间关系”的内容。家具、家电、收藏品、二手交易、大件商品,用户真正关心的不只是正面图,而是体量、背面、边角和不同光照下的细节。相比十几张产品图,一个可旋转、可靠近观察的空间资产更接近线下查看。
第三类是“需要低成本数字化”的专业场景。文博、教育、施工记录、园区巡检,并不是每一次采集都值得请专业扫描团队。端侧重建如果能把门槛降到一部受支持的手机,很多原本因为成本太高而不会被数字化的对象,才第一次有机会进入三维工作流。
第四类是创作。Spatial Recon Kit 不只是把结果展示出来,公开能力还包含空间编辑与风格效果。对内容应用来说,这意味着重建结果可以继续被裁剪、调整、滤镜化,甚至成为壁纸、空间故事、互动展陈的一部分。到这里,它已经不是“扫描工具”,而更像一种新的内容格式。 像笔者对着电脑生成沉浸空间这样的轻量用法,本质上也属于这一类:它不追求标准化建模,而是在日常记录和内容再生产之间增加了一层“可进入的空间感”。

图 8 空间内容应用场景
九、我的判断:3DGS 端侧重建真正改变的是内容生产入口
如果只看算法,3DGS 并不是 HarmonyOS 才有;如果只看最终画面,它也很容易被归类成又一次“3D 更逼真”。但把重建、渲染、编辑和大场景管理放到同一套系统能力里,意义就不太一样了。
过去,应用想拥有一段高质量三维内容,通常要先在应用之外完成资产生产。拍摄、扫描、计算、清理、导出、压缩,每一步都有独立工具。端侧重建做的事情,是把这条链路往用户手里搬:现实世界本身开始成为输入,手机不只是观看 3D 内容的终端,也开始成为生产空间内容的入口。
这也是我认为 HarmonyOS 7 这项能力最值得开发者关注的地方。真正有价值的并不是让每个 App 都加一个“3D”按钮,而是重新检查自己的业务里,有没有那些长期被二维照片、短视频勉强承载,却天然带着空间关系的信息。
如果有,3DGS 才会从一个漂亮 Demo 变成产品能力。比如一件商品需要从任何角度被看清,一处空间需要被保存和复访,一个展馆需要被远程浏览,一段现实场景需要进入后续编辑。到了这些地方,“拍一圈”就不再只是一个有趣的交互,而是一次完整的空间内容生产。
而端侧这两个字,决定了它最终能不能进入日常使用。更短的数据路径、更低的云端依赖、更明确的隐私边界,以及与设备图形能力直接连接的渲染链路,都会让 3DGS 从专业技术继续向大众应用靠近。现在它还明显受硬件能力、采集质量和资源预算约束,但方向已经很清楚:手机正在从记录现实,走向重建现实。
相关推荐:
- 华为开发者联盟-HarmonyOS开发者官网
- HarmonyOS 7(API 26) 官方新能力解读 & 开发者实战开发案例合集
HarmonyOS 7(API 26) 官方新能力解读 & 开发者实战开发案例合集
🔗点击查看更多 HarmonyOS 7(API 26) 的新能力:
更多推荐


所有评论(0)