我对three.js中的旋转有很大的疑问,我想在我的游戏之一中旋转3D立方体。
//init
geometry = new THREE.CubeGeometry grid, grid, grid
material = new THREE.MeshLambertMaterial {color:0xFFFFFF * Math.random(), shading:THREE.FlatShading, overdraw:true, transparent: true, opacity:0.8}
for i in [1...@shape.length]
othergeo = new THREE.Mesh new THREE.CubeGeometry(grid, grid, grid)
othergeo.position.x = grid * @shape[i][0]
othergeo.position.y = grid * @shape[i][1]
THREE.GeometryUtils.merge geometry, othergeo
@mesh = new THREE.Mesh geometry, material
//rotate
@mesh.rotation.y += y * Math.PI / 180
@mesh.rotation.x += x * Math.PI / 180
@mesh.rotation.z += z * Math.PI / 180
并且(x,y,z)可以是(1、0、0)
则多维数据集可以旋转,但是问题在于多维数据集绕其自身的轴旋转,因此旋转之后,它无法按预期旋转。
我找到页面如何围绕轴旋转Three.js Vector3?,但是它只是让Vector3点绕世界轴旋转?
而且我尝试使用matrixRotationWorld作为
@mesh.matrixRotationWorld.x += x * Math.PI / 180
@mesh.matrixRotationWorld.y += y * Math.PI / 180
@mesh.matrixRotationWorld.z += z * Math.PI / 180
但它不起作用,我不会以错误的方式或其他方式使用它。
因此,如何让3D立方体绕世界轴旋转???
慕姐8265434
牛魔王的故事
相关分类