1
我在three.js中创建一个立方体,如果我先旋转它然后translateX,立方体位置不是(10,0,0)three.js对象基于对象自身坐标系或世界坐标系转换和旋转
geometry = new THREE.BoxGeometry(3, 3, 3);
material = new THREE.MeshBasicMaterial({ color: 0xff0000});
mesh = new THREE.Mesh(geometry, material);
mesh.position.set(0, 0 , 0);
mesh.rotation.y = Math.PI/4;
mesh.translateX(10);
scene.add(mesh);
,但如果我平移X它首先然后旋转,位置为(10,0,0)。
所以我注意到基于自我坐标系的对象翻译。 当我第一次旋转时,对象的自身坐标系统已经失效。 但是,如果我先旋转它然后translateX,立方体的位置是(5.3,0,-5.3), ,现在旋转它,它看起来像不是基于自我坐标系的旋转。
所以我想知道的是对象翻译并根据自身的坐标系或世界坐标系旋转。
感谢@ Rabbid76,帮助了很多!所以物体的旋转和基于自身坐标系的平移? – chen
@chen如果连接了矩阵,那么转换总是基于以前的转换。这是一个增量过程 – Rabbid76
非常感谢你,明白了 – chen