我想旋转然后用THREE.PlaneGeometry创建的平面,但是我有一些问题。


FirstPersonCamera在相机前面的轴是什么?
我自己的测试显示X前后/ Y上下/ Z左/右,对吗?

为了使用这些平面制作一个立方体,我使用以下代码(仅用于显示X轴面的切割)。由于我不明白的原因,块和正交基之间的空间很小。似乎在平移后应用了旋转。我该如何解决?


function lol() {
    var mesh = new THREE.Mesh(xFacesGeometry, material);
    mesh.matrix.setRotationFromEuler(new THREE.Vector3(0, ath.PI / 2),  'XYZ');
    mesh.matrix.setPosition(new THREE.Vector3(x * 20 + 10, y * 20 + 10, z * 20 + 10));
    mesh.matrixAutoUpdate = false;
}
lol(0, 0, 0);
lol(1, 0, 0);


完整代码在这里(使用Ctrl +单击可向后移动):http://jsfiddle.net/u8ZHC/

最佳答案

尝试在转换位置之前更新矩阵:

mesh.matrix.setRotationFromEuler(new THREE.Vector3(0, Math.PI / 2),  'XYZ');
mesh.updateMatrix();
mesh.translate(...);

关于3d - 旋转,然后翻译成three.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7541412/

10-12 17:34