2015-08-03 3 views
0

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

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

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

ответ

0

Ваш вопрос довольно неясно для меня, но необходимо учитывать следующее:

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})); 
+0

Спасибо за ответ и прошу прощения, если я не ясно, что я имел в виду в основном заключалась в следующем: создать объект установить опорную точку на этом объекте (пример изменить поворот в нижний правый угол), клонировать существующий смещение объекта влево или вправо, привязать к точке создания последнего созданного объекта. Таким образом, в основном мы можем привязать повторяющиеся объекты бок о бок через точку опоры последних уважаемых объектов. – nufftalon

+0

Я буду экспериментировать с кодом, который вы предоставили, я считаю, что предоставленный вами код делает следующее: если индекс меньше 10 добавить 1, в цикле for он создает клонированную TetrahedronGeometry, сделайте перевод Matrix менее 5 в x оси и объединяет геометрию. Таким образом, эта общая сетка будет служить родителем для 9 детей? Это что-то вроде этого? – nufftalon

+0

Да. Существует не понятие «точка опоры» здесь, как есть, скажем, в Maya или Blender. Но первый пример, чтобы использовать язык таких программ, создает группу с десятью меньшими сетками, а второй пример делает один крупный объект объединенным из десяти меньших. – bjorke

Смежные вопросы