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

Unity中使用Vuforia开发AR时,如何切换至设备前置摄像头?

在Unity中使用Vuforia切换到前置摄像头(新版适配方案)

方法一:编辑器可视化设置

  • 选中场景中的AR Camera对象,在Inspector面板找到Vuforia Behaviour组件
  • 展开Camera Device折叠项,找到Camera Direction下拉菜单,直接选择Front
  • 若选项为灰色,先检查:
    • Vuforia配置已正确导入并初始化(Project窗口存在VuforiaConfiguration资源)
    • 设备摄像头权限已开启:
      • Android:在Player Settings > Publishing Settings中勾选Camera权限
      • iOS:在Player Settings > Other Settings的Info.plist添加Privacy - Camera Usage Description并填写使用说明

方法二:代码动态切换(支持运行时切换)

创建一个C#脚本,挂载到AR Camera对象上:

using UnityEngine;
using Vuforia;

public class FrontCameraSwitcher : MonoBehaviour
{
    void Start()
    {
        var cameraDevice = CameraDevice.Instance;
        // 尝试切换到前置摄像头
        bool switchSuccess = cameraDevice.SetCameraDirection(CameraDevice.CameraDirection.FRONT);
        
        if (switchSuccess)
        {
            Debug.Log("前置摄像头切换成功");
            // 可选:开启前置摄像头镜像(符合自拍视觉习惯)
            cameraDevice.SetMirrorFrontCamera(true);
        }
        else
        {
            Debug.LogError("切换失败:设备无前置摄像头或权限未获取");
        }
    }

    // 可选:添加按钮触发前后摄像头切换的方法
    public void ToggleCamera()
    {
        var cameraDevice = CameraDevice.Instance;
        CameraDevice.CameraDirection currentDir = cameraDevice.GetCameraDirection();
        CameraDevice.CameraDirection targetDir = currentDir == CameraDevice.CameraDirection.FRONT 
            ? CameraDevice.CameraDirection.BACK 
            : CameraDevice.CameraDirection.FRONT;
        
        cameraDevice.SetCameraDirection(targetDir);
        cameraDevice.SetMirrorFrontCamera(targetDir == CameraDevice.CameraDirection.FRONT);
    }
}

常见问题处理

  • 切换后画面镜像:在Vuforia Behaviour的Camera Device中勾选Mirror Front Camera,或通过代码cameraDevice.SetMirrorFrontCamera(true)开启
  • 切换失败:确认设备有前置摄像头,且已授予摄像头权限,同时Vuforia版本为最新稳定版

内容的提问来源于stack exchange,提问作者David S J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:18:14