每个其他面/三角形都缺少Three.js文本网格

时间:2013-08-28 16:28:41

标签: three.js blender 3d-modelling meshlab

所以我执行了一个简单的操作,我生成了一个文本网格(单词TEST),将它的顶点,法线和面放入一个json对象,然后让我的服务器将它保存到STL。问题是它似乎缺少其他所有的脸/三角形。它在浏览器中正确呈现,但每当我将其导出到STL时它看起来像this。我不确定为什么。

我获取所有相关信息的代码很简单,所以我不明白为什么它似乎缺少一半的面/三角形

// Pass in textMesh.geometry
function getTextMesh(geometry)
{
    var mfaces = geometry.faces;
    var mvertices = geometry.vertices;

    var i;

    var faces=[],
        vertices=[],
        normals=[];

    for(i=0; i<mfaces.length; i++) {
        var face = mfaces[i];
        var normal = face.normal;

        faces.push([face.a, face.b, face.c]);
        normals.push([normal.x, normal.y, normal.z]);
    }

    for(i=0; i<mvertices.length; i++) {
        var vertex = mvertices[i];
        vertices.push([vertex.x, vertex.y, vertex.z]);
    }

    return {'faces':faces, 'vertices':vertices, 'normals':normals};
}

1 个答案:

答案 0 :(得分:1)

Bah,事实证明TextGeometry也使用Face4作为面孔。我以为它只使用了三角形(Face3)。通过调用

可以轻松解决这个问题
THREE.GeometryUtils.triangulateQuads(textGeo);

为文本

创建几何体后