Un amigo mío está intentando crear un museo de realidad virtual utilizando modelos que él mismo creó, así como algunos de código abierto extraídos de Sketchfab en línea. Necesita que estos archivos sean .glb s, pero Sketchfab solo permite descargar los modelos en formato glTF y USBZ.
Hay formas de convertir de glTF a GLB, pero son tediosas y actualmente tiene que convertirlas una a la vez, lo que es un inconveniente para cualquier número significativo de archivos. Automatizarlo en el dispositivo no tiene sentido, porque normalmente descarga archivos en lotes pequeños cuando un nuevo tema llama su atención, y ejecutar un script después de cada vez sería igual de inconveniente.
Estoy buscando crear una extensión del navegador Chrome que le permita descargar directamente estos archivos como GLB, sin necesidad de conversión, que es la solución que funciona mejor con su flujo de trabajo.
Para hacer esto, necesito la extensión de mi navegador para extraer los datos glTF del botón de descarga de Sketchfab, ejecutar el proceso de transformación y luego guardar el archivo modificado en su computadora. Esto parece que debería ser posible, pero no tengo idea de cómo comenzar con el primer bit.
Intenté usar herramientas de desarrollo para encontrar el enlace de descarga adjunto al botón para poder emitir una solicitud GET, luego procesar los datos resultantes y usar la API de descarga de Chrome para hacer el resto. El único problema es que el enlace de descarga no parece estar en ninguna parte de la página. Tomé una instantánea del montón, luego monitoreé la red cuando hice clic en el botón de descarga, y el enlace al que mi navegador envía la solicitud GET no se encuentra en el montón antes de que se haga clic en el botón. Supongo que se construye a través de JavaScript sobre la marcha, pero no tengo idea de cómo podría predecir el enlace por mí mismo.
Si alguien tiene alguna guía sobre cómo puedo obtener estos datos de una extensión del navegador, sería muy apreciado. Sé que debe ser posible: si puede obtener los datos haciendo clic en el botón de descarga, también debería poder obtenerlos mediante programación. Sin embargo, cómo hacerlo con precisión es algo que parece que no puedo entender.
TLDR: Estoy tratando de crear una extensión que permita la conversión del formato de archivo de glTF a GLB antes de la descarga, pero tengo problemas para acceder a los datos que necesito convertir. ¿Algún consejo?