问题描述
使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套
首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列),进行了环境配置。并搭建了一个简单的示例场景(白色cube位于空间原点(0,0,0))。
现将TableScence_Vive场景的Hi5_Thread_MonoBehaviour、[CmaeraRig]_Hi5、HI5 Menu复制粘贴到示例场景中,并把[CmaeraRig]_Hi5移动到Plane处(偏离原点)。
然后运行发现,虚拟手一直在原点处的活动范围,并与手部Tracker相对位置出现偏差。
问题解决
1.搜索到脚本HI5_InertiaInstance.cs,编辑器打开。
2.添加superObject变量:
public GameObject superObject;
3.找到ApplyHandMotion_Pose方法,在HandBones[m_INDEX_Hand].position = position;上方添加如下代码:
if (superObject != null)
{position += superObject.transform.position;
}
4.保存代码,回到Unity,找到两个手部模型(Hi5_Left_Hand、Hi5_Right_Hand),将其HI5_InertiaInstance.cs脚本的 Super Object变量选择为[CameraRig]_Hi52。
5.重新运行,即可。
备注:
问题:手指传感器连接不上
需要将手指传感器与接收器的频段调为一致(不同颜色代表不同频段)。建议均调为蓝色频段。
参考链接 / 特别感谢:
Unity学习 HTC Vive & Hi5 2.0_noitom inertia-CSDN博客