为什么使用three.js合并多个几何图形会导致Chrome崩溃?

时间:2015-09-02 11:23:25

标签: javascript three.js

我尝试渲染数千个3D浮动随机句子,因此我创建了大约100个几何图形并使用它们创建了一个包含数千个网格的网格。它适用于几句话,但当数量增加时,Chrome会崩溃。任何帮助将不胜感激:

    var totalGeom = new THREE.Geometry();
    var geometrics = [];
    var materials = [];
    var totalGeometrics = 100;

    // Creating 100 Geometries 
    for(var i = 0; i < totalGeometrics; i++) {
        var material = new THREE.MeshPhongMaterial( { color: '#'+Math.floor(Math.random()*16777215).toString(16), specular: 0xffffff, shininess: 50 } );
        materials.push(material);

        var geometry = new THREE.TextGeometry( getRandomSentence(), {
            size: 18,
            height: 2,
            curveSegments: 0,
            font: "helvetiker",
            weight: "normal",
            style: "normal",
            bevelThickness: 0   ,
            bevelSize: 0,
            bevelEnabled: false
        });

        var mesh = new THREE.Mesh( geometry, material );
        geometrics.push(mesh)
    }

    // Merging 1,000 Geometries
    for(var j = 0; j < 10; j++) {

        for(var g = 0; g < totalGeometrics ; g++) {

            var clonedMesh = geometrics[g].clone();
            clonedMesh.position.set(Math.random() * 2000 - 1000,Math.random() * 2000 - 1000,Math.random() * 2000 - 1000);


            clonedMesh.matrixAutoUpdate = false;
            clonedMesh.updateMatrix();

            totalGeom.merge(clonedMesh.geometry, clonedMesh.matrix, g);



        }
    }

    scene.add(new THREE.Mesh(totalGeom, new THREE.MeshFaceMaterial(materials)));

0 个答案:

没有答案