我有一个触控板,我想用它来移动相机。我当前的代码通过将位置向量缩放1的camera.direction向量添加到位置向量来移动摄像头。似乎我不能使用任何少于一个的东西,因为当我这样做时,它开始旋转。我想要使用使用触控板移动PerspectiveCamera
touchpad.getKnobPercentX()
touchpad.getKnobPercentY()
方法根据旋钮的位置缩放它。问题在于它返回的值小于1。大于1的任何东西都会使相机速度过快。这是我用来更新我的相机的代码,因为我无法使用触控板旋钮。
private void setKnobAction() {
if (pad.getKnobPercentY() > 0f) {
camera.position.add(camera.direction.scl(1f));
camera.update();
}
if (pad.getKnobPercentY() < 0f) {
camera.position.sub(camera.direction.scl(1f));
camera.update();
}
if (pad.getKnobPercentX() > 0f) {
right = camera.direction.cpy().crs(Vector3.Y).nor();
camera.position.add(right.scl(1));
camera.update();
}
if (pad.getKnobPercentX() < 0f) {
right = camera.direction.cpy().crs(Vector3.Y).nor();
camera.position.sub(right.scl(1));
camera.update();
}
}
这个方法在我的render()方法中被调用,所以它会被调用多次。另外,如果knobPercent为0,它会开始奇怪地旋转。
我还需要使用我创建连新载体虽然它已经在复制方向矢量? – user1678551 2014-10-27 23:06:38
我猜测它应该可以工作,但'cpy()'创建一个新的'Vector3',最好存储1'Vector3'并更改它的值。 – Springrbua 2014-10-28 06:34:02
谢谢,我一直想弄明白这个问题。 – user1678551 2014-10-29 23:40:07