three.js中的环状网格-呈现三角形面时出现问题

时间:2018-12-05 08:45:23

标签: javascript three.js 3d opengl-es mesh

我一直在尝试创建在three.js中呈现的简单网格。我已经成功地基于文本输入来渲染点集,但是在尝试将点与三角形面连接以形成网格时遇到了一些问题。

沙箱:https://codesandbox.io/s/n600rw2yl

  1. 通过左上角的FileReader加载文件(在沙箱中,测试文件位于src文件夹-mesh2.txt中)

  2. 处理结果-解析加载的文件并创建节点对象

3。 Push Hones从节点创建THREE.Vector3并将其推送到几何。顶点,并将其渲染为点。

  • 到此为止,一切都应保持正常。

但是按下最后一个按钮-按下元素时,我触发了函数push_elements(),在这里我只想在geometry.vertices的节点(0,1,2)之间创建一个三角形THREE.Face3,但是我得到了一些在任意位置有多个面孔的奇怪结果。

有人可以帮助我,告诉我如何解决它吗?

push_elements()功能:

function push_elements() {

    var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );

    //create a new face using vertices 0, 1, 2
    var normal = new THREE.Vector3( 0, 1, 0 ); //optional
    var color = new THREE.Color( 0xffaa00 ); //optional
    var materialIndex = 0; //optional
    var face = new THREE.Face3( 2, 8, 9, normal, color, materialIndex );

    geometry.faces.push( face );

    var elmentsField = new THREE.Mesh( geometry, material )

    scene.add( elmentsField );

    console.log(geometry.faces)
}

0 个答案:

没有答案