【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)
更新 0.0.1(2024/11/26):
1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案
2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题
3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 && 基站在 steamVR 上看不见的问题
一、准备工作
1.简介
头显:PICO 4 PRO
需要手柄改 tracker 数量:4个(身上3个,头显上1个用于校准定位)
2.手柄选型
海鲜市场的手柄质量参差不齐,大家要多看看评价再购入。
今天是 2024.11.25,海鲜市场手柄平均价格大概在 100元/个。
3.准备材料
新鲜手柄 4 个;
接收器U盘 4 个;
延长数据线(长度2m+,接口 usb 公头转母头) 4 个;
VIVE 激光发射基站(1.0版本基站9或13灯版本,忘了是13还是11灯)2 个(至少2个);



二、开始折腾吧
1.使用 microUSB 线缆连接手柄至 PC
插好
2.提取手柄原始 json 文件
打开 steam 目录,按这个目录进行寻找:
xxx:\steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64
找到这个 lighthouse_console.exe 文件,然后管理员身份运行它。

确保你的手柄已经插在电脑上了,然后输入命令,进行手柄配置文件下载。
(注意,如果这个程序打开后,闪退了,那么说明你的电脑没有识别到手柄)
命令:
downloadconfig

警告:下载后,一定一定一定要 备份一份这个下载的 .json 手柄配置文件
警告:下载后,记得备份一份 .json 手柄配置文件
警告:下载后,记得备份一份 .json 手柄配置文件
警告:为什么让大家备份,因为每个手柄的配置文件都是独一无二的,
我们一会儿要下载这个手柄的配置文件然后更改它,再传一个新的到手柄中去,
那么一旦失败了,你又没有备份,没有原始的配置文件,你的手柄就可以扔垃圾桶了。
3.修改 json 文件,并上传手柄修改为 tracker 后的 json 文件
然后使用 IDE 或者记事本打开,搜索 “device” :

将 “device_class”: “controller”, 改为 “device_class”: “generic_tracker”,
看起来是这样的:

然后拉到文件最下面,修改这3行代码:

将它们修改为:
"model_name": "Vive Tracker MV",
"render_model": "vr_tracker_vive_1_0",
"tracked_controller_role": "",
保存退出,然后,回到我们刚才的控制台,输入命令:
把 xxxx 换成你自己的手柄配置文件名。
再次警告,你应该保留并备份原始的手柄配置文件,再进行上传这个修改之后的 json 文件。
uploadconfig LHR-xxxxxx.json

至此,手柄的配置文件已经修改好了。

4.steamVR 配置
手柄关机状态下,同时按下手柄上这两个按键,直至蓝灯闪烁


打开 steamVR,右键设备 -> 配对控制器
选择 tracker(HTC Vive 追踪器)

进入界面后等待一下,手柄的蓝灯闪烁变为 绿灯常亮。
同时,显示控制器已经连接成功
用这种方法,将 4 个手柄重复进行配置,同时,你的电脑上应该至少插着 4 条 USB 公头转母头延长线,
延长线的母头一端用来插接收器,接收器用来接收 tracker(手柄)发送至电脑的数据。

5.修改 steamVR 配置文件,以适配混搭手柄 or tracker or 头显…
进入目录:xxx:\steam\steamapps\common\SteamVR\resources\settings
修改文件:

照我下面这样改,一共要改两个参数:
requireHmd,变量值改为 false:Hmd是头显的意思,将它改了之后,就算不连接头显我们也能方便地操作 steamVR 的相关设置,这对于混搭非 HTC 头显 + tracker + 基站 的用户很重要。
activateMultipleDrivers,变量值改为 true:这个设置允许 SteamVR 同时加载和启用多个 VR 驱动程序。通常,SteamVR 只会使用一个驱动程序来支持一个 VR 设备(例如 HTC Vive、Oculus Rift 等)。当该设置为 true 时,SteamVR 可以同时支持多个驱动程序,这就是用来混搭的选项,一定要 true。
修改后保存,退出。

6.调试基站
先把两个基站通上电,放在桌子对角上。


先将一个基站的模式调成 b 模式(注意顺序):
(调模式按后面这个小按钮,如图)
关于基站的模式,有 A、b、c 3种,具体的我们之后再讲,先简单介绍
如果使用有线连接,那么基站分别调节为 A、b 模式
如果使用无线连接,那么基站分别调节为 b、c 模式
请注意,这个有线连接我也没搞明白,大概是要连接头显?还是电脑?不知道。
一般来说,使用无线连接即可。
为什么要先调节1个基站到 b 模式 而不是先调成 c 模式:
c 模式如果一段时间没有识别到或者连接到电脑,那么基站将会自动断电,这很不方便调试。
而且这个时间很短,只有十几秒而已。


重新打开 tracker 或者手柄改的 tracker,进入配对模式并连接(之前讲过的,亮绿灯)
然后 拿手柄在两个基站中间晃动,确保它们能照射到手柄。

