我有一个网格,我想在Three JS中旋转90度。 这是当前形势的图像:
我希望选定的网格与大网格平行旋转。 我试过像这样旋转矩阵:
{{1}}
但网格进入奇怪的旋转。是否有更简单的方法将其旋转90度?
答案 0 :(得分:43)
threejs轮换使用Radians(你可能知道)
你可以用这个
mesh.rotation.x = Math.PI / 2;
或
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
答案 1 :(得分:13)
您可以使用此功能旋转对象:
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);
答案 2 :(得分:7)
假设meshToRotate
需要在X轴上旋转90度。然后执行以下操作。
var meshToRotate = new THREE.Mesh( geometry, material );
//Rotating mesh by 90 degree in X axis.
meshToRotate.rotateX( Math.PI / 2 );
答案 3 :(得分:1)
在r96上经过测试,您也可以使用
let sheetsArray = []
function sheetsAsJsonById(ids) {
for (let i = 0; i < ids.length; i++) {
const queryUrl = `sheets.html`
await new Promise((resolve, reject) => {
https
.get(queryUrl, res => {
let stream = []
res
.on('data', function(data) {
stream.push(data)
})
.on('end', function() {
let data = Buffer.concat(stream)
data = JSON.parse(data)
sheetsArray.push(data['values'])
resolve();
})
})
.on('error', err => {
reject(err);
})
})
}
formatJsonToLocale(sheetsArray)
}
答案 4 :(得分:0)
将您的角度转换为弧度值:
let radian = 2 * Math.PI * (p_angle / 360); //p_angle = your angle, example; 90 or 12, whatever angle