我有一个 THREE.PlaneGeometry
, 与 ComputeFaceNormals()
.我使用这个几何体创建了两个网格,并对它们应用了不同的旋转。我想计算相机和两个网格中心面法线之间的两个角度。它应该是 :
vLocalCamera = vCamera.position - mesh1.position;
mesh1.normal() . vLocalCamera = cos(angle);
问题是我不知道如何使用three.js API 在世界坐标(从几何和网格旋转)中获取网格法线
最佳答案
如果要转换面或顶点法线,normal
,从局部空间到世界空间,你这样做:
var normalMatrix = new THREE.Matrix3(); // create once and reuse
var worldNormal = new THREE.Vector3(); // create once and reuse
...
normalMatrix.getNormalMatrix( object.matrixWorld );
worldNormal.copy( normal ).applyMatrix3( normalMatrix ).normalize();
三.js r.107
关于Three.js:将面法线从局部空间转换为世界空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16268482/