6DoF设计
- forward/backward (surge):前后移动
- left/right (sway):左右移动
- up/down (heave):上下移动
- Roll:左右倾斜
- Pitch:前后俯仰
- Yaw:左右旋转
思路
先把动作分为两类:一类是旋转动作和倾斜动作,另一类是三种平移动作和俯仰动作。
分类依据:相邻帧两个耳机移动向量的夹角。如果两耳机移动方向不一致(夹角大于阈值)则是第一类动作,如果方向一致(夹角小于阈值)则是第二类动作。
对于第一类动作,如果耳机移动向量与(上一帧)视线方向(几乎)垂直,则是倾斜动作,反之则是旋转动作,或者根据耳机中点是否移动来判断是不是旋转动作。
对于第二类动作,如果耳机移动方向与视线方向几乎垂直,则是左右移动或上下移动;反之则是前后移动或俯仰动作。
对于左右移动或者上下移动,则根据耳机移动向量在竖直方向的分量的绝对值大小来判断,如果在竖直方向的分量占比最大,则是上下移动,反之则是左右移动。
对于前后移动或者俯仰动作,比较难区分,目前想到的方式有
根据是否有竖直方向的分量来判断,如果有且比较大则是俯仰动作,反之则是前后移动。
根据量耳机中点与轴点的距离来判断(但是这个距离因人而异),如果距离超过固定值则是前后移动,反之则是俯仰动作。