i need have more ~400 text objects on scene. each text object 1 sentence of decimal number 2 digit. echa text reading json file. each text object have position (x,y,z) in scene.
using basic scene i'm having, takes lot of times load each text.
the code here:
function settext(text, textcolor, textsize, positionx, positiony, positionz) { var textgeo = new three.textgeometry(text, { height: 0, curvesegments: 4, font: "helvetiker", //font: "optimer", weight: "normal", style: "normal", size: textsize, // //bevelthickness: bevelthickness, //bevelsize: bevelsize, //bevelenabled: bevelenabled, material: 0, extrudematerial: 1 }); textgeo.computeboundingbox(); textgeo.computevertexnormals(); var textmaterial = new three.meshbasicmaterial({ shading: three.flatshading, transparent: true, depthwrite: false, transparent: true, needsupdate: true, color: textcolor, side:three.doubleside }); var text = new three.mesh(textgeo, textmaterial); text.position.x = positionx; text.position.y = positiony; text.position.z = positionz; return text; }
examples of texts:
"model", "metamodel", "syntax", "sentence" ...
examples of numbers:
7.32, 7.81, 8.30, 8.78,
could please me? thanks!
edit: new code here :
function createtextgeo(textsize, text) { var tgeo = new three.textgeometry(text, { height: 0, curvesegments: 4, font: "helvetiker", weight: "normal", style: "normal", size: textsize, material: 0, extrudematerial: 1 }); tgeo.computeboundingbox(); tgeo.computevertexnormals(); return tgeo; } function creategeomaterial(textcolor) { var tmat = new three.meshbasicmaterial({ color: textcolor, }); return tmat; } function settext(text, textcolor, tmat, tgeo, x, y, z) { tmat.color = textcolor; tgeo.text = text; var text = new three.mesh(tgeo, tmat); text.position.set( x, y, z ); return text; } function createtexts(value) { var text; var mesh; var x = 5; var y = 8; var z = 10; var keycolor = new three.color('#0b0b61'); var tmat = creategeomaterial(keycolor); var tgeo = createtextgeo(5, ""); (var = 0; < value; i++) { mesh = settext(i, keycolor, tmat, tgeo, x * i, y * i, z * i); scene.add(mesh); } }