如何在处理过程中根据偏航,俯仰和横滚值旋转对象

问题描述

我正在尝试根据俯仰和横滚值旋转作为.obj文件导入的对象。

我实际上是用这段代码实现的

object.rotateX(ConvertToRadians(pitch));

object.rotate(ConvertToRadians(roll),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));

它似乎部分起作用,但是在一段时间后仍保持原始位置(俯仰= 0和横滚= 0不再平坦。它倾斜到某个角度。我不知道原因)。我认为将对象的位置重置为原始位置会起作用。

我如何实现目标?

如果要重新创建,这是我的完整代码 Project File

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)