【问题标题】:Three.js: wrong BoundingBox after scaling a geometryThree.js:缩放几何后错误的BoundingBox
【发布时间】:2013-08-27 23:35:13
【问题描述】:

在我的场景中,我有一个简单的立方体:

var test = new THREE.Mesh(new THREE.CubeGeometry(10,10,10), new THREE.MeshBasicMaterial());
scene.add(test);

这个立方体正在使用THREE.TransformControls 遍历/缩放用户。我需要的是这些交互之后立方体的边界框。所以我在做

test.geometry.computeBoundingBox();
var bb = test.geometry.boundingBox;
bb.translate(test.localToWorld( new THREE.Vector3()));

但我总是得到一个错误的边界框!平移计算正确,但比例不正确。边界框的宽度和高度始终为 10 ...

这是错误还是功能?如何获得立方体的正确边界框?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    您可以像这样计算对象(包括其子对象)的世界轴对齐边界框:

    var box = new THREE.Box3();
    box.setFromObject( object );
    

    查看源代码,了解它的作用。

    三个.js。 r.60

    【讨论】:

    • 我知道这个功能,但没想到它会解决我的问题——太棒了!我总是搜索一些功能来扩展我的 bbox...非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 2019-07-12
    • 2012-12-28
    相关资源
    最近更新 更多