Tengo una malla que quiero rotar 90 grados dentro de Three 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 de esta manera:
matrix = new THREE.Matrix4().makeRotationX(1.57)Pero la malla entra en extrañas rotaciones. ¿Hay alguna manera más fácil de rotarlo 90 grados?
La rotación 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));Puede rotar un objeto usando esta función:
function rotateObject(object, degreeX=0, degreeY=0, degreeZ=0) { object.rotateX(THREE.Math.degToRad(degreeX)); object.rotateY(THREE.Math.degToRad(degreeY)); object.rotateZ(THREE.Math.degToRad(degreeZ)); } // usage: rotateObject(myPlane, 40, 30, 20);Digamos que meshToRotate debe girarse 90 grados en el eje X. Luego haz lo siguiente.
var meshToRotate = new THREE.Mesh( geometry, material ); //Rotating mesh by 90 degree in X axis. meshToRotate.rotateX( Math.PI / 2 );