一直很羡慕能在游戏里随便摆 Pose 的好友们, 但是我没钱, 买不起成品 tracker, 又不会焊接, 所以没法 DIY 史莱姆.
今年早些看了一个 Bilibili 视频介绍的小史莱姆(Smol Slime), 狠狠心动了. 正好这学期学校有一整周的实训课程教我们怎么焊接电路板(一周前我还对焊接一无所知, 现在也只是焊接新手), 那就趁这个机会试试吧.
- 数量: 十点
- 电池: 120 mAh, 提供约 24h 续航
- 尺寸: tbd, 但是十分小巧轻薄
- 追踪效果: tbd
| 类别 |
物品 |
数量 |
价格 |
备注 |
| 工具 |
黄花电烙铁 EP-916L |
1 |
115 |
趁手即可 |
| 卡诺宇恒温加热台 1010 |
1 |
73.01 |
趁手即可 |
| 得力水口钳 |
1 |
13.5 |
剪去多余的排针用, 趁手即可 |
| 镊子套装 |
1 |
18 |
主要是 SMT 贴片时夹取和放置元件用, 趁手即可 |
| 定制 SMT 激光钢网 10cm*10cm |
1 |
15 |
|
| 优利德万用表 UT33A+ |
1 |
82.78 |
最低要求是能测电阻 |
| 迷你锡膏印刷台 |
1 |
25.8 |
闲鱼 |
| 合计 |
|
343.09 |
|
| 材料 |
凯利顺锡浆 50克 |
1 |
25.5 |
|
| 焊锡丝 |
0 |
0 |
买电烙铁送的 |
| 两米长三厘米宽松紧带 |
3 |
13.12 |
|
| 1007电子线5卷共100米 |
1 |
36.45 |
明显买多了 |
| 子母扣 |
9 |
2.97 |
|
| 合计 |
|
128.04 |
|
| 电子元件 |
KEY SMD小乌龟轻触开关 |
10 |
0.48 |
|
| 401230 锂电池 3.7V 120mAh |
10 |
7.23 |
|
贴片电容 CL10B104KC8NNNC 100nF |
50 |
0.0372 |
|
贴片电容 CL10A225KO8NNNC 2.2uF |
50 |
0.0381 |
|
贴片电阻 0603WAF1002T5E 2.2uF |
100 |
0.0059 |
|
有源晶振 YF4032K76833T8188081 |
10 |
2.37 |
|
| 姿态传感器 ICM-45686 |
10 |
19.83 |
|
| 3D磁传感器 QMC6309 |
10 |
2.2065 |
可选, 现阶段小史莱姆固件还不支持磁传感器 |
| 合计 |
|
325.52 |
|
| 模块 |
Holyiot-21017-nRF52840 接收器 |
1 |
99 |
|
| Promicro NRF52840 开发板 |
10 |
11.89 |
|
| ICM-45686 模块 PCB |
10 |
0 |
嘉立创免费打样 |
| 十口 USB 分线器 |
1 |
26 |
|
| USB-C 公口对 USB-A 公口转换器 |
10 |
5.95 |
|
| GoPro 用双肩胸带 |
1 |
15.3 |
挂接胸部tracker用 |
| 3D 打印外壳 |
10 |
3.54 |
|
| 3D 打印挂载托盘 |
9 |
1.91 |
|
| 3D 打印 GoPro 胸带挂载托盘 |
1 |
2.11 |
|
| 合计 |
|
373.4 |
|
| 合计 |
|
|
1170.05 |
|
前面提到的视频中的商品 Styria Mini tracker 十点的价格是 1888. 虽然没有触点充电, 一键唤醒等功能, 但价格便宜 700 多元(甚至还留下了价值 300 多元的不动产)让我感到满意.
如果你决定要跟随本教程制作 tracker, 建议先通读一遍本教程, 明确自己需要准备什么工具或材料, 然后再进行准备和实操.
我的 Smol Slime tracker 整体上参考官方文档的 DIY 方案, 但是替换了官方方案中使用的成品 ICM-45686 模块, 因此步骤上要再多一条制作该模块.
整体过程如下
- 焊接 ICM-45686 模块
- 焊接 tracker
- 刷写固件, 配对 tracker 和接收器
- 组装 tracker 与外壳, 绑带
- 调试, 测试
这个步骤是精细操作要求最高的部分. 不使用成品模块能省下约 100 人民币, 但是会额外消耗你约 5 小时时间(我在熟练后需要约30分钟来焊接一个该模块). 所以如果你不缺这 100 人民币, 你可以跳过, 并直接购买成品模块.
操作步骤如下
-
将钢网和 PCB 板安装在夹具上
图 1 钢网和 PCB 板安装在夹具上
-
盖上钢网, 对齐钢网和 PCB
图 2 对齐钢网和 PCB
-
刷上锡浆. 在覆盖焊点的基础上, 用最少的次数刷上恰好足够的锡浆. 尤其是对于 ICM-45686 和 QMC6309 两个芯片的焊盘, 能刷一次绝不刷两次, 以防止锡浆过多导致焊接后连锡. 刷的时候要用力按平钢网, 防止锡浆渗出到钢网另一侧与 PCB 之间的空隙, 导致连锡.
图 3 刷上锡浆
-
揭开钢板. 揭开前保证没有大片锡膏在焊点上, 否则揭开后会出现拉尖. 揭开时, 注意从下往上慢慢揭开, 防止锡浆偏移.
图 4 刷好锡浆的 PCB
注意检查各个焊盘上是否有锡浆, 是否有连锡. 电阻电容和晶振焊盘较大, 轻微连锡无关紧要, 但是 ICM-45686 焊点比较密集, 需要重点关注. QMC6309 焊点较小, 经常出现钢网被堵塞, 锡浆刷不上的情况, 不过因为 QMC6309 是可选安装的芯片, 所以如果你不想在这上面花时间, 可以直接不予理睬.
-
摆放元器件. 用镊子把元器件摆到 PCB 上. 其中
- 左上方两个是 100nF 电容的焊盘, 没有正反
- 下方中间一个是 2.2uF 电容的焊盘, 没有正反
- 其余小长方形是 10k 电阻的焊盘, 字面朝上即可
- 中间上方面积最大的是晶振的焊盘, 反光下可见芯片上有一个 "⋅", 注意这个 "⋅" 和焊盘右上角处的 "¬" 在同一方向
- 中间焊点最多的是 ICM-45686 芯片的焊盘, 反光下可见芯片上有一个 "⋅", 注意这个 "⋅" 和焊盘左下角处的 "¬" 在同一方向
- (可选安装, 不影响功能)右侧最小的正方形是 QMC6309 芯片的焊盘, 反光下可见芯片上有一个 "⋅", 注意这个 "⋅" 和焊盘右上角处的 "¬" 在同一方向.
图 5 放好元件的 PCB
-
加热台打开, 温度设置为 160, 到达后将 PCB 板放上, 预热约 30 秒.
图 6 预热 PCB
背景图是我室友的行李箱. 请不要担心, 因为加热台只有上面的表面是热的. 本教程中没有任何室友或室友的行李箱受到损害.
-
预热完成后, 调节温度到比锡浆熔点略高. 对于我来说, 这个温度是 210. 然后等待升温后锡浆融化.
图 7 锡浆融化了
- 当所有焊点的锡浆已经充分融化(往往是你设置的温度已经到达时), 用镊子直接把 PCB 从加热台上移除, 然后放到一个合适的地方散热(比如钢网上). 关闭加热台(这个加热台没有主动制冷功能). 注意此后的相当长时间内, 加热台仍然是烫的, 请注意安全.
-
使用万用表检测各焊点是否有连锡或虚焊. 由于写教程时, 我的每个模块都已经被做成了 tracker, 所以无法提供各个测量点的具体参考值, 只能给出检测步骤和大致结果.
-
ICM-45686 连锡检测
- OSDO 和 SC0: 应为开路
- CLK 和 SC0: 不应短路
- CLK 和 +3V3: 不应短路
- GND 和 +3V3: 不应短路
- INT1 和 SCX: 不应短路
- SDX 和 SCX: 不应短路
- SDX 和 SD0: 不应短路
- SDA 和 SCL: 不应短路
- CS 和 SCL: 不应短路
-
ICM-45686 虚焊检测
-
其它
- 大功告成
这一部分和官方教程基本一致, 但是如果你选择自制 ICM-45686 模块, 那么得益于该模块的尺寸设计, 这一步会相对简单.
-
给模块背面贴上胶带, 防止其与开发板密切接触导致的短路
图 8 贴好胶带的模块
-
掰一段六个的排针, 用钳子处理一下, 把外壳移动到一端
图 9 处理好的排针
再取两个排针, 直接移除外壳, 取出金属排针部分
-
把开发板, 模块, 排针摆放到图示位置(开发板四角的四组三个排针是起支撑固定作用的, 并不需要焊接)
图 10 等待焊接正面的 tracker
-
焊接正面
图 11 正面焊接后的 tracker
-
移除六个排针的外壳, 准备焊接反面
图 12 等待焊接反面的 tracker
-
焊接反面
图 13 反面焊接后的 tracker
- 用钳子剪去多余的排针
-
焊接电池. 在进行这一步时, 你的 tracker 上就会有指示灯亮起了, 这是正常的, 请不要担心
图 14 焊接电池后的 tracker
-
焊接天线.
- 剪取一段和 tracker 长度相当的导线, 剥去一端的一小段线皮(5毫米已经足够), 把铜线捻在一起(如果你的导线是多股的), 并使用烙铁镀锡.
-
在 tracker 的图示位置预先上锡
图 15 等待焊接天线的 tracker
-
在图示位置焊接天线
图 16 天线焊接后的 tracker
-
焊接按钮
-
在 tracker 的图示位置预先上锡
图 17 等待焊接按钮的 tracker
-
在图示位置焊接按钮
图 18 按钮焊接后的 tracker
- 大功告成
在这一步, 你通常就能知道你的 tracker 是否正常工作了.
-
刷入接收器固件
- 下载接收器固件
- 安装 nRF Connect for Desktop, 在里面安装 "Programmer" 并打开
- 将 Holyiot-21017-nRF52840 接收器连接到电脑. 该接收器还附赠一块磁铁, 把这块此贴在指示灯附近以进入 DFU 模式
- 在 Programmer 中选择接收器设备, 刷入接收器固件
-
刷入 tracker 固件
- 下载 tracker 固件. 这里的链接是官方推荐的 ProMicro 设备 SPI 协议有时钟无 WOM 有按钮版本, 如果需要其他版本, 请参阅官方文档
- 将 tracker (通过 USB 线)连接到电脑, 应当看到一个名称为 "NICENANO" 的存储设备.
-
直接将固件复制到该设备, 稍等片刻后该设备消失, 刷写完成
图 19 刷入 tracker 固件
-
配对 tracker 和接收器
- 下载 SmolSlimeConfigurator, 并打开两个实例
-
将接收器连接到电脑, 刷新一个 SmolSlimeConfigurator 实例的 COM 接口列表, 应该能看到接收器对应的 COM 接口. 选中该接口, 点击连接, 能看到类似如下输出
*** Booting SlimeVR-Tracker-nRF-Receiver v0.6.9-c0c2784b78b0 ***
*** Using nRF Connect SDK v3.1.1-cb47ad580360 ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
[00:00:00.000,305] <inf> hid_event: HID Device: dev 0x1854c
[00:00:00.006,988] <inf> esb_event: 10/256 devices stored
[00:00:00.007,019] <inf> esb_event: Initializing ESB, RX mode
[00:00:00.109,283] <inf> hid_event: New protocol: report
*** Holyiot SlimeNRF Receiver Holyiot-21017 ***
SlimeVR-Tracker-nRF-Receiver 0.6.9+0 (Commit c0c2784b78b0, Build 2025-11-05 02:23:01)
info Get device information
reboot Soft reset the device
add <address> Manually add a device
remove Remove last device
clear Clear stored devices
*** Booting SlimeVR-Tracker-nRF-Receiver v0.6.9-c0c2784b78b0 ***
*** Using nRF Connect SDK v3.1.1-cb47ad580360 ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
[00:00:00.000,305] <inf> hid_event: HID Device: dev 0x1854c
[00:00:00.006,988] <inf> esb_event: 10/256 devices stored
[00:00:00.007,019] <inf> esb_event: Initializing ESB, RX mode
[00:00:00.109,283] <inf> hid_event: New protocol: report
*** Holyiot SlimeNRF Receiver Holyiot-21017 ***
SlimeVR-Tracker-nRF-Receiver 0.6.9+0 (Commit c0c2784b78b0, Build 2025-11-05 02:23:01)
info Get device information
reboot Soft reset the device
add <address> Manually add a device
remove Remove last device
clear Clear stored devices
*** Booting SlimeVR-Tracker-nRF-Receiver v0.6.9-c0c2784b78b0 ***
*** Using nRF Connect SDK v3.1.1-cb47ad580360 ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
[00:00:00.000,305] <inf> hid_event: HID Device: dev 0x1854c
[00:00:00.006,988] <inf> esb_event: 10/256 devices stored
[00:00:00.007,019] <inf> esb_event: Initializing ESB, RX mode
[00:00:00.109,283] <inf> hid_event: New protocol: report
*** Holyiot SlimeNRF Receiver Holyiot-21017 ***
SlimeVR-Tracker-nRF-Receiver 0.6.9+0 (Commit c0c2784b78b0, Build 2025-11-05 02:23:01)
info Get device information
reboot Soft reset the device
add <address> Manually add a device
remove Remove last device
clear Clear stored devices
*** Booting SlimeVR-Tracker-nRF-Receiver v0.6.9-c0c2784b78b0 ***
*** Using nRF Connect SDK v3.1.1-cb47ad580360 ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
[00:00:00.000,305] <inf> hid_event: HID Device: dev 0x1854c
[00:00:00.006,988] <inf> esb_event: 10/256 devices stored
[00:00:00.007,019] <inf> esb_event: Initializing ESB, RX mode
[00:00:00.109,283] <inf> hid_event: New protocol: report
*** Holyiot SlimeNRF Receiver Holyiot-21017 ***
SlimeVR-Tracker-nRF-Receiver 0.6.9+0 (Commit c0c2784b78b0, Build 2025-11-05 02:23:01)
info Get device information
reboot Soft reset the device
add <address> Manually add a device
remove Remove last device
clear Clear stored devices
由于我已经配对过, 所以这里会显示 esb_event: 10/256 devices stored.
- 这个 SmolSlimeConfigurator 实例切换到 Receiver 选项卡. 在此选项卡下, 点击 "Pairing Mode" 即可进入配对模式, 点击 "🛇 Pairing Mode" 即可退出配对模式.
-
配对一个 tracker
-
连接一个 tracker 到电脑, 刷新另一个 SmolSlimeConfigurator 实例的 COM 接口列表, 应该能看到 tracker 对应的 COM 接口. 选中该接口, 点击连接, 能看到类似如下输出
[19:58:33.350,463] <inf> status: USB connected
[19:58:33.350,494] <inf> status: Status: 8
[19:58:33.406,372] <inf> status: Charger plugged
[19:58:33.406,372] <inf> status: Status: 24
[19:58:33.406,402] <inf> power: Change to battery SOC: 26.55% -> 100.00%
[19:58:33.406,433] <inf> battery_tracker: Tracker reset
*** SlimeVR SlimeNRF Tracker ProMicro ***
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
info Get device information
reboot Soft reset the device
battery Get battery information
calibrate Calibrate sensor ZRO
6-side Calibrate 6-side accelerometer
set <address> Manually set receiver
[19:58:33.350,463] <inf> status: USB connected
[19:58:33.350,494] <inf> status: Status: 8
[19:58:33.406,372] <inf> status: Charger plugged
[19:58:33.406,372] <inf> status: Status: 24
[19:58:33.406,402] <inf> power: Change to battery SOC: 26.55% -> 100.00%
[19:58:33.406,433] <inf> battery_tracker: Tracker reset
*** SlimeVR SlimeNRF Tracker ProMicro ***
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
info Get device information
reboot Soft reset the device
battery Get battery information
calibrate Calibrate sensor ZRO
6-side Calibrate 6-side accelerometer
set <address> Manually set receiver
[19:58:33.350,463] <inf> status: USB connected
[19:58:33.350,494] <inf> status: Status: 8
[19:58:33.406,372] <inf> status: Charger plugged
[19:58:33.406,372] <inf> status: Status: 24
[19:58:33.406,402] <inf> power: Change to battery SOC: 26.55% -> 100.00%
[19:58:33.406,433] <inf> battery_tracker: Tracker reset
*** SlimeVR SlimeNRF Tracker ProMicro ***
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
info Get device information
reboot Soft reset the device
battery Get battery information
calibrate Calibrate sensor ZRO
6-side Calibrate 6-side accelerometer
set <address> Manually set receiver
[19:58:33.350,463] <inf> status: USB connected
[19:58:33.350,494] <inf> status: Status: 8
[19:58:33.406,372] <inf> status: Charger plugged
[19:58:33.406,372] <inf> status: Status: 24
[19:58:33.406,402] <inf> power: Change to battery SOC: 26.55% -> 100.00%
[19:58:33.406,433] <inf> battery_tracker: Tracker reset
*** SlimeVR SlimeNRF Tracker ProMicro ***
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
info Get device information
reboot Soft reset the device
battery Get battery information
calibrate Calibrate sensor ZRO
6-side Calibrate 6-side accelerometer
set <address> Manually set receiver
-
点击 Info 按钮, 查看该 tracker 的地址
SlimeVR SlimeNRF Tracker ProMicro
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
Target: promicro_uf2/nrf52840/spi
0.00000 1.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000
0.00000 0.00000 0.00000 1.00000
Gyroscope bias: 0.00000 0.00000 0.00000
Device address: A3ABE2433796
Receiver address: EAAF99CF4E82
Remaining runtime: 7h 20min
Fully charged runtime: 27h 31min
SlimeVR SlimeNRF Tracker ProMicro
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
Target: promicro_uf2/nrf52840/spi
0.00000 1.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000
0.00000 0.00000 0.00000 1.00000
Gyroscope bias: 0.00000 0.00000 0.00000
Device address: A3ABE2433796
Receiver address: EAAF99CF4E82
Remaining runtime: 7h 20min
Fully charged runtime: 27h 31min
SlimeVR SlimeNRF Tracker ProMicro
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
Target: promicro_uf2/nrf52840/spi
0.00000 1.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000
0.00000 0.00000 0.00000 1.00000
Gyroscope bias: 0.00000 0.00000 0.00000
Device address: A3ABE2433796
Receiver address: EAAF99CF4E82
Remaining runtime: 7h 20min
Fully charged runtime: 27h 31min
SlimeVR SlimeNRF Tracker ProMicro
SlimeVR-Tracker-nRF 0.6.9+0 (Commit 5d572a0056f3, Build 2025-11-05 02:26:37)
Target: promicro_uf2/nrf52840/spi
0.00000 1.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000
0.00000 0.00000 0.00000 1.00000
Gyroscope bias: 0.00000 0.00000 0.00000
Device address: A3ABE2433796
Receiver address: EAAF99CF4E82
Remaining runtime: 7h 20min
Fully charged runtime: 27h 31min
此处我已经配对过, 所以 Receiver address 有显示. 这里重点关注 Device address.
-
使用接收器对应的 SmolSlimeConfigurator 实例使接收器进入配对模式, 然后长按 tracker 的按钮至少三秒, 在 tracker 对应的 SmolSlimeConfigurator 实例中应该看到类似如下的输出
[20:02:28.176,422] <inf> status: Button pressed
[20:02:28.176,452] <inf> status: Status: 90
[20:02:29.144,592] <inf> system: User shutdown requested
[20:02:32.333,129] <inf> status: Cleared status: 2
[20:02:32.333,160] <inf> status: Status: 88
[20:02:33.145,111] <inf> system: Pairing requested
[20:02:33.155,303] <inf> esb_event: Pairing requested
[20:02:33.155,334] <inf> status: Cleared status: 64
[20:02:33.155,334] <inf> status: Status: 24
[20:02:33.234,619] <inf> esb_event: Pairing
[20:02:33.234,710] <inf> esb_event: Device address: A3ABE2433796
[20:02:33.234,710] <inf> esb_event: Checksum: 72
[20:02:34.235,565] <inf> esb_event: Paired
[20:02:28.176,422] <inf> status: Button pressed
[20:02:28.176,452] <inf> status: Status: 90
[20:02:29.144,592] <inf> system: User shutdown requested
[20:02:32.333,129] <inf> status: Cleared status: 2
[20:02:32.333,160] <inf> status: Status: 88
[20:02:33.145,111] <inf> system: Pairing requested
[20:02:33.155,303] <inf> esb_event: Pairing requested
[20:02:33.155,334] <inf> status: Cleared status: 64
[20:02:33.155,334] <inf> status: Status: 24
[20:02:33.234,619] <inf> esb_event: Pairing
[20:02:33.234,710] <inf> esb_event: Device address: A3ABE2433796
[20:02:33.234,710] <inf> esb_event: Checksum: 72
[20:02:34.235,565] <inf> esb_event: Paired
[20:02:28.176,422] <inf> status: Button pressed
[20:02:28.176,452] <inf> status: Status: 90
[20:02:29.144,592] <inf> system: User shutdown requested
[20:02:32.333,129] <inf> status: Cleared status: 2
[20:02:32.333,160] <inf> status: Status: 88
[20:02:33.145,111] <inf> system: Pairing requested
[20:02:33.155,303] <inf> esb_event: Pairing requested
[20:02:33.155,334] <inf> status: Cleared status: 64
[20:02:33.155,334] <inf> status: Status: 24
[20:02:33.234,619] <inf> esb_event: Pairing
[20:02:33.234,710] <inf> esb_event: Device address: A3ABE2433796
[20:02:33.234,710] <inf> esb_event: Checksum: 72
[20:02:34.235,565] <inf> esb_event: Paired
[20:02:28.176,422] <inf> status: Button pressed
[20:02:28.176,452] <inf> status: Status: 90
[20:02:29.144,592] <inf> system: User shutdown requested
[20:02:32.333,129] <inf> status: Cleared status: 2
[20:02:32.333,160] <inf> status: Status: 88
[20:02:33.145,111] <inf> system: Pairing requested
[20:02:33.155,303] <inf> esb_event: Pairing requested
[20:02:33.155,334] <inf> status: Cleared status: 64
[20:02:33.155,334] <inf> status: Status: 24
[20:02:33.234,619] <inf> esb_event: Pairing
[20:02:33.234,710] <inf> esb_event: Device address: A3ABE2433796
[20:02:33.234,710] <inf> esb_event: Checksum: 72
[20:02:34.235,565] <inf> esb_event: Paired
这里看到 Paired 即可松手.
-
在接收器对应的 SmolSlimeConfigurator 实例点击 "List", 应该能看到类似如下输出
如果能在这里找到先前看到的 tracker 地址, 则配对完成. 由于我已经把十个 tracker 都配对完成, 所以这里全都显示了
- 断开 tracker 与电脑的连接
- 重复上述步骤, 配对所有 tracker
-
检查 tracker 是否正常工作
- 安装 SlimeVR Server
- 打开 SlimeVR Server, 按步骤完成设置, 有些与佩戴相关的步骤可以直接跳过
- 在 SlimeVR Server 的 Home 界面能看到所有 tracker. 当 tracker 剧烈移动的时候, 这个 tracker 对应的图标会亮起. 点进每个 tracker 可以看到该 tracker 的 3D 预览画面, 在现实中移动 tracker, 检查预览画面的移动是否匹配.
我的外壳参考的是 tbd 设计的 tbd, 绑带参考的是 Depact 设计的 Depact V2 Smol 绑带.
- 下载外壳的 3D 模型文件, 这里我们需要的是
tbd, tbd, tbd 三个模型, 每个模型打印十个即可.
- tbd
tbd
tbd