En todas partes en stackoverflow et al parecen estar de acuerdo en que el uso adecuado del Box3() getSize()
es el siguiente:
const geometry = new THREE.BoxGeometry( 10, 10, 10 ); const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); const cube = new THREE.Mesh( geometry, material ); scene.add( cube ); let cubeBoundingBox = new THREE.Box3().setFromObject( cube ); let boxSize = cubeBoundingBox.getSize(); console.log("BoxSize: " + boxSize);
Sin embargo, este no parece ser el caso. Vea el error en este ejemplo: https://jsfiddle.net/8L5dczmf/3/
Puedo ver en la documentación de three.js que, de hecho, se supone que getSize()
debe usarse de esta manera ... a menos que esté leyendo .getSize ( target : Vector3 ) : Vector3
incorrectamente. ¿Qué está mal con el código en el violín de arriba entonces?
Se espera que pase un vector en el que se escribirá el resultado:
// ... let boxSize = new THREE.Vector3(); cubeBoundingBox.getSize(boxSize); console.log("BoxSize: " + boxSize);