Hallo!
Ich habe das Modell mit Blender gemacht. Wenn ich mesh.rotation.y verwende, dreht es sich, aber um den einen festen Punkt (Achse). Wenn ich das Objekt bewege (mesh.position.x), bewegt es sich, aber die Rotationsachse bleibt relativ zum Objekt an derselben Stelle.
Wie kann ich die Position der Rotationsachse auswählen?
//Entschuldigung für mein Englisch. Ich bin kein englischer Muttersprachler
Sie können dies auf diese Weise tun ... Angenommen, Sie möchten, dass die Achsenposition bei (-100, 0, 0) liegt:
var dummy = new THREE.Object3D();
var your_object = new THREE.Mesh( geometry, material );
your_object.position.x = 100;
dummy.addChild( your_object );
scene.addObject( dummy );
Vielen Dank! Das war sehr hilfreich
Wenn ich das versuche
var dummy = new THREE.Object3D();
var your_object = new THREE.Mesh( geometry, material );
your_object.position.x = 100;
dummy.addChild( your_object );
scene.addObject( dummy );
Es zeigt "Uncaught TypeError: dummy.addChild ist keine Funktion bei
addChild()
und addObject()
wurden vor langer Zeit in nur add()
.
@ merbin2012 Sie können stattdessen die Geometrie übersetzen: geometry.translate( x, y, z ).
Siehe diese Antwort zum Stapelüberlauf.