ThreeJS之讓一個模型圍繞自己的軸心旋轉

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章