В настоящее время работаю с Three.js.
Что у меня есть:
Как показано на рисунке и коде ниже, у меня есть цикл for, который создает конкретный объект в произвольном положении в сцене.
Рисунок: Код:
//Create Objects
var geometry = new THREE.CylinderBufferGeometry( 0, 10, 30, 4, 1 );
var material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
for(var i=0; i<100; i++) {
var mesh = new THREE.Mesh( geometry, material );
mesh.position.x = getRandomInt(-500,500);
mesh.position.y = getRandomInt(10, 100);
mesh.position.z = getRandomInt(-500,500);
mesh.updateMatrix();
mesh.matrixAutoUpdate = false;
scene_Main.add( mesh );
}
Мой вопрос:
Как создавать случайные объекты из разных материалов и геометриив цикле for?
Могу ли я использовать идею создания массива, содержащего конкретную геометрию / материал, и если да, то как его сохранить в массиве и как его использовать?
массивидея:
var geometryList = [cube, pyramid, sphere, donut, ...];
var materialList = [ .. what posibilities I have here? .. ];
for(var i=0; i<100; i++) {
var mesh = new THREE.Mesh( geometryList[random[n]], materialList[random[n]] );
....
}