1. Productos
  2.   3D
  3.   Node.js
  4.   glTF-Transform
 
  

SDK de Node.js de código abierto para trabajar con modelos 3D glTF

Un SDK 3D de Node.js de código abierto líder permite a los desarrolladores de software leer, escribir, editar, optimizar y manipular modelos 3D glTF dentro de aplicaciones Node.js.

¿Qué es glTF-Transform?

El mundo de los gráficos 3D y el contenido digital está siempre cambiando. Para los desarrolladores de software y los artistas, contar con las herramientas adecuadas es crucial. Una herramienta que ha recibido mucha atención es la biblioteca glTF-Transform. Creada por Don McCurdy, este proyecto de código abierto es un cambio de juego. Ayuda a los desarrolladores de software y a los artistas a manejar todos los aspectos complicados del procesamiento de geometría 3D. El formato glTF, que significa GL Transmission Format, es un estándar creado por el Khronos Group. Se trata de transmitir y cargar de manera eficiente escenas y modelos 3D dentro de aplicaciones Node.js.

Si te dedicas a crear gráficos 3D usando el formato glTF, la biblioteca glTF-Transform es una herramienta imprescindible para ti. Es ideal para uso web, ya que mantiene todo ligero y sencillo. Esta herramienta puede manejar todo tipo de contenido 3D como texturas, animaciones y shaders. Además, ayuda a reducir el tamaño de los archivos glTF sin comprometer los visuales. Al hacerlo, acelera los tiempos de carga y mejora el rendimiento en tus páginas web. Asimismo, convierte y mejora sin esfuerzo los activos para varios motores de juego y plataformas. Su amplio conjunto de funciones, interfaz fácil de usar y diseño de código abierto la convierten en la opción preferida para refinar y convertir activos 3D. En general, la biblioteca glTF-Transform es una herramienta valiosa para quienes trabajan con modelos 3D en formato glTF.

Previous Next

Comenzando con glTF-Transform

La forma más fácil de instalar la versión estable de glTF-Transform es usando npm. Por favor, utiliza el siguiente comando para una instalación sin problemas.

Instala glTF-Transform vía npm

npm install --global @gltf-transform/cli 

instala glTF-Transform vía GitHub.

clone https://github.com/donmccurdy/glTF-Transform.git 

Puedes descargar la biblioteca compartida compilada desde el repositorio GitHub.

Leer y escribir escenas glTF en Node.js

El SDK de código abierto glTF-Transform facilita a los desarrolladores de software crear nuevas escenas glTF desde cero o cargar y leer escenas existentes dentro de sus propias aplicaciones Node.js. La biblioteca admite la modificación de escenas existentes, la compresión de un archivo glTF, la modificación de propiedades de materiales, el ajuste de jerarquías de nodos, entre otros. Aquí hay un ejemplo sencillo que muestra cómo los desarrolladores pueden cargar un archivo glTF existente, actualizarlo y guardar el archivo glTF modificado en el lugar que elijan dentro de las aplicaciones Node.js.

¿Cómo cargar y guardar un archivo glTF modificado dentro de aplicaciones Node.js?

const { NodeIO } = require('@gltf-transform/io');

// Create an IO instance.
const io = new NodeIO();

// Load a glTF file.
const document = io.read('path/to/your/model.glb');

// Perform operations on the document...

// Save the modified glTF file.
io.write('path/to/your/output.glb', document);

Compresión y optimización de archivos glTF en Node.js

El SDK de código abierto glTF-Transform es muy rico en funciones y permite a los desarrolladores de software comprimir y optimizar archivos glTF dentro de su propio entorno Node.js. Con solo un par de líneas de código, la biblioteca puede reducir significativamente su tamaño mientras mantiene la calidad visual. Esto es crucial para mejorar el rendimiento, especialmente en aplicaciones web donde los tiempos de carga y el ancho de banda son críticos. El siguiente ejemplo demuestra cómo los desarrolladores pueden comprimir archivos glTF existentes para reducir su tamaño dentro de aplicaciones Node.js.

¿Cómo comprimir un archivo glTF para optimizar su tamaño dentro de aplicaciones Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Transformación y edición de archivos glTF en Node.js

El formato glTF, desarrollado por el Khronos Group, es un estándar libre de regalías para la entrega de activos 3D. Está optimizado para la transmisión y carga eficiente de escenas y modelos 3D. El SDK glTF-Transform permite modificaciones extensas de archivos glTF, incluyendo la alteración de jerarquías de nodos, la modificación de propiedades de materiales, el ajuste de animaciones, etc. Estas capacidades brindan a los desarrolladores la flexibilidad de personalizar los activos 3D para adaptarse a necesidades específicas. El siguiente ejemplo muestra cómo los desarrolladores de software pueden ajustar jerarquías de nodos dentro de sus propias aplicaciones Node.js.

¿Cómo ajustar jerarquías de nodos dentro de aplicaciones Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Conversión de archivos 3D glTF dentro de Node.js

El SDK glTF-Transform soporta completamente la conversión de archivos glTF entre diferentes versiones y extensiones dentro de aplicaciones Node.js. Esta característica es particularmente útil para garantizar la compatibilidad con varias plataformas y aplicaciones. La biblioteca también puede exportar archivos glTF a otros formatos de archivo, facilitando un uso más amplio e integración.

 Español