两年前我正在修复遗留项目 . 它使用Windows Unity主机来利用Leap Motion设备捕捉手部动作,以及iPhone播放器(带有Cardboard耳机)来控制视口在“游戏世界”中相对移动的方式 .

现在我发现,只有当我的Leap Motion设备保持静止时(例如,固定在我的胸前)并且只有iPhone播放器随着我的头移动才能找到一切正常 . 否则,当我同时佩戴Leap Motion设备和iPhone时,手的模型随着我的头部移动而摇摆 .

我已经得出结论,Leap Motion设备捕获的手的位置被解释为相对于“世界协调系统”的位置,但实际上它应该是相对于我的耳机的本地一个(即产生的iPhone播放器相机)作为我的Windows主机中的游戏对象) .

我做了一个简化的场景来说明我的情况 . 网络未连接时的层次结构如下所示:

Windows End With Nothing Connected

Windows程序作为主机连接到自身时的层次结构:

Windows Host With Itself Connected

当iPhone End也连接时:

Windows Host With Both iPhone And Itself Connected

我试图命令“手”,以便它与“相机(克隆)/头”旋转,但它不起作用 . (在下图中,“RotateWith”和“CameraFacing”是不同的试验,让它与“相机(克隆)/头部”一起移动 . )

Inspector View Of "Hands"