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

Unity 2022.3切换Both Eyes模式后Game视图仍显示单眼求助

Unity 2022.3 + SteamVR:恢复Game视图的Both Eyes立体显示模式

问题背景

在Unity 2022.3结合HTC Vive Pro Eye与SteamVR开发时,遇到以下异常:

  • 编辑器运行后,Game视图切换至Both Eyes模式仍显示单眼画面,但HMD内的立体显示完全正常
  • 尝试通过脚本设置XRSettings.gameViewRenderMode = GameViewRenderMode.BothEyes;无效果
  • Project Settings→XR Plug-in Management→OpenVR的Mirror View Mode仅提供Left/Right/None/Open VR选项,无Both Eyes选项;其中Open VR模式会呈现双眼混合画面且干扰SteamVR预览
  • 项目由Unity 2019.4升级重构而来,旧版本未使用XR Plug-in Management包,Game视图可正常显示Both Eyes模式

解决方案

方案1:切换回Legacy XR(兼容旧项目逻辑)

旧版本依赖Legacy XR架构,升级后新XR插件管理的镜像逻辑发生变化,切换回Legacy可快速恢复原有行为:

  1. 打开Project Settings → XR Plug-in Management,取消勾选OpenVR插件
  2. 进入Player Settings → Other Settings → XR Settings,勾选Virtual Reality Supported
  3. 在Virtual Reality SDKs列表中添加OpenVR
  4. 运行项目后,Game视图的Both Eyes模式即可正常工作

方案2:保留新XR Pipeline,自定义双眼镜像渲染

若需使用新XR插件管理体系,可通过自定义相机渲染实现Game视图的双眼显示:

  1. 创建两个Render Texture,分辨率设置为HMD单眼分辨率(例如Vive Pro Eye的1440×1600)
  2. 复制主相机得到两个子相机:
    • 第一个子相机:Target Eye设为Left,Target Texture绑定到第一个Render Texture
    • 第二个子相机:Target Eye设为Right,Target Texture绑定到第二个Render Texture
    • 主相机:Target Eye设为None,避免重复渲染
  3. 在场景中创建两个RawImage或Plane,分别绑定左右眼的Render Texture,调整布局为左右并排
  4. 运行项目后,Game视图即可显示独立的左右眼画面

方案3:尝试新XR Pipeline的API设置

新XR架构下原XRSettingsAPI可能失效,可尝试使用XRDisplaySubsystem设置:

using UnityEngine;
using UnityEngine.XR;

public class SetGameViewBothEyes : MonoBehaviour
{
    void Start()
    {
        var displaySubsystem = XRDisplaySubsystem.GetSubsystem<XRDisplaySubsystem>();
        if (displaySubsystem != null)
        {
            displaySubsystem.SetGameViewRenderMode(GameViewRenderMode.BothEyes);
        }
    }
}

将脚本挂载到场景任意GameObject上,运行后检查Game视图是否恢复双眼显示

额外检查:SteamVR客户端设置

打开SteamVR客户端,进入设置→视频,检查镜像到桌面相关选项,确保未限制为单眼镜像


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:35:30