Подтвердить что ты не робот

Как я могу повернуть сетку на 90 градусов в ThreeJS?

У меня есть сетка, которую я хочу вращать на 90 градусов внутри Three JS. Вот образ текущей ситуации: enter image description here

Я хочу, чтобы выбранная сетка была повернута параллельно большой сетке. Я пробовал вращать матрицу следующим образом:

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

Но сетка переходит в странные вращения. Есть ли более простой способ повернуть его на 90 градусов?

4b9b3361

Ответ 1

Вращение трижды использует Radians (как вы знаете)

вы можете использовать этот

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

или

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

Ответ 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);

Ответ 3

Скажем, meshToRotate нужно поворачивать на 90 градусов по оси X. Затем выполните следующие действия.

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

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