我正在使用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;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句