Любой рабочий процесс модульной сетки для three.js? Пример повторяющихся объектов

Я пытаюсь выяснить, как я могу иметь меш, который повторяет и дублирует его или клонирует его так, чтобы он привязывался к соответствующему. Я считаю, что может быть две части кода.

  1. Один, чтобы установить центр объекта
  2. Привязка к последнему объекту разворачивается, может быть, это дочерний объект в этой точке?

Любая помощь будет принята с благодарностью.

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}));
Другие вопросы по тегам