使用Vuforia Unity 10.28.4时iPhone13 Pro广角镜头近距离目标失焦问题
解决方案:在Vuforia Unity 10.28.4中固定使用iPhone 13 Pro的超广角镜头
方法一:通过Vuforia编辑器配置(无代码)
- 打开Unity编辑器的
Vuforia Configuration窗口(路径:Window > Vuforia Configuration) - 找到
Camera Settings板块,在Camera Device下拉菜单中选择Rear (Ultra Wide) - 保存配置后打包测试,该设置会强制应用启动时使用后置超广角镜头
方法二:代码强制设置(更可靠,适配多机型)
如果编辑器配置未生效,可通过代码在Vuforia初始化后锁定超广角镜头,同时兼容不支持该镜头的机型:
using Vuforia; using UnityEngine; public class CameraSetup : MonoBehaviour { void Start() { // 注册Vuforia初始化完成回调 VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaInitialized); } void OnVuforiaInitialized() { // 检查当前设备是否支持后置超广角镜头 if (CameraDevice.Instance.IsCameraSupported(CameraDevice.CameraDirection.BACK, CameraDevice.CameraType.ULTRA_WIDE)) { // 切换到超广角镜头 CameraDevice.Instance.SetCamera(CameraDevice.CameraDirection.BACK, CameraDevice.CameraType.ULTRA_WIDE); // 锁定相机类型,禁止自动切换 CameraDevice.Instance.LockCamera(); } // 可选:设置持续自动对焦,优化近距离识别体验 CameraDevice.Instance.SetFocusMode(FocusMode.FOCUS_MODE_CONTINUOUSAUTO); } }
将该脚本挂载到场景中的ARCamera对象上即可。
额外注意事项
- 确保iPhone 13 Pro的iOS版本不低于Vuforia 10.28.4要求的最低版本(推荐iOS 14及以上)
- 在
Info.plist中添加相机权限描述(NSCameraUsageDescription),避免应用因权限问题无法访问镜头 - 若仍存在近距离失焦,可在Vuforia Configuration的
Camera Settings中确认Focus Mode已设置为Continuous Auto Focus
内容的提问来源于stack exchange,提问作者Richard Weeks
相关产品推荐
相关产品推荐

