Eyewear_ImageTracking

演示AR眼镜支持以及如何在AR眼镜上使用图像跟踪功能。

你可以参考这个Sample,自己适配AR眼镜。此Sample采用AR眼镜显示方式,用了双屏渲染,并关闭了Camera背景渲染。目前该Sample只适配影创Action One及EPSON BT-350,如果想要适配别的眼镜需要标定眼镜参数。

运行前配置

需要在AndroidManifest中添加 invision.display_mode ,这也可以通过打开 invision.display_mode-vr.aar 对Android平台的支持来实现。

../../_images/image_s16_8.png

如果需要在Android设备上运行其它sample,需要确保回撤这个改动。

用法

../../_images/image_19.png

详解

这个sample一般可以在没有VIO功能的眼镜中使用。如果你在使用有VIO跟踪功能的眼镜,可以使用 EasyAR_Eyewear_ExternalControl prefab来创建场景。它没有渲染的camera,因为一般这类眼镜本身的SDK都会提供。

当时有像BT-350这样的眼镜的时候,需要设置 ARSession.AssembleModeAssembleMode.Manual,并手动配置assembly。

../../_images/image_s16_1.png ../../_images/image_s16_2.png

场景中的CameraRoot包含两个camera。设置 ARAssembly.CameraRootARAssembly.FrameSource

../../_images/image_s16_3.png ../../_images/image_s16_4.png

ARAssembly.RenderCameras 需要设成CameraRoot节点下的两个camera。

../../_images/image_s16_6.png ../../_images/image_s16_7.png

Camera viewport需要调整为分别渲染屏幕的左半边和右半边。

../../_images/image_s16_5.png

这个sample使用图像跟踪,因此需要使用tracker配置 ARAssembly.FrameFilters

将预先标定好的参数加载进RenderCameraController。

parameterList[eyewearBT350].Add(Resources.Load<RenderCameraParameters>("Parameters/Epson BT350/LeftEye"));
parameterList[eyewearBT350].Add(Resources.Load<RenderCameraParameters>("Parameters/Epson BT350/RightEye"));

if (deviceModel == parameterList[eyewearBT350][0].DeviceModel)
{
    cameraDevice.CameraSize = new Vector2(1280, 720);

    leftEyeRenderCameraController.ExternalParameters = parameterList[eyewearBT350][0];
    rightEyeRenderCameraController.ExternalParameters = parameterList[eyewearBT350][1];
}