Откажитесь от мыши, чтобы получить 3D-координаты мира Libgdx

Мой вопрос: Как заставить 3D-модель перемещаться с помощью курсора мыши, сохраняя положение модели на 0. (Используя Libgdx)

Что я пробовал: Я пытаюсь заставить мои 3D-модели следовать моему курсору.

На данный момент я просто заставил модели двигаться с помощью координат x и y моей мыши с добавлением таких факторов, как множитель и местоположение камеры. Это не очень хорошо, потому что он не следует за курсором, и если я поверну камеру, то модель не будет двигаться в правильном направлении.

Это код, который я создал для перемещения модели:

instances.get(modelIndex).transform.setToTranslation(((Gdx.input.getX()-650)/10) + cam.position.x,0,((Gdx.input.getY()-400)/10)+ cam.position.z);

Вот ссылка на изображение проблемы (зеленый кружок - там, где находится мышь).

Я знаю, что я ошибаюсь и должен использовать непроектированный метод. Я пытался использовать метод unproject и имел небольшой успех, модель просто прилипла к ближней панели камеры. Я хочу, чтобы мой объект оставался на 0 по осям y, поэтому я использовал это:

cam.unproject(mousePos);
instances.get(modelIndex).transform.setToTranslation(mousePos.x, 0, mousePos.z);

Это привело к тому, что модель двигалась довольно медленно (не с помощью мыши) в правильном направлении. Также, когда я поворачивал или перемещал камеру, модель находилась где-то на расстоянии или даже позади камеры.

Ответы на вопрос(1)

Ваш ответ на вопрос