Ответ 1
Вращение трижды использует Radians (как вы знаете)
вы можете использовать этот
mesh.rotation.x = Math.PI / 2;
или
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
У меня есть сетка, которую я хочу вращать на 90 градусов внутри Three JS.
Вот образ текущей ситуации:
Я хочу, чтобы выбранная сетка была повернута параллельно большой сетке. Я пробовал вращать матрицу следующим образом:
matrix = new THREE.Matrix4().makeRotationX(1.57)
Но сетка переходит в странные вращения. Есть ли более простой способ повернуть его на 90 градусов?
Вращение трижды использует Radians (как вы знаете)
вы можете использовать этот
mesh.rotation.x = Math.PI / 2;
или
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
Существует функция, которую я создал и использовал для вращения в моем проекте. Вы можете вращать объект, используя эту функцию.
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);
Скажем, meshToRotate
нужно поворачивать на 90 градусов по оси X. Затем выполните следующие действия.
var meshToRotate = new THREE.Mesh( geometry, material );
//Rotating mesh by 90 degree in X axis.
meshToRotate.rotateX( Math.PI / 2 );