ARKit文档瞎翻译(3)
理解AR
探索概念、特性和最棒的实践来创建伟大的AR体验。
概述
对于AR来说,最基本的需求,即ARKit定义的特征,就是在用户生活的真实世界和放置虚拟物体的虚拟空间之间创建并保持一致的能力。当你的app把实时相机图像和虚拟物体结合在一起展示出来的时候,用户就会体验到了增强现实的魅力:幻想你的虚拟内容是真实世界的一部分。
世界追踪是如何工作的
为了在真实和虚拟空间中创建一个高度一致的世界,ARKit使用了一项叫做visual-inertial odometry的技术。这项技术可以将iOS的设备感应器和相机拍摄的场景进行的电脑视觉识别结合到一起。ARKit识别出场景图像中的显著特征,通过视频帧的这些特征追踪出位置上的不同点,并把这些信息同运动感应数据进行比较。最终就生成了一个带有设备位置和运动信息的高精度模型。
最好的实践和限制
世界追踪是一项不太准确的技术。这项技术经常可以制作出令人惊叹的精准度,进而产生出AR体验。可是,它(即AR体验)的产生依赖设备物理环境的细致程度(物理环境并不总是很稳定或者一些很难估测到的不确定错误)。为了能够建立高质量的AR体验,注意以下警告和建议。
利用可预测的光照条件来设计AR。世界追踪需要图像识别,即需要清晰地图像。当相机不能看清细节,比如当相机对着一扇白墙或场景较暗时,追踪的质量会降低。
使用有效的追踪信息来提供给用户反馈。世界追踪把图像识别和设备运动结合到了一起。ARKit开发出了对场景更好的理解能力,如当设备正在移动,甚至是很微小的偏移。过重的运动(如过远、过快或者剧烈的摇动)会导致在视频帧间产生模糊的图像或过大的追踪距离,从而降低了追踪质量。ARCamera类提供了追踪状态原因信息,使用它你可以开发出告知用户如何处理低质量追踪环境的UI界面。
为产生清晰的结果允许花费一些时间来进行物体检测,并且当你得到需要的结果后关闭检测。物体检测的结果会多次改变–当物体第一次被探测到时,它的位置和大小可能是不准确的。只要该物体还持续地呆在场景之中,ARKit就会抽象出估测的位置和大小。一旦在场景中有一个大的水平面存在时,在你已经使用该物体并放置内容后,ARKit就会持续改变该物体的锚点位置、大小和变化。