I have a mesh that I want to rotate by 90 degrees inside Three JS. Here is the image of the current situation:
I want the selected mesh to be rotated parallelly to the large mesh. I have tried rotating the matrix like this:
matrix = new THREE.Matrix4().makeRotationX(1.57)
But the mesh goes into strange rotations. Is there any easier way to rotate it by 90 degrees ?
Put a HingeConstraint in the Mesh and connect it to something Anchored. UnAnchor the Mesh. Set the HingeConstraint to Motor and the Torque and Rotational Velocity values. The Mesh should rotate around the axis (the side) the HingeConstraint was attached to.
Press R to rotate, press Y to snap to the Y-axis, and enter -90 on your keyboard to rotate an object -90 degrees on the Y-axis.
The threejs rotation uses Radians (as you might know)
you can use this
mesh.rotation.x = Math.PI / 2;
or
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
You can rotate an object by using this function:
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With