2016-04-24 2 views
0

Ich habe den größten Teil des Tages damit verbracht, ein Mesh auf der Y-Achse zu drehen, um eine bestimmte Mesh-Position zu erreichen.DREI Js Drehen Sie das Mesh auf der Y-Achse, um eine bestimmte Vektorposition anzuzeigen

Einige Methoden gefunden, aber keine half mir.

Das ist was ich habe.

var vector = new THREE.Vector3(0,0,5); 
    var axis = new THREE.Vector3(0, 1, 0); 
    turret.quaternion.setFromUnitVectors(axis, vector.clone().normalize()); 

Also ich bin nicht sicher, ob ich understeand warum wird nicht der Revolver drehen, um die spezifischen vector Position zu stellen. Ich habe das auch mit Euler-Rotation versucht, indem ich vec1.angleTo(vec2) benutzte und den Revolver in die angegebene Richtung drehte, aber mit Erfolg.

Ich wäre wirklich froh, wenn jemand erklären kann, wie dies funktionieren sollte und was ist die Logik dahinter, wenn ich falsch

Antwort

0

Dies ist der THREE.Vector3 Konstruktor (Docs):

Vector3(x, y, z) 

x -- Float the vector's x value 
y -- Float the vector's y value 
z -- Float the vector's z value 

Sie drehen möchten ein auf der Y-Achse Netz, aber Sie sind auf der Z-Achse tatsächlich drehen, so statt:

var vector = new THREE.Vector3(0, 0, 5); 

Versuch:

var vector = new THREE.Vector3(0, 5, 0); 
+0

Versucht, auch ohne Ergebnis :( –

+0

Seltsam, das funktioniert für mich. Erhalten Sie irgendwelche Fehler? – leota

+0

Keine Fehler ... scheint nur wie das Netz dreht überhaupt nicht auf seiner Y-Achse –

Verwandte Themen