外观
SlimeVR
SlimeVR 是一套开源的 VR 全身追踪系统:不用基站,只要在腰、腿、脚上绑几个带 IMU(惯性测量单元)的小追踪器,就能在 VRChat 等应用里让虚拟形象的全身动起来。追踪器的主控是 ESP8266 或 ESP32,价格远低于基站式方案,因此在 VR 社区很流行。
项目概况
| 项目 | 内容 |
|---|---|
| 仓库 / 官网 | SlimeVR-Tracker-ESP(追踪器固件)、SlimeVR-Server(服务器),文档 docs.slimevr.dev |
| 作者 / 组织 | SlimeVR 团队与社区 |
| 开源协议 | 固件与服务器均为 Apache-2.0(GitHub 元数据) |
| 支持芯片 | 固件 README 写 ESP8266 / ESP32;成品追踪器常用 ESP32-C3 等低成本型号,具体以文档和成品说明为准 |
| 首次发布 | 固件仓库创建于 2020 年 12 月 30 日,服务器仓库创建于 2021 年 1 月 5 日 |
| 最新版本 | 追踪器固件最近 release 为 v0.7.3(2026 年 8 月 3 日) |
| 热度 | 固件约 1100 星、服务器约 1000 星(2026 年 10 月) |
它是怎么工作的
- 每个追踪器上有一颗 IMU,ESP 芯片以固定频率读取姿态数据(四元数)。
- 数据通过 Wi-Fi 发送给运行在电脑上的 SlimeVR Server。
- 服务器知道每个追踪器绑在哪个身体部位,结合人体骨架模型,推算出全身姿态。
- 服务器通过 SteamVR 驱动把追踪器伪装成 VIVE 追踪器,所以兼容大部分 SteamVR 应用;也支持输出到其他协议,owoTrack 兼容但不保证。
固件支持的 IMU 很多,README 列出了:BNO085 / BNO086、BNO080、MPU-6500 / 6050、BNO055、MPU-9250、BMI160、ICM-20948,以及通过公共的 SoftFusion 代码支持的 BMI270、ICM-42688、LSM6DS 系列等。README 的评价是:BNO085 系列在好的磁环境下效果最好,BNO055 不推荐,MPU 系列漂移较大。固件配置在 defines.h 里。
需要的硬件
| 部件 | 说明 |
|---|---|
| 追踪器 | 自制:ESP32(或 ESP8266)+ IMU + 锂电池 + 充电板 + 外壳;或购买社区厂商的成品 |
| 绑带 | 腰、大腿、小腿、脚,一般 5 到 8 个追踪器,数量越多越精准 |
| 电脑 | 运行 SlimeVR Server 的 Windows / Linux / macOS 电脑 |
| VR 设备 | 任意支持 SteamVR 的头显,或 VRChat 的桌面模式 |
自制有焊接和 3D 打印的门槛,且涉及锂电池,请按文档的电路和保护板建议操作。
上手路径
- 到文档站看全身追踪的构建指南,决定自制还是购买。
- 烧录固件:文档站有基于网页的烧录工具,参见 烧录工具。
- 安装 SlimeVR Server,把追踪器通过 Wi-Fi 配对。
- 绑在身上,按引导做校准和穿戴姿势设置。
- 在 SteamVR / VRChat 里使用。
生态与衍生
局限与注意事项
- IMU 追踪存在漂移,需要定期重置姿态;磁干扰环境(如金属较多的房间)会影响 9 轴传感器。
- 不能追踪绝对位置,只能推算姿态,站在原地走动等动作会不够自然。
- Wi-Fi 稳定性对追踪体验影响很大,建议使用独立的 2.4 GHz 网络。
- 自制涉及电池,注意安全。
- 具体 ESP32 型号的固件支持可能随版本变化,请对照文档站。