然后再打开另一个基站,以相同方式调节成 c 模式,再迅速摆回到它应有的位置。
有一个小细节,c 模式不会像 b 模式那样上来就开始照射,而是在开启阶段进入一种扫描状态
它的同步灯不会亮起:

只有在它发现了另一个基站(设置成 b 模式的基站之后,它才会亮起同步灯):
此时就进入了正常工作的状态,基站的调试完成了

7.修改 steamVR 设置
在调试好基站之后,steamVR 也许不能马上识别到这两个基站:

这是因为没有 tracker 导致的,虽然我们使用了加密狗插在了电脑上,
但好像必须要 tracker 启动来引导一下,基站才能够跟着 tracker 一起被识别。
不用着急,先来设置一下 steamVR。
右键 steamVR,选择:开发者 -> 开发者设置 ->

状态监测 -> 检查 Steam 取消勾选

重置 -> 禁用电源管理 -> 重启 steamVR

8.让连接正常化
重启 steamVR 后,现在我们的基站处于打开状态并且已经正常运转。
我们直接重启手柄,重新配对。
配对手柄前面我讲过了,忘了自己去看。
在重启 steamVR 之后,会一片空白,什么设备都没有。
不用着急,此时手柄可能会自动关机,因为没有被配对。
在配对模式下自动关机后(如果没关机可以手动关机然后再开机,不需要进入配对模式,只开机即可),
直接点一下开机键,就会正常显示了:

至此,基础的连接已经全部结束,剩余的手柄tracker也重复这个步骤即可。
如果说发生了一些问题无法识别,那么请反复重启 steamVR 和手柄,
识别的时机很重要,先后顺序严格,注意看我的描述,漏掉任何一个步骤可能都不行。
三、关于一些其它问题…
1.接收器的均匀排布
为什么加密狗(tracker接收器类似于u盘那个东西)要使用延长线呢,
因为每个接收器都不能离得太近否则会有信号干扰。
接收器和电脑之间 的 推荐距离:>= 45cm
接收器和接收器之间 的 推荐距离:每个接收器距离最少 >=25cm,建议>=30cm。
排布的几何规律:平铺,减少重叠部分(不同tracker和不同接收器之间的连线尽量不交叉)
理想状态是每个不同的接收器距离不同的 tracker 的距离基本相同。
2.头显上面的 tracker 怎么办?
说实话,在我把它绑到头上之后我才意识到一个问题。
固定还是什么别的都可以接受,我难以接受的是它的重量。
经测量,这个手柄的重量是 203g,让我的颈椎难以承受。
所以,如果有条件的话,这个手柄可以被换成一个真正的 tracker,以用于减轻重量,预防颈椎病。

