在使用对应的 识别模式 与 ARTracker后, xr-camera 会完全由 VisionKit 的 VKCamera 完全接管相机的控制权(使用 VKCamera 的 ViewMatrix 与 ProjectionMatrix)。
此时,xr-frame 的坐标系,将会由 VisionKit 对应模式的坐标系决定。
以下,结合案例(红色轴为 x 轴、绿色轴为 y 轴、蓝色轴为 z 轴,都朝向正方向,轴长为 2 )
简要阐述不同模式的坐标系规则:
Plane 模式
平面模式下,初始化场景后,相机所在的坐标,就是世界坐标的 (0, 0, 0),坐标轴会基于初始化的手机朝向,决定坐标轴的方向(正上方为+Y,正右方为+X,正后方为+Z)。
手机的移动和旋转,相机都会有对应的响应。
周围的具体坐标信息变化,是存在多种情况。
在支持 Plane V2 模式下,会使用 Plane V2 模式:
该模式下,类似现实世界的空间坐标,坐标系的单位距离和现实中的物理距离有关,单位1相当于现实中的1米。
该模式下,tracker同步的识别平面坐标,会完全基于三维空间坐标进行定义。

在不支持 Plane V2 模式下,会使用 Plane V1 模式,
该模式下,类似一个可以无限延展的平面空间,可以移动,但坐标系的单位距离和现实中的物理距离无关。
具体 VisionKit 细节可以参考 VisionKit Plane 文档。
ThreeDof 模式
初始化场景后,相机所在的坐标下方,就是世界坐标的 (0, 0, 0)。
该模式下,类似一个可以无限延展的平面空间,不可以移动,且坐标系的单位距离和现实中的物理距离无关。
手机移动过程中,相机在坐标系中的坐标不会发生改变,但会有旋转的响应。

Marker 模式
该模式下,识别点中心就是 世界坐标的 (0, 0, 0),坐标轴会基于识别物,决定坐标轴的方向(识别图片往外为+Y,识别图片右方为+X,识别图片下方为+Z),单位1相当于识别物体的大小。

OSD 模式
该模式下,识别结果为二维。
识别点中心就是 世界坐标的 (0, 0, 0),坐标轴会基于识别物,决定坐标轴的方向(识别图片往内为+Z,识别图片上方为+Y,识别图片向右为+X),单位1相当于识别物体的大小。

Hand Face Body 模式
该模式下,识别点的关键点就是 世界坐标的 (0, 0, 0),坐标轴 也是用于特征点定位,单位1是基于识别物体的比例。

