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 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的多驱动支持。