我正在使用LibGDX进行3D动画,我不确定在world space
坐标中翻译对象的预期方式是什么。
请考虑以下代码:
myInstance.transform.rotate( new Vector3(0.0f, 1.0f, 0.0f), 90 );
myInstance.transform.translate( 0.0f, 0.0f, 1.0f );
这将在model space
中沿Z轴平移对象的位置。由于物体旋转了90度,这意味着它将沿着world space
中的X轴移动。
我想在model space
翻译它,而不是翻译world space
中的对象。据我所知,LibGDX并没有直接的方法来实现这一目标。我找到的最佳解决方案是:
Vector3 position = myInstance.transform.getTranslation(new Vector3(0, 0, 0));
myInstance.transform.setTranslation( position.x + x, position.y + y, position.z + z);
此代码使用起来相当简单,但我认为此功能将内置于LibGDX中。有没有更好的方法来实现world space
翻译?