Я исправляю устаревший проект два года назад. Он использует хост Windows Unity для использования устройства Leap Motion, фиксирующего движения рук, и iPhone Player (с гарнитурой из картона) для управления тем, как порты просмотра перемещаются относительно в «игровом мире».
Теперь я обнаружил, что только когда мое устройство Leap Motion остается неподвижным (например, прижато к моей груди) и только iPhone-плеер движется с моей головой, я могу найти все в порядке. В противном случае, когда я ношу на голове как устройство Leap Motion, так и iPhone, модель руки качается вместе с движением моей головы.
Я пришел к выводу, что зафиксированное положение рук устройством Leap Motion было истолковано как положение относительно «мировой системы координации», но на самом деле оно должно быть локальным относительно моей гарнитуры (то есть камеры плеера iPhone). который появляется как игровой объект в моем хосте Windows).
Я сделал упрощенную сцену, чтобы проиллюстрировать мою ситуацию. Иерархия, когда сеть не подключена, выглядит следующим образом:
Иерархия, когда программа Windows подключена к себе в качестве хоста:
Когда iPhone End также подключен:
Я пытаюсь дать команду «Руки», чтобы она вращалась с «Камера (клон) / Голова», но она не работает. (На следующем рисунке «RotateWith» и «CameraFacing» - это разные испытания, позволяющие ему двигаться с «Camera (Clone) / Head».)