Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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

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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
Javascript 如何在加载的模型中细分特定面?_Javascript_Three.js_Geometry_Divide - Fatal编程技术网

Javascript 如何在加载的模型中细分特定面?

Javascript 如何在加载的模型中细分特定面?,javascript,three.js,geometry,divide,Javascript,Three.js,Geometry,Divide,我使用这个javascript代码来细分一个特定的面 var face = mesh.geometry.faces[100]; var vector = new THREE.Vector3( (mesh.geometry.vertices[face.b].x + mesh.geometry.vertices[face.c].x) / 2, (mesh.geometry.vertices[face.b].y + mesh.geometry.vertices[face.c].y) / 2,

我使用这个javascript代码来细分一个特定的面

  var face = mesh.geometry.faces[100];
  var vector = new THREE.Vector3( (mesh.geometry.vertices[face.b].x + mesh.geometry.vertices[face.c].x) / 2, (mesh.geometry.vertices[face.b].y + mesh.geometry.vertices[face.c].y) / 2, (mesh.geometry.vertices[face.b].z + mesh.geometry.vertices[face.c].z) / 2);
  mesh.geometry.vertices.push(vector);
  var index = mesh.geometry.vertices.length - 1; // This method of getting the index is not thread safe!
  var temp = mesh.geometry.faces[100].b;

  aa = new THREE.Face3(mesh.geometry.faces[100].a, index ,mesh.geometry.faces[100].c, mesh.geometry.faces[100].normal, mesh.geometry.faces[100].color, mesh.geometry.faces[100].materialIndex);
 mesh.geometry.faces[100] = aa;

 mesh.geometry.faces.push( mesh.geometry.faces[100] );



 var ff = new THREE.Face3(temp, index, mesh.geometry.faces[100].c, mesh.geometry.faces[100].normal, mesh.geometry.faces[100].color, mesh.geometry.faces[100].materialIndex );

 ff.color.setRGB( 255,255,255);

  mesh.geometry.faces.push( ff );
  mesh.geometry.verticesNeedUpdate = true;
  mesh.geometry.facesNeedUpdate = true;
var wireframe = new THREE.WireframeHelper(mesh, 0x000000);

 scene.add( wireframe );

分裂的脸是空的。 问题是如何在不丢失分割的脸的第一部分的情况下分割特定的脸

多谢各位