将旋转和平移与three.js结合起来

ant*_*tho 2 javascript three.js

我正在使用Three.js(没有着色器,只有现有的对象方法)来实现动画,但我的问题很简单:我确定它是可能的,但你能告诉我(或帮助我)我该怎么办?在形状上组合几个动画?例如,旋转和平移球体.当我在做的时候:

three.sphere.rotation.y += 0.1;
three.sphere.translateZ += 1;
Run Code Online (Sandbox Code Playgroud)

球体旋转但平移矢量也在旋转,因此平移无效.我知道有点openGL,我已经使用过glPushMatrix和glPopMatrix函数,所以它们是否存在于这个框架中?干杯

leo*_*loy 6

每个three.js object3D都有一个position,rotation和scale; 旋转(总是相对于它的原点或"中心")定义它自己的局部轴坐标(比如,对象看到它自己的"前,上,右"方向),当你调用时translateZ,对象根据那些移动局部方向(不是沿着世界 - 或者父 - Z轴).如果你想要更晚,请three.sphere.position.z += 1改为做.