三、后续待更新
1.说明
实在是没时间整 工作太忙
还剩下一些工作没有完成:
1.基站的安装和调试,以及连接,因为有些基站无法被搜索到,是个问题
2.关于如何在 vrchat 中进行实操使用等等
2.待更新…
相关文章:
【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)
更新 0.0.1(2024/11/26): 1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案 2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题 3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 &…...
【Nginx】核心概念与安装配置解释
文章目录 1. 概述2. 核心概念2.1.Http服务器2.2.反向代理2.3. 负载均衡 3. 安装与配置3.1.安装3.2.配置文件解释3.2.1.全局配置块3.2.2.HTTP 配置块3.2.3.Server 块3.2.4.Location 块3.2.5.upstream3.2.6. mine.type文件 3.3.多虚拟主机配置 4. 总结 1. 概述 Nginx是我们常用的…...
Qt界面篇:QMessageBox高级用法
1、演示效果 2、用法注意 2.1 设置图标 用于显示实际图标的pixmap取决于当前的GUI样式。也可以通过设置icon pixmap属性为图标设置自定义pixmap。 QMessageBox::Icon icon(...
【二叉树】【2.1遍历二叉树】【刷题笔记】【灵神题单】
关注二叉树的三个问题: 什么情况适合自顶向下?什么时候适合用自底向上?一般来说,DFS的递归边界是空节点,什么情况下要额外把叶子节点作为递归边界?在什么情况下,DFS需要有返回值?什…...
Mongo数据库 --- Mongo Pipeline
Mongo数据库 --- Mongo Pipeline 什么是Mongo PipelineMongo Pipeline常用的几个StageExplanation with example:MongoDB $matchMongoDB $projectMongoDB $groupMongoDB $unwindMongoDB $countMongoDB $addFields Some Query Examples在C#中使用Aggreagtion Pipeline**方法一: …...
Adobe Illustrator 2024 安装教程与下载分享
介绍一下 下载直接看文章末尾 Adobe Illustrator 是一款由Adobe Systems开发的矢量图形编辑软件。它广泛应用于创建和编辑矢量图形、插图、徽标、图标、排版和广告等领域。以下是Adobe Illustrator的一些主要特点和功能: 矢量绘图:Illustrator使用矢量…...
javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET
javax.xml.ws.soap.SOAPFaultException 表示 SOAP 调用过程中发生了错误,并且服务端返回了一个 SOAP Fault。 错误信息中提到的 ZONE_OFFSET 可能指的是时区偏移量。在日期和时间处理中,时区偏移量是指格林威治标准时间 (GMT) 的偏移量。如果服务期望特…...
常用的数据结构
队列(FIFO) 栈(LIFO) 链表 hash表 hash冲突处理 开放式寻址 线性探测 表示依次检查索引为 hash(key) + 1、hash(key) + 2 ... 的位置。i 是冲突后的探查步数。公式:hash(i) = (hash(key) + i) % TableSize二次探查 规则:冲突后探查的步长是平方递增的,例如,检查位置为 hash…...
javaweb-day01-html和css初识
html:超文本标记语言 CSS:层叠样式表 1.html实现新浪新闻页面 1.1 标题排版 效果图: 1.2 标题颜色样式 1.3 标签内颜色样式 1.4设置超链接 1.5 正文排版 1.6 页面布局–盒子 (1)盒子模型 (2)页面布局…...
C++11特性(详解)
目录 1.C11简介 2.列表初始化 3.声明 1.auto 2.decltype 3.nullptr 4.范围for循环 5.智能指针 6.STL的一些变化 7.右值引用和移动语义 1.左值引用和右值引用 2.左值引用和右值引用的比较 3.右值引用的使用场景和意义 4.右值引用引用左值及其一些更深入的使用场景分…...
基于Springboot的心灵治愈交流平台系统的设计与实现
基于Springboot的心灵治愈交流平台系统 介绍 基于Springboot的心灵治愈交流平台系统,后端框架使用Springboot和mybatis,前端框架使用Vuehrml,数据库使用mysql,使用B/S架构实现前台用户系统和后台管理员系统,和不同级别…...
初识java(2)
大家好,今天我们来讲讲java中的数据类型。 java跟我们的c语言的数据类型有一些差别,那么接下来我们就来看看。 一.字面常量,其中:199,3.14,‘a’,true都是常量将其称为字面常量。(…...
AIGC--AIGC与人机协作:新的创作模式
AIGC与人机协作:新的创作模式 引言 人工智能生成内容(AIGC)正在以惊人的速度渗透到创作的各个领域。从生成文本、音乐、到图像和视频,AIGC使得创作过程变得更加快捷和高效。然而,AIGC并非完全取代了人类的创作角色&am…...
Wonder3D本地部署到算家云搭建详细教程
Wonder3D简介 Wonder3D仅需2至3分钟即可从单视图图像中重建出高度详细的纹理网格。Wonder3D首先通过跨域扩散模型生成一致的多视图法线图与相应的彩色图像,然后利用一种新颖的法线融合方法实现快速且高质量的重建。 本文详细介绍了在算家云搭建Wonder3D的流程以及…...
【设计模式】【行为型模式(Behavioral Patterns)】之状态模式(State Pattern)
1. 设计模式原理说明 状态模式(State Pattern) 是一种行为设计模式,它允许对象在其内部状态发生变化时改变其行为。这个模式的核心思想是使用不同的类来表示不同的状态,每个状态类都封装了与该状态相关的特定行为。当对象的状态发…...
QML学习 —— 34、视频媒体播放器(附源码)
效果 说明 您可以单独使用MediaPlayer播放音频内容(如音频),也可以将其与VideoOutput结合使用以渲染视频。VideoOutput项支持未转换、拉伸和均匀缩放的视频演示。有关拉伸均匀缩放演示文稿的描述,请参见fillMode属性描述。 播放可能出错问题 出现的问题: DirectS…...
【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分! 【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神…...
【Qt】控件7
1.QTextEdit的简单使用 使用简单的QTextEdit,获取到的内容显示到标签上 使用textChanged信号 在槽函数中需要获取QTextEdit的内容,对应操作是: QString curorui->textEdit->toPlainText();然后显示到标签上,对应操作是: …...
F12抓包14_修改网页图片网页保存到本地
课程大纲 1、修改网页图片(2种方式二选一) 修改网页图片,需要定位到图片标签,修改<img>标签的属性。2种方法: 1. 修改为网络图片url。缺点:url失效,图片无法显示。 2. 修改为图片base64&a…...
源代码检测,内附实际案例
源代码安全审计是依据国标GB/T 34944-2017、GB/T 34944-2017,结合专业源代码扫描工具对各种程序语言编写的源代码进行安全审计。能够为客户提供包括安全编码规范咨询、源代码安全现状评测、定位源代码中存在的安全漏洞、分析漏洞风险、给出修改建议等一系列服务。 源…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
