【发布时间】:2015-06-15 01:30:06
【问题描述】:
我正在尝试使用OBJMTLLoader 旋转加载到Object3D 中的网格。
var obj = new THREE.Object3D();
// loading and stuff
obj.rotation.y += 0.1; //inside the update function
这可以正常工作,但仅适用于 y 和 z 轴。使用相同的代码,但对于 x 轴产生与围绕 z 轴旋转相同的结果,但顺时针而不是逆时针。
很遗憾,我需要绕 x 轴旋转它。
var xAxis = new THREE.Vector3(1,0,0);
obj.rotateOnAxis( xAxis, 0.1 );
这确实围绕 x 轴旋转对象。
但是,我想对对象的旋转进行补间,因此我需要一种方法来显式更改对象旋转的角度,而不是将其旋转特定的量。
知道为什么obj.rotation.y 和obj.rotation.z 可以正常工作,而obj.rotation.x 不能正常工作吗?
【问题讨论】:
-
举一个活生生的例子,例如作为一个 jsfiddle 将有助于解决这个问题。到目前为止听起来很奇怪,但可能很简单。
-
@antont 谢谢,但我想通了。
-
感谢分享解决方案,现在很有意义,我很高兴了解到这种情况是如何发生的。
标签: javascript rotation three.js