有的時候模型的原點不是自身中心而是在場景的[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為操作杆
}
...
}
...
}
...
}