【发布时间】:2020-11-28 08:32:34
【问题描述】:
我想得到导入模型的最外层尺寸,相当于一个立方体包裹模型,然后标记模型的长宽高。我怎样才能更好地做到这一点?
【问题讨论】:
标签: three.js
我想得到导入模型的最外层尺寸,相当于一个立方体包裹模型,然后标记模型的长宽高。我怎样才能更好地做到这一点?
【问题讨论】:
标签: three.js
要获得模型的大小,您首先需要获取边界框,然后测量大小。为此,您需要通过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.- 如果此答案解决了您的问题,请将其标记为 已接受答案,这样它也将帮助其他用户知道这是正确的解决方案
【讨论】: