Zaa*_*aay 36 javascript 3d rotation matrix three.js
我有一个网格,我想在三个JS内旋转90度.这是当前形势的图像:

我希望选定的网格平行旋转到大网格.我试过像这样旋转矩阵:
matrix = new THREE.Matrix4().makeRotationX(1.57)
Run Code Online (Sandbox Code Playgroud)
但网格进入奇怪的旋转.是否有更简单的方法将其旋转90度?
Abs*_*lit 45
threejs旋转使用Radians(你可能知道)
你可以用它
mesh.rotation.x = Math.PI / 2;
Run Code Online (Sandbox Code Playgroud)
要么
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
Run Code Online (Sandbox Code Playgroud)
Har*_*GUL 17
您可以使用此功能旋转对象:
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);
Run Code Online (Sandbox Code Playgroud)
小智 7
假设meshToRotate需要在X轴上旋转90度.然后执行以下操作.
var meshToRotate = new THREE.Mesh( geometry, material );
//Rotating mesh by 90 degree in X axis.
meshToRotate.rotateX( Math.PI / 2 );
Run Code Online (Sandbox Code Playgroud)
在r96上测试过,也可以使用
mesh.rotation.setFromVector3(new THREE.Vector3( Math.PI / 2, 0, 0));
Run Code Online (Sandbox Code Playgroud)
小智 5
对于X轴,您可以使用rotateX()方法
\nmesh.rotateX(Math.PI / 180 * 90)\nRun Code Online (Sandbox Code Playgroud)\n例如: 是 1\xc2\xba 度步长
\nMath.PI / 180 = 0.17453292519943295\nRun Code Online (Sandbox Code Playgroud)\n结果 90\xc2\xba 是
\n0.17453292519943295 * 90 = 1.5707963267948966\nRun Code Online (Sandbox Code Playgroud)\nhttps://en.wikipedia.org/wiki/Euler_angles
\nrotateX()\nrotateY()\nrotateZ()\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
65033 次 |
| 最近记录: |