【发布时间】:2014-11-18 16:54:33
【问题描述】:
我正在研究 3D 塔防,我需要一些有关旋转模型实例的帮助。 如何将 ModelInstance 旋转到具有旋转速度系数的第二个。
例如:向敌人旋转基地(或武器)
感谢您的帮助。
【问题讨论】:
标签: java 3d frameworks libgdx
我正在研究 3D 塔防,我需要一些有关旋转模型实例的帮助。 如何将 ModelInstance 旋转到具有旋转速度系数的第二个。
例如:向敌人旋转基地(或武器)
感谢您的帮助。
【问题讨论】:
标签: java 3d frameworks libgdx
实际上,您永远不应该将ModelInstance 旋转到另一个ModelInstance,但您应该将其旋转到游戏逻辑给定的角度。
这意味着,您应该将逻辑和视图分开。
在这种情况下,逻辑需要存储currentAngle 和desiredAngle,以及rotationSpeed。desiredAngle 可以从Tower 和Enemy 的positions 中计算出来。
然后在update(delta) 中你可以说:
if (desiredAngle > currentAngle)
currentAngle+=rotationSpeed*delta;
负向旋转也是如此,并确保旋转保持在 0 到 360° 之间。
然后您可以通过旋转Matrix4 transform 将ModelInstance 旋转到给定的currentAngle,我猜rotate(float axisX, float axisY, float axisZ, float degrees) 应该是正确的。
【讨论】: