【问题标题】:Three.js - How do I use the BoxHelper on an Object3D with children?Three.js - 如何在带有孩子的 Object3D 上使用 BoxHelper?
【发布时间】:2017-05-09 21:07:12
【问题描述】:

我想使用 THREE.BoxHelper 为具有子对象的 Object3D 创建边界框。这样做的动机是我可以为对象渲染一个线框边界框,而框面上没有对角线。查看 BoxHelper 的源代码,它似乎没有考虑对象的子对象,这对我的应用程序来说是个问题,因为每个对象都有子对象。

有没有办法让 BoxHelper 包含对象的子对象?或者,有没有一种使用 BoundingBoxHelper(包括子项)的好方法,并且没有对角线进行渲染?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    如果你想为一个有孩子的对象创建一个THREE.BoxHelper,你可以使用这个模式:

    // box helper   
    boxHelper = new THREE.BoxHelper( parent );
    boxHelper.material.color.set( 0xffffff );
    scene.add( boxHelper );
    

    在您的渲染循环中,您可能必须这样做:

    boxHelper.update();
    

    three.js r.85

    【讨论】:

    • 谢谢!像魅力一样工作。
    • 在这种情况下,如果您旋转网格,则边界框不会随之旋转。
    • @Tarun BoxHelper 是和 AABB(轴对齐边界框),所以它的边保持平行于轴。
    • @WestLangley 你能回答这个stackoverflow.com/questions/43915580/…
    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2016-02-18
    • 2023-03-26
    • 2014-03-27
    • 2013-03-10
    相关资源
    最近更新 更多