Three.js 使用 ColladaLoader 引入外部模型如何居中?

代码如下,使用ColladaLoader引入模型后不知道如何使用Geometry,或者如何得到模型的尺寸...

var loader = new THREE.ColladaLoader();var mesh;
loader.load("dae/LuckyStrike/luckystrike.dae", function (result) {
    mesh = result.scene.children[0].clone();    // 定位
    // mesh.position.set(-1.4,-1,-.5)
    scene.add(mesh);
});


肥皂起泡泡
浏览 1094回答 1
1回答

慕仙森

自问自答,找到方法啦!使用 newTHREE.Box3() 函数通过计算max - min可以获取中点。loader.load( daeUrl, function (result) {   mesh = result.scene  let scaleNum = 1   let box = new THREE.Box3().setFromObject(mesh);  // 定位     mesh.position.set((-box.max.x - box.min.x) * scaleNum * 20, (-box.max.y - box.min.y) * scaleNum * 20, (-box.max.z - box.min.z) * scaleNum * 20)  // 缩放   mesh.scale.set(scaleNum, scaleNum, scaleNum);   scene.add(mesh); })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript