Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FaceNormalsHelper()不适用于我创建的网格-THREE.js_Three.js - Fatal编程技术网

FaceNormalsHelper()不适用于我创建的网格-THREE.js

FaceNormalsHelper()不适用于我创建的网格-THREE.js,three.js,Three.js,我用Three.js创建了一个网格。我想看到网格面的法线。这是我的密码: var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera( 100, window.innerWidth/window.innerHeight, 0.1, 1000 ); camera.position.set(5, 5, 10); var geo = new THREE.Geometry(); geo.vertices = [new

我用Three.js创建了一个网格。我想看到网格面的法线。这是我的密码:

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 100, window.innerWidth/window.innerHeight, 0.1, 1000 );
camera.position.set(5, 5, 10);

var geo = new THREE.Geometry();
geo.vertices = [new THREE.Vector3(10,5,0), new THREE.Vector3(5,7,0), new THREE.Vector3(2,1,0), new THREE.Vector3(8,9,0), new THREE.Vector3(9,10,0)];
geo.faces = [ new THREE.Face3(0,1,2), new THREE.Face3(1,0,3), new THREE.Face3(3,0,4)];
var mat = new THREE.MeshBasicMaterial({color:0xff0ff0,  side: THREE.DoubleSide, vertexColors: THREE.FaceColors});

var mesh = new THREE.Mesh( geo, mat);
scene.add(mesh);


var edge = new THREE.EdgesHelper( mesh, 0x00ff00 );
scene.add(edge);

var normal = new THREE.FaceNormalsHelper( mesh, 2, 0x90D9C1, 2 );
scene.add(normal);

var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
renderer.render(scene, camera);

边缘助手工作得很好。但是,FaceNormalsHelper()不起作用。我看不到这页上的任何一行。有什么问题吗?

因为要创建自定义网格,所以需要计算法线

创建几何图形后,请尝试添加以下内容:

geo.computeFaceNormals()


您可以看到只有一个面的基本示例。

因为您要创建自定义网格,所以需要计算法线

创建几何图形后,请尝试添加以下内容:

geo.computeFaceNormals()


你可以看到一个只有一张脸的基本示例。

我在答案中也添加了一个简单的示例。我在设置顶点之前编写了geo.computeFaceNormals。是的,我有点笨。谢谢。我在答案中也添加了一个简单的例子。我在设置顶点之前写了geo.computeFaceNormals。是的,我有点笨。谢谢