我尝试渲染数千个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)));