当前位置: 首页 > news >正文

【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、修改网页图片&#xff08;2种方式二选一&#xff09; 修改网页图片&#xff0c;需要定位到图片标签&#xff0c;修改<img>标签的属性。2种方法&#xff1a; 1. 修改为网络图片url。缺点&#xff1a;url失效&#xff0c;图片无法显示。 2. 修改为图片base64&a…...

源代码检测,内附实际案例

源代码安全审计是依据国标GB/T 34944-2017、GB/T 34944-2017&#xff0c;结合专业源代码扫描工具对各种程序语言编写的源代码进行安全审计。能够为客户提供包括安全编码规范咨询、源代码安全现状评测、定位源代码中存在的安全漏洞、分析漏洞风险、给出修改建议等一系列服务。 源…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用&#xff0c;前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率&#xff0c;还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库&#xff08;Naive UI、Element …...

stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)

这是系统中断服务程序的默认处理汇编函数&#xff0c;如果我们没有定义实现某个中断函数&#xff0c;那么当stm32产生了该中断时&#xff0c;就会默认跑这里来了&#xff0c;所以我们打开了什么中断&#xff0c;一定要记得实现对应的系统中断函数&#xff0c;否则会进来一直循环…...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...