在three.js中计算场景边界球时我做错了什么?

时间:2014-08-02 13:37:31

标签: javascript three.js bounding-box

我正在努力使场景适合观看。 我编写函数来计算场景边界球,然后改变相机距离以适应它......并且什么也看不见。我只是找不到我错在哪里。

  @getRadius = (model, distance)=>
    if typeof model.geometry != "undefined"
      model.updateMatrixWorld true
      model.matrixWorldNeedsUpdate = true
      model.geometry.computeBoundingSphere true
      sphere = model.geometry.boundingSphere
      distance = Math.max(model.position.distanceTo(new THREE.Vector3(0,0,0))+sphere.center.distanceTo(new THREE.Vector3(0,0,0))+sphere.radius, distance)
    for element in model.children
      distance = Math.max(@getRadius(element, distance), distance)
    return distance

  @fitToView = (model)=>
    radius = @getRadius @scene, 0, 0
    @camera.position.z = radius/Math.tan((22.5*Math.PI)/180)
    @camera.updateProjectionMatrix()

模型正确加载并显示......然后我尝试“将其放入视图”。 您可以在此处看到示例:http://dresser.websaints.net/wig/preview/5/ 帮我看看我做错了什么。

致以最诚挚的问候。安东。

P.S。是的,我肯定谷歌这个并使用stackoverflow搜索。并阅读所有这些主题。我知道该怎么做。问题是我无法找出它为什么不能正常工作。

0 个答案:

没有答案