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);

 

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