Как повернуть трехмерный объект на оси three.js?
У меня большая проблема с поворотом в 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 [[email protected]]
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
но это не работает, я не использую ли я это неправильно или есть другие способы ...
so, how to let the 3D cube rotate around the world's axis???