Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

2024-01-08 00:05:13

问题描述

使用环境与工具: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博客

文章来源:https://blog.csdn.net/weixin_43042683/article/details/135371466
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。