Three.js 对象旋转的法线更新

Three.js normals update on object rotation

我使用 3D 对象作为几个网格的容器。我正在使用正交相机。我像这样垂直旋转容器 90°:

        meshContainer.rotation.x = 0;
        meshContainer.rotation.y = - 90 * Math.PI / 180;
        meshContainer.rotation.z = 0;
        camera.updateProjectionMatrix();

我必须根据它们相对于相机的方向对容器内的网格进行操作。所以,我做了这个测试:

            var vector = new THREE.Vector3( 0, 0, -1 );
            vector.applyQuaternion(camera.quaternion);

            if (vector.dot(geom.faces[i].normal) < 0) { ... }           

goem 是容器内一个网格的几何形状。

我只想检查每张脸是否都是 'looking at' 相机。当我用鼠标控制旋转容器但不是像上面那样旋转时,它工作正常。当我查看网格几何体时,似乎在我进行容器旋转时面的法线没有更新。

我试过了:

        mesh[value].geometry.computeFaceNormals();
        mesh[value].geometry.computeVertexNormals();

在容器旋转后的每个网格上,但没有结果。

有人知道该怎么做吗?

必须更改相机位置但不更改网格容器,一切正常