我的问题:如何使用鼠标光标移动 3D 模型,使模型的 y 位置保持在 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 方法。我曾尝试使用 unproject 方法,但收效甚微,模型只是粘在相机的近面板上。我希望我的对象在 y 轴上保持在 0,所以我使用了这个:
cam.unproject(mousePos);
instances.get(modelIndex).transform.setToTranslation(mousePos.x, 0, mousePos.z);
然后,这导致模型在正确的方向上非常缓慢地移动(而不是使用鼠标)。此外,当我旋转或移动相机时,模型会被设置在远处甚至相机后面的某个地方。