三个JS:缩放以适合其无法正常工作

时间:2019-05-30 06:17:35

标签: three.js

在这里,我试图通过单击按钮来缩放以使对象适合场景的中心点,在那里我实现了一些错误。当我将对象平移或旋转到场景中的某个点并单击按钮时,该对象已完美移动到场景的中心点,但它旋转得有点奇怪。说,我已经将对象移动到场景的另一个位置,然后将对象旋转到场景的另一个位置(移动的位置),然后单击按钮,对象到达中心点(当前位置),但是旋转到某个位置时并没有处于正确的状态不同的阶段。 此处是小提琴链接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)
})

0 个答案:

没有答案