FaceNormalsHelper()不适用于我创建的网格-THREE.js
我用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
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。是的,我有点笨。谢谢