我不明白如何在threejs中计算法线.
这是我的问题:
我创造了一个简单的飞机
var plane = new THREE.PlaneGeometry(10, 100, 10, 10);
var material = new THREE.MeshBasicMaterial();
material.setValues({side: THREE.DoubleSide, color: 0xaabbcc});
var mesh = new THREE.Mesh(plane, material);
mesh.rotateY(Math.PI / 2);
scene.add(mesh);
Run Code Online (Sandbox Code Playgroud)
当我读到这个平面的法线时,我得到(0,0,1).但是平面与z轴平行,因此值是错误的.
我尝试添加
mesh.geometry.computeFaceNormals();
mesh.geometry.computeVertexNormals();
Run Code Online (Sandbox Code Playgroud)
但我仍然得到相同的结果.
我错过了什么吗?
如何从threejs获得正常值的正确值?
谢谢.