【问题标题】:libGDX 3D rotate ModelInstance to the second one with a coefficient of rotation speedlibGDX 3D 将 ModelInstance 旋转到具有旋转速度系数的第二个
【发布时间】:2014-11-18 16:54:33
【问题描述】:

我正在研究 3D 塔防,我需要一些有关旋转模型实例的帮助。 如何将 ModelInstance 旋转到具有旋转速度系数的第二个。

例如:向敌人旋转基地(或武器)

感谢您的帮助。

【问题讨论】:

    标签: java 3d frameworks libgdx


    【解决方案1】:

    实际上,您永远不应该将ModelInstance 旋转到另一个ModelInstance,但您应该将其旋转到游戏逻辑给定的角度。
    这意味着,您应该将逻辑和视图分开。
    在这种情况下,逻辑需要存储currentAngledesiredAngle,以及rotationSpeed
    desiredAngle 可以从TowerEnemypositions 中计算出来。
    然后在update(delta) 中你可以说:

    if (desiredAngle > currentAngle)
        currentAngle+=rotationSpeed*delta;
    

    负向旋转也是如此,并确保旋转保持在 0 到 360° 之间。

    然后您可以通过旋转Matrix4 transformModelInstance 旋转到给定的currentAngle,我猜rotate(float axisX, float axisY, float axisZ, float degrees) 应该是正确的。

    【讨论】:

    • 非常感谢您的帮助。 :)
    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2017-08-28
    • 2022-01-07
    相关资源
    最近更新 更多