2017-02-24 3 views
0

Ich machte ein Flugzeug und eine Kugel, einen Texturwürfel und einen einfachen Würfel und ein geladenes AMF darauf, wie kann ich die Ebene ziehen und schwenken und alle erwähnten Objekte zusammen ziehen, eigentlich habe ich eine Gruppe gemacht, und ich half von trackBallControl und OrbitControl . Hier sind Teile meines Codes, ich weiß nicht wirklich, was ich dafür tun soll. Ich kann separat ziehen, aber nicht als Gruppe.Wie man Gruppen in three.js ziehen lässt?

var grid = new THREE.GridHelper(50, 50, 0xffffff, 0x555555); 
     grid.rotateOnAxis(new THREE.Vector3(1, 0, 0), 90 * (Math.PI/180)); 
     scene.add(grid); 
var grids= [grid]; 
controls = new THREE.TrackballControls(camera); 
controls.rotateSpeed = 1.0; 
controls.zoomSpeed = 1.2; 
controls.panSpeed = 10; 
controls.noZoom = false; 
controls.noPan = false; 
controls.staticMoving = true; 
controls.dynamicDampingFactor = 0.3; 
var dragControls = new THREE.DragControls(grids, camera, renderer.domElement); 
dragControls.addEventListener('dragstart', function (event) { 
controls.enabled = false; 
     }); 

dragControls.addEventListener('dragend', function (event) { 
controls.enabled = true; 
     }); 

Antwort

0

Wenn ich dich richtig verstanden habe. Sie können das ganze Zeug (ein Flugzeug und Kugel, Textur Würfel und einfacher Würfel und eine geladene amf) als Kinder des grid hinzufügen (die THREE.GridHelper() ist):

var objects = []; 

var grid = new THREE.GridHelper(10, 10); 
scene.add(grid); 
objects.push(grid); // add to the array for DragControls 

var sphere = new THREE.Mesh(...); 
sphere.position.set(-1, 1, 0); 
grid.add(sphere); // as a child of the grid 

var cube = new THREE.Mesh(...); 
cube.position.set(1, 1, 0); 
grid.add(cube); // as a child of the grid 

var dragControls = new THREE.DragControls(objects, camera, renderer.domElement); 
dragControls.addEventListener('dragstart', function(event) { 
    controls.enabled = false; 
}); 
dragControls.addEventListener('dragend', function(event) { 
    controls.enabled = true; 
}); 

jsfiddle Beispiel. Bitte klären Sie, ob ich etwas aus Ihrer Frage verpasst habe.

+0

das ist es, vielen Dank. es hat mir geholfen, aber trotzdem wurde der amf loader nicht als chiled akzeptiert. @ Häftling849 – Zahra

Verwandte Themen