【发布时间】:2020-08-25 13:20:03
【问题描述】:
我正在尝试根据俯仰和滚动值旋转导入为 .obj 文件的对象。
我实际上是用这段代码实现的
object.rotateX(ConvertToRadians(pitch));
object.rotate(ConvertToRadians(roll), 0, 0, 1); // This line is basically the same thing with rotateZ function. I used it because rotateZ gives a weird error.
但是,当新的俯仰和横滚值通过套接字连接到达时,我会使用这些代码行。它增加了先前的旋转。举个例子,当对象绕 X 轴旋转 30 度时,我尝试让它旋转 10 度。它将它旋转到 40 度。
我尝试保存之前的旋转并在使用这条线进行新旋转之前撤消它
pieta.rotateX(ConvertToRadians(pitch-prevpitch));
它似乎部分工作,但一段时间后原始位置(pitch = 0 和 roll = 0 不再平坦。它倾斜到某个角度。我不知道原因)。我认为将对象的位置重置为原始位置会起作用。
我怎样才能实现我的目标?
如果你想重新创建它,这是我的完整代码 Project File
【问题讨论】:
标签: java opengl 3d processing