在做AR之前,先想清楚你的用户会不会原地转圈
这事儿听起来像是废话,但实际上八成AR项目死在这一步。2022年我们接了一个家居品牌的案子,用AR让用户预览沙发在家里摆着啥效果。当时所有技术方案都盯着SLAM稳定性、模型精细度、光照估计,折腾了三个月,算法调得挺满意,结果用户测试的第一天就出问题——用户在家里走动的时候,摄像头一但转到纯白墙壁或者大面积反光的地板,整个虚拟沙发直接漂移到天花板上去。最后反复排查才发现问题根本不在算法层面,而是用户根本不理解『你需要慢慢移动手机让平面识别』这个前提,他们像拿手机拍视频一样到处扫,传感器数据乱了,算法再牛也扛不住。
后来我们改成三步引导界面,第一步就是让用户对着地面拍三秒钟,让系统提示『保持静止』,那个沙发的投影稳定性立刻上了一个台阶。但代价是用户多了一步操作,流失率增加了12%。这12%的流失能不能接受,写代码之前就应该问甲方要答案。大多数AR文章不会告诉你,AR体验的第一行代码其实是UX设计,不是什么平面检测回调。
今天市面上聊AR的文章90%都在讲怎么做,但很少讲清楚什么场景不该用AR。比如走动的户外导航,手机AR模式基本就是个累赘,低头看屏幕走路本身就危险,加上GPS精度在十米级别,虚拟箭头根本不可能稳稳钉在路面上。做了一年户外AR导航后,我们彻底放弃了在步行场景做视觉定位,转而用垂直方向的AR信息浮层,只在用户停下来的时候激活。技术不是越炫越好,用户能安全使用才是第一原则。
WebAR vs 原生应用:真正的分岔路不是性能,是安装门槛和IO
先给出一个看似反直觉的结论:在2023年做AR,如果预算小于五十万,直接放弃原生应用,选WebAR是唯一的活路。不是说原生AR体验不好,而是你根本填不满那个安装成本的坑。我们在2022年上半年做了一个展览馆的WebAR导览,用的是8th Wall,全流程跑下来,平均启动时间在iOS上是2.3秒,Android中端机器上要4.1秒,每次识别图加载时间约1.8秒,整体可接受。同样是这些功能,如果做成原生应用,要求用户先下载一个80MB的安装包,打开还要注册,预计流失率会高达45%。WebAR的流失率只到9%。
别拿性能说事,WebAR最大的命门确实是在重载3D模型时纹理压缩极其焦虑,在Safari上使用KB备用的DDS格式会直接黑屏,只能用KTX2或者ASTC,但Chrome on Android的WebGL对ASTC的支持在不同GPU上表现参差不齐。这个兼容性调试足足花了我们一周时间。所以你看,难点根本不在『选哪条路』,而是选了WebAR之后,你要做好面对几十种诡异组合的觉悟。
原生开发目前最成熟的组合是Unity AR Foundation加XR Plugin,在iOS端底层映射到ARKit,Android端映射到ARCore,代码复用率能做到80%左右。但有一个问题是很多ARKit项目里面极其依赖的People Occlusion功能,ARCore至今都不提供同等级的API。如果你做的是美妆试戴或者虚拟试穿,Android用户看到虚拟眼镜居然穿过鼻梁,毫无遮挡,那种挫败感能把一个功能直接拉进负数口碑。
SLAM、光场和平面检测——稳定的假象掩盖了物理世界的糟糕
市面上的AR SDK给了你一个几乎开箱即用的平面检测,很多开发者就误以为平面是凭空检测出来的。实际上ARKit和ARCore都是靠特征点追踪和IMU数据融合,说白了就是猜。当环境出现以下三种情况时,这个猜字会以极高的概率失败——大面积单色墙面、光滑无纹理的桌面、以及剧烈变化的室外光线。2023年我们做的一个测绘辅助工具,需要在建筑工地识别一面灰扑扑的混凝土墙,结果ARCore持续碰撞,平面检测框每秒钟跳三次,完全没法用。最后我们拿LiDAR机型实扫墙面的网格做预扫描锚点,总算在验收前把误差控制在3厘米以内,但那个工作量已经超出了AR的范畴,等于做了一遍三维重建。
关于光场显示,目前行业吹的「数字光场」并不是为了让你看着更爽,而是为了解决视差辐辏冲突——普通3D渲染给左右眼两个视差图时,大脑收到的调焦信息和双目视差信息是矛盾的,超过二十分钟就会眼睛酸痛。苹果Vision Pro就是走这条路,通过动态变焦和真实光场缓解晕眩,但没有在Pro机型上做这个功能的普通手机AR应用,长时间使用后眼睛劳累感是切切实实的。知道这个真相之后,我们在所有VR试戴类方案里加了一个硬提示:单次使用不超过三分钟。这是技术文档里不会写的东西,但确实是用户最需要的东西。
另外,讨论AR稳定性的时候,很少人会提到SLAM的一个缺陷就是方向漂移。室内没有GPS信号,如果长时间依靠视觉里程计,每走十米大概会累积5到15厘米的偏移,时间越长零漂越严重。像微软HoloLens发布早期,在空旷大房间里的全息影像根本钉不住,甚至能做圆周漂移,就是因为没有特征点约束。解决方式要么定期重置坐标系,要么部署二维码landmark,但这些操作在项目演示时一旦忘了做,产品当场翻车。
未来的AR不该困在眼镜里,也不该只活在手机屏幕上
做这行久了,我自己反而越来越怀疑「AR眼镜是最终形态」这句话。Meta和苹果都在做眼镜,但每次看到演示视频里戴着笨重头显走来走去,我总会想起柯达当年以为数码相机只是胶卷的补充,最终却死在消费者的新选择上。如果AR的核心价值是信息与环境的叠加,那么智能手机这个载体仍然是获取成本最低、社交接受度最高、维修成本最合理的形式。等到眼镜重量降到50克以下、续航超过十小时,再谈替代手机也不迟,现在这个阶段强行主推眼镜,大概率会沦为极客的玩具。
另一个被忽视的方向是「多人AR协同的共识机制」。同一个物理空间里,两个人同时用手机看AR内容,如果每个设备各自追一套坐标系,视觉锚点的位置会随着两台设备各自的漂移出现偏差。2022年底我们做了一个门店多人AR游戏,iPhone 12和iPhone 14 Pro在同一圆桌上玩叠叠乐,最终出现两人看到的积木位置相差近十厘米的bug。解决方案是用一个服务器端的相对位姿校准,定时把Master设备的转换矩阵同步给Slave端进行坐标系映射,才算勉强稳住。这类问题在传统三维开发和Web开发里都没有对标物,它需要开发者把网络同步和空间计算放在一起考虑,难的不是一个是空间,难的是空间在网络里的分身。
如果只看视觉震撼,AR早就能满足大众了,但真正的护城河正在于那些看不见的感知稳定和人体舒适度。在接下来的两三年里,我最看好的倒不是某一款AR应用,而是SLAM算法与LLM结合后带来的场景理解能力——能够读懂房间功能,规则化理解「沙发上面不要放虚拟物体」这类语义。2023年这个时候,我们第一次把语义理解做进了AR家具摆放系统里,让它自动避开茶几和灯。那种体验进步并不是什么惊天巨变,只是往前迈了一步。好在这一步,终于不再是站在演示视频里的幻想,而是拿到真实用户面前经得起出汗和阳光考验的东西。
写到最后,想对所有正打算立项AR项目的同行说一句——去问你的用户三个问题:你手机内存还够吗?你愿意打开摄像头吗?你能接受戴眼镜出门吗?三个问题的答案,决定了你在哪个层级死磕技术。