threejs three studio que descargar javascript matrix 3d rotation three.js

javascript - que - threejs studio



¿Cómo puedo rotar una malla 90 grados en ThreeJS? (4)

Digamos que meshToRotate debe girarse 90 grados en el eje X. Entonces haz lo siguiente.

var meshToRotate = new THREE.Mesh( geometry, material ); //Rotating mesh by 90 degree in X axis. meshToRotate.rotateX( Math.PI / 2 );

Tengo una malla que quiero girar 90 grados dentro de Tres JS. Aquí está la imagen de la situación actual:

Quiero que la malla seleccionada se gire paralelamente a la malla grande. He intentado rotar la matriz así:

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

Pero la malla entra en extrañas rotaciones. ¿Hay alguna forma más fácil de girarlo 90 grados?


Hay una función que creé y usé para la rotación en mi proyecto. Puedes rotar el objeto usando esta función.

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);


La rotación de threejs usa radianes (como sabrás)

puedes usar esto

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

o

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


Probado en r96, también puedes usar

mesh.rotation.setFromVector3(new THREE.Vector3( Math.PI / 2, 0, 0));