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

SDK Node.js de código aberto para trabalhar com Modelos 3D glTF

Um SDK 3D Node.js de código aberto líder permite que desenvolvedores de software leiam, escrevam, editem, otimizem e manipulem Modelos 3D glTF dentro de aplicações Node.js.

O que é glTF-Transform?

O mundo dos gráficos 3D e do conteúdo digital está em constante evolução. Para desenvolvedores de software e artistas, ter as ferramentas certas é crucial. Uma ferramenta que tem recebido muita atenção é a biblioteca glTF-Transform. Criada por Don McCurdy, este projeto de código aberto é revolucionário. Ele ajuda desenvolvedores de software e artistas a lidar com todos os aspectos complexos do processamento de geometria 3D. O formato glTF, que significa GL Transmission Format, é um padrão criado pelo Khronos Group. Ele se concentra em transmitir e carregar de forma eficiente cenas e modelos 3D dentro de aplicações Node.js.

Se você está criando gráficos 3D usando o formato glTF, a biblioteca glTF-Transform é uma ferramenta indispensável para você. É ótima para uso na web, pois mantém as coisas leves e simples. Esta ferramenta pode lidar com todos os tipos de conteúdo 3D, como texturas, animações e shaders. Além disso, ajuda a reduzir o tamanho dos arquivos glTF sem comprometer os visuais. Ao fazer isso, acelera os tempos de carregamento e aumenta o desempenho nas suas páginas web. Além disso, converte e aprimora ativos para vários motores de jogo e plataformas sem esforço. Sua ampla gama de recursos, interface amigável e design de código aberto a tornam a escolha preferida para refinar e converter ativos 3D. Em geral, a biblioteca glTF-Transform é uma ferramenta valiosa para quem trabalha com modelos 3D no formato glTF.

Previous Next

Começando com glTF-Transform

A maneira mais fácil de instalar a versão estável do glTF-Transform é usando npm. Por favor, use o comando a seguir para uma instalação tranquila.

Instale glTF-Transform via npm

npm install --global @gltf-transform/cli 

Instale glTF-Transform via GitHub.

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

Você pode baixar a biblioteca compartilhada compilada do repositório Github.

Ler e escrever cenas glTF no Node.js

O SDK de código aberto glTF-Transform facilita para desenvolvedores de software criar novas cenas glTF do zero ou carregar e ler cenas existentes dentro de suas próprias aplicações Node.js. A biblioteca suporta a modificação de cenas existentes, compressão de um arquivo glTF, modificação das propriedades dos materiais, ajuste das hierarquias de nós e assim por diante. Aqui está um exemplo simples que mostra como os desenvolvedores de software podem carregar um arquivo glTF existente, atualizá‑lo e salvar o arquivo glTF modificado em um local de sua escolha dentro de aplicações Node.js.

Como carregar e salvar um arquivo glTF modificado dentro de aplicativos 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);

Compressão e otimização de arquivos glTF no Node.js

O SDK de código aberto glTF-Transform é muito rico em recursos e permite que desenvolvedores de software comprimam e otimizem arquivos glTF dentro de seu próprio ambiente Node.js. Com apenas algumas linhas de código, a biblioteca pode reduzir significativamente o tamanho desses arquivos, mantendo a qualidade visual. Isso é crucial para melhorar o desempenho, especialmente em aplicações web onde o tempo de carregamento e a largura de banda são críticos. O exemplo a seguir demonstra como os desenvolvedores de software podem comprimir arquivos glTF existentes para reduzir seu tamanho dentro de aplicações Node.js.

Como comprimir um arquivo glTF para otimizar seu tamanho dentro de aplicativos 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);

Transformação e edição de arquivos glTF no Node.js

O formato glTF, desenvolvido pelo Khronos Group, é um padrão livre de royalties para entrega de ativos 3D. É otimizado para transmissão eficiente e carregamento de cenas e modelos 3D. O SDK glTF-Transform permite modificações extensas de arquivos glTF, incluindo alteração de hierarquias de nós, modificação de propriedades de materiais, ajuste de animações e assim por diante. Esses recursos dão aos desenvolvedores a flexibilidade de personalizar ativos 3D para atender a necessidades específicas. O exemplo a seguir mostra como os desenvolvedores de software podem ajustar hierarquias de nós em suas próprias aplicações Node.js.

Como ajustar hierarquias de nós dentro de aplicativos 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);

Conversão de arquivos 3D glTF dentro do Node.js

O SDK glTF-Transform oferece suporte total à conversão de arquivos glTF entre diferentes versões e extensões em aplicações Node.js. Esse recurso é particularmente útil para garantir compatibilidade com várias plataformas e aplicações. A biblioteca também pode exportar arquivos glTF para outros formatos de arquivo, facilitando um uso mais amplo e integração.

 Português