Typ*_*def 3 normals vertex three.js face
我有一个THREE.PlaneGeometry,有ComputeFaceNormals().我使用这个几何体创建了两个网格,并对它们应用了不同的旋转.我想计算相机和两个网格中心面法线之间的两个角度.它应该是 :
vLocalCamera = vCamera.position - mesh1.position;
mesh1.normal() . vLocalCamera = cos(angle);
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何使用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();
Run Code Online (Sandbox Code Playgroud)
three.js r.58