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

Open Source Node.js SDK voor het werken met 3D glTF-modellen

Een toonaangevend Open Source Node.js 3D SDK stelt softwareontwikkelaars in staat om glTF 3D-modellen te lezen, schrijven, bewerken, optimaliseren en manipuleren binnen Node.js-toepassingen.

Wat is glTF-Transform?

De wereld van 3D-graphics en digitale content verandert voortdurend. Voor softwareontwikkelaars en artiesten is het hebben van de juiste tools cruciaal. Eén tool die veel aandacht krijgt, is de glTF-Transform bibliotheek. Gecreëerd door Don McCurdy, is dit open‑source project een game‑changer. Het helpt softwareontwikkelaars en artiesten omgaan met alle lastige aspecten van 3D‑geometrieverwerking. Het glTF-formaat, dat staat voor GL Transmission Format, is een standaard ontwikkeld door de Khronos Group. Het draait om het efficiënt overbrengen van 3D en het laden van 3D‑scènes en -modellen binnen Node.js‑applicaties.

Als je graag 3D‑graphics maakt met het glTF‑formaat, is de glTF-Transform‑bibliotheek een onmisbare tool voor jou. Hij is uitstekend voor webgebruik, omdat hij licht en eenvoudig blijft. Deze tool kan alle soorten 3D‑inhoud aan, zoals texturen, animaties en shaders. Bovendien helpt hij de grootte van glTF‑bestanden te verkleinen zonder concessies te doen aan de visuals. Hierdoor worden laadtijden versneld en de prestaties van je webpagina's verbeterd. Daarnaast converteert en verbetert hij moeiteloos assets voor verschillende game‑engines en platforms. Het brede scala aan functies, de gebruiksvriendelijke interface en het open‑source‑ontwerp maken het de voorkeurskeuze voor het verfijnen en converteren van 3D‑assets. Over het algemeen is de glTF-Transform‑bibliotheek een waardevolle tool voor iedereen die met 3D‑modellen in het glTF‑formaat werkt.

Previous Next

Aan de slag met glTF-Transform

De eenvoudigste manier om de stabiele release van glTF-Transform te installeren is via npm. Gebruik alstublieft het volgende commando voor een soepele installatie.

Installeer glTF-Transform via npm

npm install --global @gltf-transform/cli 

Installeer glTF-Transform via GitHub.

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

U kunt de gecompileerde gedeelde bibliotheek downloaden van de Github-repository.

glTF-scènes lezen en schrijven in Node.js

De open source glTF-Transform SDK maakt het gemakkelijk voor softwareontwikkelaars om nieuwe glTF‑scènes vanaf nul te creëren of bestaande scènes te laden en te lezen binnen hun eigen Node.js‑toepassingen. De bibliotheek ondersteunt het wijzigen van bestaande scènes, het comprimeren van een glTF‑bestand, het aanpassen van materiaaleigenschappen, het aanpassen van knoophierarchieën enzovoort. Hier is een eenvoudig voorbeeld dat laat zien hoe softwareontwikkelaars een bestaand glTF‑bestand kunnen laden, bijwerken en het gewijzigde glTF‑bestand kunnen opslaan op een door hen gekozen locatie binnen Node.js‑toepassingen.

Hoe laad en sla je een aangepast glTF-bestand op in Node.js-applicaties?

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

Compressie en optimalisatie van glTF-bestanden in Node.js

De open source glTF-Transform SDK is zeer rijk aan functies en stelt softwareontwikkelaars in staat om glTF‑bestanden te comprimeren en te optimaliseren binnen hun eigen Node.js‑omgeving. Met slechts een paar regels code kan de bibliotheek hun grootte aanzienlijk verkleinen terwijl de visuele kwaliteit behouden blijft. Dit is cruciaal voor het verbeteren van de prestaties, vooral in webapplicaties waar laadtijden en bandbreedte kritisch zijn. Het volgende voorbeeld toont hoe softwareontwikkelaars bestaande glTF‑bestanden kunnen comprimeren om hun grootte te verkleinen binnen Node.js‑toepassingen.

Hoe comprimeer je een glTF-bestand om de grootte te optimaliseren in Node.js-applicaties?

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

Transformatie en bewerking van glTF-bestanden in Node.js

Het glTF-formaat, ontwikkeld door de Khronos Group, is een royalty‑vrije standaard voor de levering van 3D‑assets. Het is geoptimaliseerd voor efficiënte transmissie en het laden van 3D‑scènes en -modellen. De glTF-Transform SDK maakt uitgebreide bewerkingen van glTF‑bestanden mogelijk, waaronder het wijzigen van knooppunt‑hiërarchieën, het aanpassen van materiaaleigenschappen, het bijstellen van animaties en meer. Deze mogelijkheden geven ontwikkelaars de flexibiliteit om 3D‑assets aan te passen aan specifieke behoeften. Het volgende voorbeeld laat zien hoe softwareontwikkelaars knooppunt‑hiërarchieën kunnen aanpassen binnen hun eigen Node.js‑toepassingen.

Hoe pas je node-hiërarchieën aan in Node.js-applicaties?

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

Conversie van glTF 3D-bestanden in Node.js

De glTF-Transform SDK ondersteunt volledig het converteren van glTF‑bestanden tussen verschillende versies en extensies binnen Node.js‑toepassingen. Deze functie is bijzonder nuttig om compatibiliteit met diverse platforms en applicaties te waarborgen. De bibliotheek kan glTF‑bestanden ook exporteren naar andere bestandsformaten, waardoor een bredere toepassing en integratie mogelijk wordt.

 Dutch