Tengo un archivo gltf que existe en las carpetas de almacenamiento de Firebase y las texturas relacionadas también se encuentran en esas carpetas. Quiero cargar ese objeto en mi vista. Estoy usando TRES js para hacer esto.

Intenté obtener la URL de descarga del archivo gltf y pasarlo GLTFLoader. Pero el modelo no se cargó para verlo. Probé con esto:
const loader = new GLTFLoader() loader.load( url, (gltf) => { gltf.scene.traverse( ( child ) => { if ( child instanceof THREE.Mesh ) { console.log(child.material.metalness) if(child.material.metalness){ child.material.envMap = texture; } } } ); var parent = gltf.scene; var box = new THREE.Box3().setFromObject(parent) var center = box.getCenter(new THREE.Vector3()) var size = box.getSize(new THREE.Vector3()) var maxAxis = Math.max(size.x,size.y,size.z) parent.scale.multiplyScalar(1/maxAxis) box.setFromObject(parent); box.getCenter(center) box.getSize(size) parent.position.copy(center).multiplyScalar(-1) scene.add(gltf.scene) }, (xhr) => { console.log((xhr.loaded / xhr.total) * 100 + '% loaded') }, (error) => { console.log(error) } )Si cargo este archivo desde un dispositivo local, funciona bien y el modelo se muestra a la vista (todas las texturas se cargan correctamente).
Si alguien puede ayudarme a cargar un archivo gltf desde el almacenamiento de firebase
Creo que deberías usar getDownloadURL() de firebase como cualquier otro archivo. échale un vistazo a Firebase Cloud
Puede que no sea la mejor solución, pero si guarda el archivo como .glb (versión binaria de .gltf), entonces solo hay un archivo con texturas ya incluidas. De lo contrario, deberá almacenar todos los datos gltf en una carpeta y cargar todo, incluidas las texturas.