В текстовой сетке Three.js отсутствуют все остальные грани/треугольники

Итак, я выполнил простую операцию, в которой я создал текстовую сетку (из слова TEST), поместил ее вершины, нормали и грани в объект json, а затем мой сервер сохранил ее в STL. Проблема в том, что, похоже, отсутствуют все остальные грани/треугольники. Он правильно отображается в браузере, но выглядит как это всякий раз, когда я экспортирую его в STL. Я не уверен, почему.

Мой код для получения всей необходимой информации прост, поэтому я не понимаю, почему в нем отсутствует половина граней/треугольников.

// 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};
}

person Jared Joke    schedule 28.08.2013    source источник


Ответы (1)


Ба, оказывается, проблема заключалась в том, что TextGeometry также использовала Face4 для лиц. Я предполагал, что он использует только треугольники (Face3). Это было легко решено, позвонив

THREE.GeometryUtils.triangulateQuads(textGeo);

после создания геометрии для текста

person Jared Joke    schedule 28.08.2013