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

Open source Node.js SDK til arbejde med 3D glTF-modeller

Et førende open source Node.js 3D SDK giver softwareudviklere mulighed for at læse, skrive, redigere, optimere og manipulere glTF 3D-modeller i Node.js-applikationer.

Hvad er glTF-Transform?

Verdenen af 3D-grafik og digitalt indhold er altid i forandring. For softwareudviklere og kunstnere er det afgørende at have de rette værktøjer. Et værktøj, der har fået meget opmærksomhed, er glTF-Transform-biblioteket. Skabt af Don McCurdy er dette open‑source‑projekt en game‑changer. Det hjælper softwareudviklere og kunstnere med at håndtere alle de vanskelige aspekter af 3D-geometri‑behandling. glTF-formatet, som står for GL Transmission Format, er en standard udviklet af Khronos Group. Det handler om effektiv transmission og indlæsning af 3D‑scener og -modeller i Node.js‑applikationer.

Hvis du er interesseret i at skabe 3D-grafik ved hjælp af glTF-formatet, er glTF-Transform-biblioteket et uundværligt værktøj for dig. Det er fremragende til webbrug, da det holder tingene lette og enkle. Dette værktøj kan håndtere alle former for 3D-indhold som teksturer, animationer og shaders. Derudover hjælper det med at reducere størrelsen på glTF-filer uden at gå på kompromis med den visuelle kvalitet. På den måde fremskynder det indlæsningstider og øger ydeevnen på dine websider. Desuden konverterer og forbedrer det ubesværet assets til forskellige spilmotorer og platforme. Dets brede udvalg af funktioner, brugervenlige grænseflade og open‑source‑design gør det til det foretrukne valg for at raffinere og konvertere 3D‑assets. Generelt er glTF-Transform-biblioteket et værdifuldt værktøj for personer, der arbejder med 3D‑modeller i glTF‑formatet.

Previous Next

Kom i gang med glTF-Transform

Den nemmeste måde at installere den stabile version af glTF-Transform på er ved at bruge npm. Brug venligst følgende kommando for en problemfri installation.

Installer glTF-Transform via npm

npm install --global @gltf-transform/cli 

installer glTF-Transform via GitHub.

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

Du kan downloade det kompilerede delte bibliotek fra Github-repositoryet.

Læs & skriv glTF-scener i Node.js

Den open source glTF-Transform SDK gør det nemt for softwareudviklere at skabe nye glTF-scener fra bunden eller indlæse og læse eksisterende scener i deres egne Node.js-applikationer. Biblioteket understøtter at modificere eksisterende scener, komprimere en glTF-fil, ændre materialegenskaber, justere nodehierarkier og så videre. Her er et enkelt eksempel, der viser, hvordan softwareudviklere kan indlæse en eksisterende glTF-fil, opdatere den og gemme den modificerede glTF-fil på et sted efter eget valg i Node.js-applikationer.

Hvordan indlæses og gemmes en modificeret glTF-fil i Node.js‑apps?

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);

Komprimering & optimering af glTF-filer i Node.js

Den open source glTF-Transform SDK er meget funktionsrig og giver softwareudviklere mulighed for at komprimere såvel som optimere glTF-filer i deres eget Node.js-miljø. Med blot et par linjer kode kan biblioteket betydeligt reducere deres størrelse, mens den visuelle kvalitet bevares. Dette er afgørende for at forbedre ydeevnen, især i webapplikationer hvor indlæsningstider og båndbredde er kritiske. Det følgende eksempel demonstrerer, hvordan softwareudviklere kan komprimere eksisterende glTF-filer for at reducere deres størrelse i Node.js-applikationer.

Hvordan komprimeres en glTF-fil for at optimere dens størrelse i Node.js‑apps?

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);

Transformation og redigering af glTF-filer i Node.js

glTF-formatet, udviklet af Khronos Group, er en royalty-fri standard for levering af 3D-aktiver. Det er optimeret til effektiv transmission og indlæsning af 3D-scener og -modeller. glTF-Transform SDK tillader omfattende ændringer af glTF-filer, herunder ændring af nodehierarkier, modificering af materialegenskaber, justering af animationer osv. Disse muligheder giver udviklere fleksibiliteten til at tilpasse 3D-aktiver til specifikke behov. Det følgende eksempel viser, hvordan softwareudviklere kan justere nodehierarkier i deres egne Node.js-applikationer.

Hvordan justeres nodehierarkier i Node.js‑apps?

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);

Konvertering af glTF 3D-filer i Node.js

glTF-Transform SDK understøtter fuldt ud konvertering af glTF-filer mellem forskellige versioner og udvidelser i Node.js-applikationer. Denne funktion er især nyttig for at sikre kompatibilitet med forskellige platforme og applikationer. Biblioteket kan også eksportere glTF-filer til andre filformater, hvilket muliggør bredere brug og integration.

 Dansk