HTC 发布的 Vive 配件 Vive Tracker 可以用来扩展与 SteamVR 连接的设备。而且还具有 Pogo 引脚,可以自己 DIY 出特殊功能的配件,最近看到了一些使用 Vive Tracker 来实现的非常棒的创意。相关的资料和技术细节在本篇文章里整理辑录。
HTC Vive Tacker
一些使用 Vive Tracker 来实现的非常棒的创意:
使用 Vive Tracker 来为移动手机加入位置追踪,使手机可以加入 VR 游戏以及为 Daydream 增加位置追踪:
- MOBILE ROOM SCALE
- Vive Tracker Powers Google Daydream Wireless Room Scale Hack
- Mobile Room Scale Experiences with Vive Tracker
注:它的实现实际上是 PC 创建房间并作为 Server,让移动设备通过网络加入游戏并具有 Camera,然后在 Server 上将追踪到的
Tracker
位置信息同步到移动设备上并修改 Camera 的位置,移动设备上的画面就是 Camera 修改后的,使其看起来像手机具有位置追踪,很鸡贼的一个做法(我预计使用 Tracker 为 DayDream 增加位置追踪也是相同的做法)。
使用 Vive Tracker 的引脚扩展,做出特殊功能的硬件设备(喷雾罐):
HTC 也开源了一个使用三个 Tracker 进行全身 IK 的实现:vive_ik_demo
VIVE Tracker 官方推荐的案例教程:New Project Code and Tutorials Released for VIVE Tracker
HTC Vive Tracker 的指南 v1.6:
相关资讯:Vive Tracker Now Available for Developer Purchase
Set Vive Controller/Tracker Type
Vive Tracker 可以用来追踪位置,但是它并不仅仅只能用来追踪位置那么简单。正常情况下 Tracker 识别后的默认类型是tracker
,但是再某些情况下希望用 tracker 来代替手柄实现操作,如:
- 将 Tracker 当作 MR 的第三个摄像机,替代需要的第三只手柄
- 用 Tracker 或者 Tracker 做的外设来替代手柄玩游戏
实现上面两个目标需要将 Tacker 的类型修改为 controller
,让基站认为 Tracker 是 Controller。HTC 曾经提供过一个工具用来修改 Tracker 的类型:Vive Tracker Role Changer(这个版本是 v0.8 的,最新的是 v1.0,但是由于 一些原因 HTC 停止了这个软件的下载)。
不使用这个工具,也可以实现相同的功能 (我这里演示的是将 Controller 修改为 Tracker 做示例),方法如下。
首先,拔掉电脑上的其他任何 VR 设备,然后使用 USB 线将 Controller/Tracker 连接到计算机。
打开 Steam 的安装路径(SteamVR):
1 | Steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64 |
找到lighthouse_console.exe
,在控制台中运行:
1 | C:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64>lighthouse_console.exe |
会检测到当前插入的设备 LHR-AE438993
并进入 lh
的控制台。
在 lh
控制台里输入命令:
1 | lh> downloadconfig |
会在当前目录下产生一个 LHR-*.json
文件,其中内容如下:
一代手柄:
1 | { |
二代手柄:
1 | { |
可以看到 device_class
标识着当前设备的类型。
可以将其值改为controller
/generic_tracker
(我这里是将 controller 变成 tracker,反过来也同理):
1 | "device_class": "generic_tracker", |
保存并关闭文件,回到 lh
控制台的命令行窗口,输入以下命令:
1 | lh>uploadconfig |
完成之后输入 exit
退出 lh
(不要直接关闭窗口),重启 SteamVR, 然后它的设备类型就变成的Tracker
.
相关链接:
- Vive Tracker Role Changer (current ue_version: 1.0)
- Need Vive tracker role changer 1.0, could someone reupload?
SteamVR 多驱动支持
需要修改 Steam
目录下的 config/steamvr.vrsetting
文件,在这个 json 格式的文件中的 steamvr
项下增加activateMultipleDrivers
:
1 | { |
保存之后重启 SteamVR
即可。
在拍摄 MR 视频时使用第三只 Controller 来作为虚拟摄像机,但是如果没有第三只 Controller 可以用一个工具来虚拟出一个 Controller:VirtualControllerDriver,需要启动 SteamVR 的多驱动支持。