Любой рабочий процесс модульной сетки для three.js? Пример повторяющихся объектов
Я пытаюсь выяснить, как я могу иметь меш, который повторяет и дублирует его или клонирует его так, чтобы он привязывался к соответствующему. Я считаю, что может быть две части кода.
- Один, чтобы установить центр объекта
- Привязка к последнему объекту разворачивается, может быть, это дочерний объект в этой точке?
Любая помощь будет принята с благодарностью.
1 ответ
Ваш вопрос довольно неясен для меня, но учтите следующее:
var overall = new THREE.Object3D();
for (var i=0; i<10; i+=1) {
var tet = new THREE.Mesh(new THREE.TetrahedronGeometry(),
new THREE.MeshLambertMaterial({color:0x909090}));
tet.position.set(i-5,0,0);
overall.add(tet);
}
теперь overall
Объект состоит из десяти независимых тетраэдров.
В качестве альтернативы вы можете использовать только одну сетку, поэтому:
var tetGeo = new THREE.TetrahedronGeometry();
var compGeo = new THREE.Geometry();
var mv = new THREE.Matrix4();
for (var i=0; i<10; i+=1) {
var nt = tetGeo.clone();
mv.makeTranslation(i-5,0,0);
nt.appplyMatrix(mv);
compGeo.merge(nt);
}
var overallMesh = new THREE.Mesh(compGeo,
new THREE.MeshLambertMaterial({color:0x909090}));