gpt4 book ai didi

json - 如何在 ThreeJS 中获取 3D 对象尺寸?

转载 作者:行者123 更新时间:2023-12-04 00:10:09 27 4
gpt4 key购买 nike

我正在使用 WebRTC(网络摄像头访问)、JSARToolKit(标记检测)和 threeJS(3D 库)开发 AR 应用程序。

我想将 3D 对象(使用 threejs maya 导出器从 Maya 导出)放置在检测到的标记的中心。

这是我使用 JSONLoader 加载 3D 对象的代码:

// load the model
var loader = new THREE.JSONLoader;
var object;
//var geometry = new THREE.BoxGeometry(1, 1, 1);
loader.load('js/cube.js', function(geometry, materials){
var material = new THREE.MeshFaceMaterial(materials);
object = new THREE.Mesh(geometry, material);

object.position.x -= ***3DobjectWidth/2***;
object.position.y -= ***3DobjectHeight/2***;
object.position.z -= ***3DobjectDepth/2***;

scene.add(object);
});

我需要获取对象的宽度、高度和深度来改变他的位置(参见 3DobjectWidth ecc)。

有什么建议吗?

最佳答案

对象大小将放置在 geometry.boundingBox 中。但是必须生成一次。

试试这个。

geometry.computeBoundingBox();
var bb = geometry.boundingBox;
var object3DWidth = bb.max.x - bb.min.x;
var object3DHeight = bb.max.y - bb.min.y;
var object3DDepth = bb.max.z - bb.min.z;

关于json - 如何在 ThreeJS 中获取 3D 对象尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215703/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com