兄弟萌,我这边有个问题,是关于动作捕捉的开发。
我个人情况:并没有这方面的基础知识,只能说是赶鸭子上架。
##1.具体情况如下
我们公司决定开发一套动作捕捉的设备,采用的是博世的 BNO055 传感器,并且不采用绑带或者衣服,而是直接贴在身体皮肤表面。目前我在传感器四元数控制 unity3d 模型的旋转方面遇到了一些问题。
##2.关于四元数
我将 BNO055 本身的右手坐标系转换成 unity 的左手坐标系
Quaternion q_lefthanded = new Quaternion( -bno[3], -bno[1], -bno[2], bno[0] );
校准和实时运动
`
Quaternion q_calib; // 站立姿势时的四元数(即校准)
Quaternion q_curr; // 运动时的四元数(实时)
Quaternion q = q_curr * Quaternion.Inverse(q_calib); //之后在 update 函数中,将这个四元数 q 赋值给 3d 模型 ` 我将传感器正对前方,运动时,unity 模型的动作中,有一个轴呈现相反的旋转方向。 ##3.求助,想要的回答 我查阅过博世的论坛,Stack Overflow 之类的也查询过,并没有解决我的问题,想问一下各位兄弟姐妹,有没有什么解决办法?
下面附上问题详情视频,测试时用的是右手
https://v.youku.com/v_show/id_XNTkwMTM2MjA4NA==.html https://youtu.be/D40jWchqDLI
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.