当前位置: 首页 > 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;结合专业源代码扫描工具对各种程序语言编写的源代码进行安全审计。能够为客户提供包括安全编码规范咨询、源代码安全现状评测、定位源代码中存在的安全漏洞、分析漏洞风险、给出修改建议等一系列服务。 源…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?

在现代前端开发中&#xff0c;Utility-First (功能优先) CSS 框架已经成为主流。其中&#xff0c;Tailwind CSS 无疑是市场的领导者和标杆。然而&#xff0c;一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...