Three.js: Wie wähle ich den Punkt der Objektdrehung aus?

Erstellt am 5. Aug. 2011  ·  5Kommentare  ·  Quelle: mrdoob/three.js

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

Question

Alle 5 Kommentare

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: 4: 11 "dieser Fehler

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.

War diese Seite hilfreich?
1 / 5 - 1 Bewertungen