Camera¶
通常以下三种类型的相机是可以被识别使用的:
XROrigin下的相机
没有XROrigin时通过高级选项配置在FrameSource上的相机
没有XROrigin时的主相机
相机配置¶
Clear Flags: 需要设置为Solid Color以确保Camera图像可以正常渲染。如果设成 Skybox ,Camera图像将无法显示。使用XR头显或眼镜时建议保留设备SDK默认配置。Background: 这个非必需配置,考虑到使用体验,建议将背景颜色设为黑色以便在Camera设备打开前和切换时以黑色显示。使用XR头显或眼镜时建议保留设备SDK默认配置。Clipping Planes: 除通常渲染及性能需求之外,需要综合考虑识别及交互的物体或现实场景的物理大小和距离。比如设置Near为0.1(米)以避免相机离物体较近时无法显示,设置Far为1000(米)以避免远处物体无法显示。
备注
如果你在使用 Unity AR Foundation 或其他XROrigin下的Camera,Unity通常会预设其剪裁平面为 (0.1, 20) ,这可能会导致离 Camera (真实世界中的设备)超过20米的物体会无法显示出来。请在使用前根据具体需求来修改。
URP¶
使用URP时,相机图像是通过 EasyARCameraImageRendererFeature 进行渲染的,你需要参照 Universal Render Pipeline (URP) 配置 添加 EasyARCameraImageRendererFeature。
如未正确添加,你会在启动时或运行过程中看到UI错误或错误日志,
使用 AR Foundation 时,AR Foundation提供了类似的 RendererFeature ,你需要参考 AR Foundation 介绍 中的 Project Setup > Universal Render Pipeline 来添加 ARBackgroundRendererFeature ,这里不详细描述。
注意
由于Unity没有提供操作这些功能的公有程序接口,所以你只能在编辑器中手动添加,否则运行时会报错或不显示相机画面。