在这里,我试图通过单击按钮来缩放以使对象适合场景的中心点,在那里我实现了一些错误。当我将对象平移或旋转到场景中的某个点并单击按钮时,该对象已完美移动到场景的中心点,但它旋转得有点奇怪。说,我已经将对象移动到场景的另一个位置,然后将对象旋转到场景的另一个位置(移动的位置),然后单击按钮,对象到达中心点(当前位置),但是旋转到某个位置时并没有处于正确的状态不同的阶段。 此处是小提琴链接https://jsfiddle.net/zmw82yLs/
document.querySelector('button').addEventListener('click', () => {
const boundingBox = new THREE.Box3()
boundingBox.setFromObject(cube)
const center = new THREE.Vector3()
boundingBox.getCenter(center)
camera.position.y = center.y
camera.position.x = center.x
camera.updateProjectionMatrix()
const size = new THREE.Vector3()
boundingBox.getSize(size)
const fov = camera.fov * (Math.PI / 180)
const maxDim = Math.max(size.x, size.y, size.z)
let cameraZ = Math.abs((maxDim / 4) * Math.tan(fov * 2))
camera.position.z = cameraZ
camera.updateProjectionMatrix()
camera.lookAt(center)
})