如果一個模型不在場景的中心點,這時候使用 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);