Rebocap检测身高异常怎么解决

这个帖子主要介绍为什么检测身高异常,有哪些解决方案,不同解决方案的有什么缺陷。

这里给出结论:
如果想要最好效果,请执行 方案一,如果因为设备或者其它问题,方案一无法通过,请查看身高差异,差异太大,例如超过20cm以上,请执行方案三,最次方案是方案二,方案二目前有各种各样的问题,但是会在preview版本中进行修复。

为什么身高检测异常

Rebocap 只是读取头显高度vr_headset_height,然后推测出最终的人的身高vr_headset_height * 1.05,因此出现高度异常,和Rebocap本身没有任何关系,主要考虑以下几个因素:

  1. 其它插件干扰导致,比如 ovr advanced setting
  2. SteamVR 空间校准问题【这种情况比较少见,大部分人可以忽略】
  3. VR 头显本身高度校准问题【大多数情况都是这个】
  4. 头显在安全边界附近或者超出安全边界【此类情况大部分时候不影响高度,但是会导致人物扭曲】

怎么解决高度问题

这里给出三种解决方案,官方推荐使用方案一,如果你实在无法解决头显本身的高度问题,那么开始尝试方案二和方案三,但是效果会大打折扣。

方案一

使用Rebocap自动测量身高,然后校准头显高度

从根本上解决头显本身高度错误问题,首先排除插件干扰,然后重新校准头显高度,可以搜索怎么校准头显高度

  • 校准高度后,检查手柄放置在现实地板上,VR头显一体机自身的虚拟场景中,手柄是否也是刚好也在地板上
  • 查看SteamVR 场景中(不是指VRChat,是SteamVR自带的默认场景或者SteamVR Home),手柄是否也是刚好在地板上。如果在一体机中手柄高度正确,SteamVR场景中手柄高度错误,那么请排查SteamVR 空间校准问题

方案一是最佳方案,如果希望达到最佳效果,请务必校准好头显高度,让检测的身高和你本人不会相差太大,oculus 高度设置也可以看这里

方案二

手动设置身高

部分VR头显因为设备本身问题,或者用户自身周围环境问题,或者操作等问题,导致无法校准好头显高度,这里也有一个临时解决方案,但是如果身高差异太大,目前会导致各种问题,后续会进行修复。

  1. Rebocap 的VR面板中,关闭自动身高测量
  2. 调节Rebocap骨架高度
  3. VRChat中设置人物身高,高度和Rebocap中保持一致或者略小一点点。
  4. VRChat设置好以后,退出VRChat,然后在Rebocap完成动作校准,然后重新进入VRChat

此类方案在目前版本中,如果检测身高差异太大,会导致各类问题。比如如果检测身高远高于设置身高,那么脚底接触算法无法生效,也就是滑步的现象。如果检测身高远低于设置身高,那么会导致身体跟踪器点位被压缩,人物坐下或者站立出现其它问题。

方案三

手动设置身高 + ovr advanced setting

  1. Rebocap 的VR面板中,关闭自动身高测量
  2. 调节Rebocap骨架高度
  3. 调节ovr advanced setting中Y轴 offset,直到动捕测量的人物高度和你真实人物高度接近一致
  4. VRChat中设置人物身高,高度和Rebocap中保持一致或者略小一点点。

这个方案对于方案二来说,解决了身高差异太大导致的动捕问题,但是依然存在头显本身测量带来的问题,比如头显本身测量太高为2.4米,如果你坐下,测量的头显位移是1.2米,真实世界中头显位移是0.6米,这就带来了不一致问题,导致动捕效果受到影响。