2015-04-27 6 views
19

Ich habe ein Netz, das ich um 90 Grad in drei JS drehen möchte. Hier ist das Bild von der aktuellen Situation: enter image description hereWie kann ich ein Mesh in ThreeJS um 90 Grad drehen?

ich das ausgewählte Gitter parallel zur großen Maschen gedreht werden soll. Ich habe versucht, die Matrix wie diese Dreh:

matrix = new THREE.Matrix4().makeRotationX(1.57) 

Aber das Netz geht in fremde Drehungen. Gibt es einen einfacheren Weg, um es um 90 Grad zu drehen?

+2

object.rotation.y = THREE.Math.degToRad (90); – gaitat

Antwort

5

Nehmen wir an, meshToRotate muss um 90 Grad in X-Achse gedreht werden. Dann mach folgendes.

 var meshToRotate = new THREE.Mesh(geometry, material); 

     //Rotating mesh by 90 degree in X axis.  
     meshToRotate.rotateX(Math.PI/2); 
28

Die threejs Rotation verwendet Radiant (wie Sie vielleicht wissen)

können Sie diese verwenden

mesh.rotation.x = Math.PI/2; 

oder

mesh.rotation.set(new THREE.Vector3(0, 0, Math.PI/2)); 
+1

Hat super funktioniert. Vielen Dank! –

8

es eine Funktion ist i erstellt und verwendet für Rotation in meinem Projekt. Sie können Objekt mit dieser Funktion drehen.

function rotateObject(object,degreeX=0, degreeY=0, degreeZ=0){ 

    degreeX = (degreeX * Math.PI)/180; 
    degreeY = (degreeY * Math.PI)/180; 
    degreeZ = (degreeZ * Math.PI)/180; 

    object.rotateX(degreeX); 
    object.rotateY(degreeY); 
    object.rotateZ(degreeZ); 

} 


//such as rotating a plane ojbect 

rotateObject(myPlane, 40, 30 ,20); 
+5

NICHT gut 'THREE.Math.degToRad()' oder 'THREE.Math.radToDeg()' –

Verwandte Themen