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平台的支持来实现。
如果需要在Android设备上运行其它sample,需要确保回撤这个改动。
用法¶
详解¶
这个sample一般可以在没有VIO功能的眼镜中使用。如果你在使用有VIO跟踪功能的眼镜,可以使用 EasyAR_Eyewear_ExternalControl prefab来创建场景。它没有渲染的camera,因为一般这类眼镜本身的SDK都会提供。
当时有像BT-350这样的眼镜的时候,需要设置 ARSession.AssembleMode 为 AssembleMode.Manual,并手动配置assembly。
场景中的CameraRoot包含两个camera。设置 ARAssembly.CameraRoot 和 ARAssembly.FrameSource。
ARAssembly.RenderCameras 需要设成CameraRoot节点下的两个camera。
Camera viewport需要调整为分别渲染屏幕的左半边和右半边。
这个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];
}