littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于OpenVR的HOTAS VR操控解决方案

项目简介

本项目是一款OpenVR驱动,用于解决玩家在VR飞行模拟中频繁切换双手操作的问题。它能将普通VR控制器固定在手部或小臂,让虚拟手保持正确位置和方向,通过捕获鼠标点击模拟VR控制器的握持和触发输入,实现双手在实体飞行操控设备与虚拟座舱交互间的流畅切换。

项目的主要特性和功能

  1. 支持特定飞行模拟游戏,如DCS World 2.7。
  2. 兼容多种与左右手关联、具备握持和触发输入功能的OpenVR可追踪设备,已在HP Reverb G2上测试。
  3. 可通过配置文件调整VR控制器的位置和方向偏移。
  4. 利用“手指鼠标”设备模拟VR控制器的操作,避免频繁手持切换。

安装使用步骤

安装

  1. 下载最新的hotas - vr - controller发布包。
  2. 解压发布包,将其中的hotas文件夹复制到SteamVR的drivers文件夹中,默认路径为: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers
  3. 安装Interception驱动。在发布包的bin文件夹中有驱动的命令行安装程序install - interception.exe。需以管理员权限运行Windows命令提示符(cmd.exe),执行安装程序并添加/install选项,例如: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\hotas\bin\install - interception.exe /install
  4. 运行SteamVR,准备进行配置。

配置

  1. 通过位于hotas\bin\win64文件夹中的driver_hotas.ini文件进行配置,例如: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\hotas\bin\win64\driver_hotas.ini
  2. 将VR控制器固定在手部或小臂外侧,选择不影响抓取操纵杆和油门的位置。
  3. 修改偏移(x, y, z)和旋转(rx, ry, rz)值,直至虚拟手的位置与实际手的位置匹配,该值在SteamVR运行时每10秒更新一次。
  4. 佩戴“手指鼠标”设备。在SteamVR运行时,用每个鼠标设备进行左右点击操作,硬件ID会写入hotas\bin\win64文件夹中的driver_hotas.log文件,例如: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\hotas\bin\win64\driver_hotas.log
  5. 使用文本编辑器打开该文件,找到类似[hh:mm:ss] DeviceId: 14 HardwareId: HID\VID_046D&PID_C01E&REV_2200的条目。
  6. driver_hotas.ini文件中编辑左右设备的硬件ID,注意不要使用普通鼠标的硬件ID。若所有鼠标点击被拦截导致鼠标无法使用,可使用ALT + TAB激活SteamVR,再用ALT + F4关闭它。
  7. 若两个设备硬件ID相同,更改设备索引。索引决定SteamVR启动后哪个设备先被检测到,可先操作右手设备再操作左手设备。
  8. 更改硬件ID和设备索引后,重启SteamVR使设置生效。

卸载

  1. 卸载Interception驱动。在发布包的bin文件夹中运行命令行安装程序install - interception.exe,需以管理员权限运行Windows命令提示符(cmd.exe),并添加/uninstall选项,例如: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\hotas\bin\install - interception.exe /uninstall
  2. 删除SteamVR的drivers文件夹中的hotas文件夹,默认路径为: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\hotas

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】