threeJs 修改TransformControls的显示位置

有的时候模型的原点不是自身中心而是在场景的[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为操作杆
	  }
	  ...
	}
	...
  }
  ...
}
posted @ 2024-08-27 15:13  总是被使用  阅读(65)  评论(0编辑  收藏  举报