MotionTracking_ImageTarget

演示如何同时使用运动跟踪和图像跟踪

用法

../../_images/image_39.png
标记1:显示系统状态和操作提示。
标记2:切换世界中心模式。

场景中有一个可以操控的Cube,单指沿屏幕平面移动,双指捏合可以放大缩小Cube,双指同时水平移动可以水平旋转Cube,双指同时上下移动可以使Cube拉远拉近。

详解

同时使用运动跟踪和图像跟踪

为了同时使用运动跟踪和图像跟踪,只需要将它们放在同一个ARSession下面,并在session中使用 VIOCameraDevice 而不是 VideoCameraDevice

../../_images/image_s10_1.png

世界中心下的物体

WorldRoot 可以用来实现这些功能,

  • 在跟踪状态变化时控制物体显示和隐藏。

  • 根据 ARSession.CenterMode 相对camera一起移动。

如果上面这些都有其它地方处理,那可以忽略 WorldRoot

在这个sample中, WorldRootController.ActiveControl 设成 ActiveControlStrategy.HideWhenNotTracking ,这样cube会在跟踪失败时隐藏。

../../_images/image_s10_2.png

中心模式

在空间感知功能中,有两个 ARSession.CenterMode 的模式是有效的。

ARSession.ARCenterMode.WorldRoot 模式中,camera会在设备运动时自动移动,而WorldRoot不会动。在 ARSession.ARCenterMode.Camera 模式中,设备运动时camera不会自动移动。大多数情况下建议使用 ARSession.ARCenterMode.WorldRoot

但当一个 target 被跟踪到的时候, ARSession.ARCenterMode.FirstTargetARSession.ARCenterMode.SpecificTarget 也可以使用,这种情况下camera和WorldRoot将都会移动。