【问题标题】:How does threejs get the outermost size of the modelThreejs如何获取模型的最外层尺寸
【发布时间】:2020-11-28 08:32:34
【问题描述】:

我想得到导入模型的最外层尺寸,相当于一个立方体包裹模型,然后标记模型的长宽高。我怎样才能更好地做到这一点?

【问题讨论】:

标签: three.js


【解决方案1】:

要获得模型的大小,您首先需要获取边界框,然后测量大小。为此,您需要通过Box3.setFromObject(model) 使用模型创建Box3,然后使用Box3.getSize(new THREE.Vector3())

我在fiddle on how to load a model and get the size 中为您创建了一个示例。为了清楚起见,我还添加了一个助手。

相关代码如下:

var loader = new THREE.GLTFLoader();
loader.load(
'https://docs.mapbox.com/mapbox-gl-js/assets/34M_17/34M_17.gltf',
    function(gltf) {
        model = gltf.scene;
        this.scene.add(model);
        let bbox = new THREE.Box3().setFromObject(model);
        let helper = new THREE.Box3Helper(bbox, new THREE.Color(0, 255, 0));
        let size = bbox.getSize(new THREE.Vector3()); // HEREyou get the size
        scene.add(helper);
    }
);

PS.- 如果此答案解决了您的问题,请将其标记为 已接受答案,这样它也将帮助其他用户知道这是正确的解决方案

【讨论】:

  • 非常感谢。这真的有效。我会好好利用这个方法,努力改进我的项目
猜你喜欢
  • 2016-09-09
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
相关资源
最近更新 更多