public void changeAx(double value) {
translateAx.set(new Vector3f(0f, -0.325f, 0f));
trans.setTransform(translateAx);
rotation1.rotY(value);
rotation.mul(rotation1);
rot.setTransform(rotation);
translateAx.set(new Vector3f(-0.2f, -0.325f, 0f);
trans.setTransform(translateAx);
}
这是无效的方法。我想在X轴上旋转对象。我将对象X轴位置转换回原点。然后我执行旋转,然后将对象转换回它应该处于的位置。但是,对象旋转就像没有进行第一次转换一样。这意味着它不会像坐在原点上那样旋转,但就好像距离它一样-0.2f,因此整个物体以-0.2f半径移动,但我希望它保持相同的平移当它旋转。我想知道在乱码旋转的代码中我做错了什么。
对于记录,如果我取出第二个(重新翻译),对象将移动到X原点并正确旋转,但我想将其移回到之后的位置,这会弄乱旋转起来。
答案 0 :(得分:0)
尝试更改第一行以将对象的X轴位置转换为原点:
translateAx.set(new Vector3f(0.2f, -0.325f, 0f));
八月