如果一个模型不在场景的中心点,这时候使用 rotateY旋转的话,这个对象会围绕场景的中心点进行旋转,会转一个大圈
那么怎么做才能让他在任何位置的时候,围绕自己的轴心进行旋转?下面的代码即可!
// 先获取geometey的中心点位置并留存
let center = new THREE.Vector3();
ditu.children[240].geometry.computeBoundingBox();
ditu.children[240].geometry.boundingBox.getCenter(center);
let x = center.x;
let y = center.y;
let z = center.z;
// 把对象放到座标原点
ditu.children[240].geometry.center();
// 绕轴旋转
ditu.children[240].geometry.rotateY(0.2);
// 再把对象放回原来的地方
ditu.children[240].geometry.translate(x, y, z);
// 这种方式是不会刷新显示的,需要执行一下render
//renderer.render(scene, camera);