forked from Rowland/EG
4.5 KiB
4.5 KiB
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
- 安装Steam客户端
- 在Steam中搜索并安装"SteamVR"
- 连接您的VR头显设备
- 按照SteamVR设置向导完成房间设置
3. 验证VR设置
运行VR测试脚本来验证安装:
python vr_test.py
使用方法
启动VR模式
-
启动SteamVR
- 在Steam中启动SteamVR
- 确保VR头显已连接并处于就绪状态
-
启动应用程序
python main.py -
进入VR模式
- 在菜单栏中选择
VR→进入VR模式 - 系统会自动检测VR设备并初始化VR渲染
- 在菜单栏中选择
-
戴上VR头显
- 现在您可以在VR环境中查看和操作3D场景
VR菜单选项
- 进入VR模式: 启用VR渲染,将画面输出到VR头显
- 退出VR模式: 退出VR模式,回到桌面显示
- VR状态: 查看VR系统状态和设备信息
- VR设置: 配置VR渲染参数和性能选项
VR交互
目前支持的VR交互功能:
- 头部追踪: 自动追踪头显位置和朝向
- 房间规模移动: 在设定的VR空间内移动
- 立体显示: 为左右眼提供不同视角的立体图像
配置选项
VR设置对话框
在 VR → VR设置 中可以配置:
- 渲染质量: 调整VR渲染的画质等级
- 抗锯齿: 设置抗锯齿级别
- 刷新率: 配置VR头显刷新率
- 异步重投影: 启用/禁用ATW技术
性能优化建议
- 降低渲染分辨率: 如果性能不足,可以降低VR渲染质量
- 减少抗锯齿: 关闭或降低抗锯齿级别
- 优化场景复杂度: 减少场景中的多边形数量
- 关闭不必要的特效: 暂时关闭高级渲染特效
故障排除
常见问题
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功能,可以:
- 在
VRManager中添加新方法 - 在
MainWindow中添加对应的UI控件 - 更新VR设置对话框
- 添加相应的测试代码
技术支持
如果遇到问题,请:
- 运行
python vr_test.py获取诊断信息 - 检查控制台日志
- 确认SteamVR和硬件设置正确
- 提交问题时请包含详细的错误信息和系统配置
版本信息
- VR功能版本: 1.0.0
- 支持的OpenVR版本: 2.2.0+
- 兼容的SteamVR版本: 最新版本
注意: VR功能目前处于初始版本,可能还有一些限制和待完善的功能。我们会持续改进和优化VR体验。