首页 > 其他分享 >threeJs 修改TransformControls的显示位置

threeJs 修改TransformControls的显示位置

时间:2024-08-27 15:16:20浏览次数:13  
标签:... threeJs TransformControls handle center object 修改 updateMatrixWorld

有的时候模型的原点不是自身中心而是在场景的[0, 0, 0]位置

这个时候想要让TransformControls的位置显示在模型的中心

目前找的的处理方式是修改源码
找到updateMatrixWorld方法

updateMatrixWorld () {
  ...
  for ( let i = 0; i < handles.length; i ++ ) {
	...
	if ( this.mode === 'translate') {
	  ...
	  // 加入以下代码
	  if (this.object) { // object为TransformControls attach 的模型
		const { box, center } = new Box3().setFromObject(this.object)
		handle.position.copy(center) // handle为操作杆
	  }
	  ...
	}
	...
  }
  ...
}

标签:...,threeJs,TransformControls,handle,center,object,修改,updateMatrixWorld
From: https://www.cnblogs.com/jryBlogs/p/18382755

相关文章