1
0
forked from Rowland/EG
EG/VR_GUIDE.md
2025-09-15 14:38:18 +08:00

4.5 KiB
Raw Blame History

VR模式使用指南

概述

本项目现已支持VR模式通过SteamVR将Panda3D引擎的画面传输到VR头显设备。您可以在虚拟现实环境中体验和编辑3D场景。

系统要求

硬件要求

  • 支持SteamVR的VR头显设备如HTC Vive、Oculus Rift、Valve Index等
  • VR头显控制器可选用于交互
  • 满足VR运行要求的计算机配置

软件要求

  • Windows 10/11 或 Linux支持OpenVR
  • SteamVR运行时
  • Python 3.7+
  • 项目依赖库(见安装步骤)

安装与设置

1. 安装VR依赖

# 安装OpenVR Python库
pip install openvr==2.2.0

# 或者安装所有项目依赖
pip install -r requirements/requirements.txt

2. 安装SteamVR

  1. 安装Steam客户端
  2. 在Steam中搜索并安装"SteamVR"
  3. 连接您的VR头显设备
  4. 按照SteamVR设置向导完成房间设置

3. 验证VR设置

运行VR测试脚本来验证安装

python vr_test.py

使用方法

启动VR模式

  1. 启动SteamVR

    • 在Steam中启动SteamVR
    • 确保VR头显已连接并处于就绪状态
  2. 启动应用程序

    python main.py
    
  3. 进入VR模式

    • 在菜单栏中选择 VR进入VR模式
    • 系统会自动检测VR设备并初始化VR渲染
  4. 戴上VR头显

    • 现在您可以在VR环境中查看和操作3D场景

VR菜单选项

  • 进入VR模式: 启用VR渲染将画面输出到VR头显
  • 退出VR模式: 退出VR模式回到桌面显示
  • VR状态: 查看VR系统状态和设备信息
  • VR设置: 配置VR渲染参数和性能选项

VR交互

目前支持的VR交互功能

  • 头部追踪: 自动追踪头显位置和朝向
  • 房间规模移动: 在设定的VR空间内移动
  • 立体显示: 为左右眼提供不同视角的立体图像

配置选项

VR设置对话框

VRVR设置 中可以配置:

  • 渲染质量: 调整VR渲染的画质等级
  • 抗锯齿: 设置抗锯齿级别
  • 刷新率: 配置VR头显刷新率
  • 异步重投影: 启用/禁用ATW技术

性能优化建议

  1. 降低渲染分辨率: 如果性能不足可以降低VR渲染质量
  2. 减少抗锯齿: 关闭或降低抗锯齿级别
  3. 优化场景复杂度: 减少场景中的多边形数量
  4. 关闭不必要的特效: 暂时关闭高级渲染特效

故障排除

常见问题

Q: 无法进入VR模式提示"VR系统不可用" A: 请检查:

  • SteamVR是否正在运行
  • VR头显是否正确连接
  • OpenVR库是否已安装 (pip install openvr)

Q: VR画面卡顿或延迟 A: 尝试:

  • 降低VR渲染质量
  • 关闭其他占用GPU的程序
  • 检查VR头显连接线是否松动

Q: VR菜单显示为灰色不可用 A: 检查:

  • VR管理器是否正确初始化
  • 查看控制台错误信息
  • 运行 python vr_test.py 进行诊断

Q: 只能看到一只眼的画面 A: 这可能是:

  • VR渲染缓冲区创建失败
  • OpenVR投影矩阵设置错误
  • 检查图形驱动程序是否最新

诊断工具

使用内置的VR测试工具进行问题诊断

python vr_test.py

该工具会检测:

  • 基础环境和依赖
  • VR管理器状态
  • VR设备可用性
  • VR初始化过程
  • UI菜单集成

日志信息

VR相关的日志信息会输出到控制台包括

  • VR系统初始化状态
  • 渲染缓冲区创建信息
  • 追踪数据更新
  • 错误和警告信息

开发者信息

VR架构

main.py (MyWorld)
├── core/vr_manager.py (VRManager)
│   ├── OpenVR集成
│   ├── 渲染缓冲区管理
│   ├── 相机控制
│   └── 追踪数据处理
└── ui/main_window.py
    ├── VR菜单
    ├── VR设置对话框
    └── VR事件处理

核心类

  • VRManager: VR功能的核心管理类
  • MainWindow: UI集成和事件处理
  • MyWorld: VR管理器的宿主类

扩展开发

如需添加新的VR功能可以

  1. VRManager 中添加新方法
  2. MainWindow 中添加对应的UI控件
  3. 更新VR设置对话框
  4. 添加相应的测试代码

技术支持

如果遇到问题,请:

  1. 运行 python vr_test.py 获取诊断信息
  2. 检查控制台日志
  3. 确认SteamVR和硬件设置正确
  4. 提交问题时请包含详细的错误信息和系统配置

版本信息

  • VR功能版本: 1.0.0
  • 支持的OpenVR版本: 2.2.0+
  • 兼容的SteamVR版本: 最新版本

注意: VR功能目前处于初始版本可能还有一些限制和待完善的功能。我们会持续改进和优化VR体验。