3d 旋转,然后在three.js中平移
我想旋转一个用3.PlaneGeometry创建的平面,但是我有一些问题3d 旋转,然后在three.js中平移,3d,three.js,3d,Three.js,我想旋转一个用3.PlaneGeometry创建的平面,但是我有一些问题 FirstPersonCamera相机前面的轴是多少? 我自己的测试显示X-前/后,Y-上/下,Z-左/右,我对吗? 为了使用这些平面生成立方体,我使用了以下代码(剪切仅用于显示X轴面)。出于我不理解的原因,在块和正交基之间有一个小的空间。似乎在平移后应用了旋转。我怎样才能修好它 此处的完整代码(使用ctrl+单击向后移动):在转换位置之前尝试更新矩阵: mesh.matrix.setRotationFromEuler(
我自己的测试显示X-前/后,Y-上/下,Z-左/右,我对吗?
此处的完整代码(使用ctrl+单击向后移动):在转换位置之前尝试更新矩阵:
mesh.matrix.setRotationFromEuler(new THREE.Vector3(0, Math.PI / 2), 'XYZ');
mesh.updateMatrix();
mesh.translate(...);
回答这个问题:指定必须应用平移/旋转的顺序的最佳方法是使用多个节点
var pitchNode = new THREE.Object3D( );
var yawNode = new THREE.Object3D( );
var rollNode = new THREE.Object3D( );
var positionNode = new THREE.Object3D( );
// here come the order
scene.add( pitchNode );
pitchNode.add( yawNode );
yawNode.add( rollNode );
rollNode.add( positionNode );
var pitchNode = new THREE.Object3D( );
var yawNode = new THREE.Object3D( );
var rollNode = new THREE.Object3D( );
var positionNode = new THREE.Object3D( );
// here come the order
scene.add( pitchNode );
pitchNode.add( yawNode );
yawNode.add( rollNode );
rollNode.add( positionNode );