Actualmente estoy trabajando con muchos modelos 3D y encuentro que muchos de los modelos están centrados fuera del centro del modelo. ¿Hay alguna manera de obtener la longitud (x), el ancho (z), la altura (y) del modelo y dividirlo por dos para calcular la posición de confianza del modelo?
let loaderDae = new ColladaLoader(); loaderDae.load(`model.dae`, (dae: any) => { this.buildingModel = dae.scene; // Is there a way to get the length, width and height of the model and calculate the center point? this.buildingModel.position.set(x_length/2, y_length/2, z_length/2); this.sceneS.add(this.buildingModel); });Cree un cuadro delimitador y luego obtenga el tamaño del cuadro delimitador con getSize()
let bbox = new THREE.Box3().setFromObject(this.buildingModel); let dimensions = new THREE.Vector3(); dimensions = bbox.getSize(dimensions); this.buildingModel.position.set(dimensions.x/2, dimensions.y/2, dimensions.z/2);Para evitar dudas, este código debería funcionar con todos los tipos de archivos de modelos 3D admitidos.