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

如何在Unity中强制Oculus Quest 2的边界类型为Stationary

如何在Unity中通过OVR框架强制Oculus Quest 2设置Stationary边界类型

可行方案:使用OVR原生API替代废弃的XRDevice接口

废弃的XRDevice.SetTrackingSpaceType无法适配最新的OVR框架,你需要使用Oculus官方提供的OVRManager和OVRBoundary API来强制设置Stationary边界类型,步骤如下:

  1. 确认OVR框架集成状态
    确保项目已导入最新版Oculus Integration包,且场景中OVRCameraRig对象已挂载OVRManager组件。

  2. 通过代码强制设置追踪模式
    监听OVR初始化完成事件,在Oculus平台服务就绪后执行设置,避免初始化顺序问题导致失效:

    using UnityEngine;
    
    public class ForceStationaryTracking : MonoBehaviour
    {
        void Awake()
        {
            OVRManager.Initialized += OnOVRInitialized;
        }
    
        void OnOVRInitialized(bool success)
        {
            if (success)
            {
                // 设置追踪原点为Stationary模式
                OVRManager.trackingOriginType = OVRTrackingOrigin.Stationary;
                // 刷新边界配置,确保设置立即生效
                OVRBoundary.RefreshBoundary();
            }
        }
    
        void OnDestroy()
        {
            OVRManager.Initialized -= OnOVRInitialized;
        }
    }
    

    将此脚本挂载到OVRCameraRig或场景中任意持久化GameObject上即可。

  3. 项目设置兜底验证
    在Unity Edit > Project Settings > Oculus面板中,将Tracking Origin默认值设为Stationary,作为代码设置的 fallback,进一步确保生效。

注意事项

  • 该设置仅在Quest 2真机或Oculus Link连接环境下生效,Unity编辑器预览可能无法体现实际效果。
  • 若仍存在问题,检查Oculus Integration包是否为最新版本,旧版本可能存在API兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:01:26