You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity+Vuforia AR应用iOS真机运行报错:VideoBackgroundConfig屏幕尺寸为0

解决Unity+Vuforia iOS真机启动报错:"VideoBackgroundConfig with screen size of zero received"

我之前也碰到过类似的问题,尤其是适配iPhone X这类异形屏设备时,Vuforia经常会因为屏幕尺寸获取异常抛出这个错误。给你几个实际试过有效的解决方案:

  • 检查Vuforia相机的Video Background配置
    打开Unity场景里的ARCamera对象,找到Video Background组件,确保Enabled处于勾选状态,同时把Video Background Mode设置为Fit to Screen。另外要确认ARCamera是场景的主相机,没有其他相机干扰Vuforia的相机初始化流程。

  • 修正iOS项目的屏幕适配设置
    进入Unity的Player Settings -> iOS -> Resolution and Presentation面板,把Rendering Path设为Forward,在Aspect Ratio里添加iPhone X的分辨率(2436x1125),或者直接勾选Use Native Resolution。另外建议把Status Bar设置为Hidden,避免刘海屏影响屏幕尺寸的计算逻辑。

  • 更新Vuforia SDK到兼容版本
    你使用的iOS 11.3和iPhone X,旧版Vuforia对这类设备的适配存在bug。建议升级到Vuforia 7.2及以上版本(这个版本开始正式支持iPhone X),升级后重新导入SDK并重新配置ARCamera的相关参数。

  • 确认相机权限和Player Settings配置
    在Unity的Player Settings -> iOS -> Other Settings里,一定要添加Camera Usage Description(比如填写“需要访问相机进行AR识别”),确保App能正常获取相机权限。另外检查Target SDK Version是否设置为iOS 11.3或更高版本,避免系统版本不兼容。

  • 通过代码强制初始化Video Background
    如果以上方法都没效果,可以试试在启动时手动设置视频背景尺寸。创建一个脚本挂载到ARCamera上,在Start()方法里添加以下代码:

    using UnityEngine;
    using Vuforia;
    
    public class FixVideoBackground : MonoBehaviour
    {
        void Start()
        {
            var vuforiaController = VuforiaARController.Instance;
            vuforiaController.RegisterVuforiaStartedCallback(OnVuforiaInitialized);
        }
    
        void OnVuforiaInitialized()
        {
            var videoBackgroundManager = DigitalEyewearARController.Instance.VideoBackgroundManager;
            if (videoBackgroundManager != null)
            {
                videoBackgroundManager.SetVideoBackgroundEnabled(true);
                // 强制设置为当前设备的真实屏幕分辨率
                Vector2 realScreenSize = new Vector2(Screen.width, Screen.height);
                videoBackgroundManager.SetVideoBackgroundConfig(new VideoBackgroundConfig()
                {
                    mScreenSize = realScreenSize,
                    mVideoMode = VideoBackgroundMode.FIT_TO_SCREEN
                });
            }
        }
    }
    

    这段代码会在Vuforia启动完成后,强制覆盖视频背景的尺寸配置,避免出现零尺寸的异常情况。

建议先从配置检查开始尝试,再逐步升级SDK或用代码修复,应该能解决你遇到的问题。

内容的提问来源于stack exchange,提问作者Kavita Kanwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:30:04