Öppen källkod Node.js SDK för arbete med 3D glTF-modeller
Ett ledande open source Node.js 3D SDK låter mjukvaruutvecklare läsa, skriva, redigera, optimera och manipulera glTF 3D-modeller i Node.js-applikationer.
Vad är glTF-Transform?
Världen för 3D-grafik och digitalt innehåll förändras ständigt. För mjukvaruutvecklare och konstnärer är det avgörande att ha rätt verktyg. Ett verktyg som har fått mycket uppmärksamhet är glTF-Transform-biblioteket. Skapat av Don McCurdy är detta open-source-projekt ett spelväxlare. Det hjälper mjukvaruutvecklare och konstnärer att hantera alla knepiga aspekter av 3D-geometri-behandling. glTF-formatet, som står för GL Transmission Format, är en standard skapad av Khronos Group. Det handlar om att effektivt överföra och ladda 3D-scener och modeller i Node.js-applikationer.
Om du är intresserad av att skapa 3D-grafik med glTF-formatet är glTF-Transform-biblioteket ett oumbärligt verktyg för dig. Det är utmärkt för webbbruk, eftersom det håller saker lätta och enkla. Detta verktyg kan hantera alla typer av 3D-innehåll som texturer, animationer och shaders. Dessutom hjälper det till att minska storleken på glTF-filer utan att kompromissa med visuella element. På så sätt snabbar det upp laddningstiderna och förbättrar prestandan på dina webbsidor. Vidare konverterar och förbättrar det enkelt tillgångar för olika spelmotorer och plattformar. Dess breda funktionsutbud, användarvänliga gränssnitt och öppna källkod gör det till det föredragna valet för att förfina och konvertera 3D-tillgångar. Sammanfattningsvis är glTF-Transform-biblioteket ett värdefullt verktyg för personer som arbetar med 3D-modeller i glTF-formatet.
Komma igång med glTF-Transform
Det enklaste sättet att installera den stabila versionen av glTF-Transform är att använda npm. Använd följande kommando för en smidig installation.
Installera glTF-Transform via npm
npm install --global @gltf-transform/cli installera glTF-Transform via GitHub.
clone https://github.com/donmccurdy/glTF-Transform.git Du kan ladda ner det kompilerade delade biblioteket från Github-arkivet.
Läsa & skriva glTF-scener i Node.js
Den öppna källkods‑SDK:n glTF-Transform gör det enkelt för mjukvaruutvecklare att skapa nya glTF‑scener från grunden eller att ladda och läsa befintliga scener i sina egna Node.js‑applikationer. Biblioteket stöder att modifiera befintliga scener, komprimera en glTF‑fil, ändra materialegenskaper, justera nodhierarkier och så vidare. Här är ett enkelt exempel som visar hur mjukvaruutvecklare kan ladda en befintlig glTF‑fil, uppdatera den och spara den modifierade glTF‑filen på en plats de själva väljer i Node.js‑applikationer.
Hur laddar och sparar man en modifierad glTF-fil i Node.js-appar?
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 av glTF-filer i Node.js
Den öppna källkods‑SDK:n glTF-Transform är mycket funktionsrik och låter mjukvaruutvecklare att både komprimera och optimera glTF‑filer i sin egen Node.js‑miljö. Med bara ett par kodrader kan biblioteket avsevärt minska deras storlek samtidigt som den visuella kvaliteten bevaras. Detta är avgörande för att förbättra prestanda, särskilt i webbapplikationer där laddningstider och bandbredd är kritiska. Följande exempel visar hur mjukvaruutvecklare kan komprimera befintliga glTF‑filer för att minska deras storlek i Node.js‑applikationer.
Hur komprimerar man en glTF-fil för att optimera dess storlek i Node.js-appar?
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 och redigering av glTF-filer i Node.js
glTF-formatet, utvecklat av Khronos Group, är en royaltyfri standard för leverans av 3D-resurser. Det är optimerat för effektiv överföring och inläsning av 3D-scener och modeller. glTF-Transform SDK möjliggör omfattande modifieringar av glTF-filer, inklusive att ändra nodhierarkier, modifiera materialegenskaper, justera animationer och så vidare. Dessa möjligheter ger utvecklare flexibiliteten att anpassa 3D-resurser för att passa specifika behov. Följande exempel visar hur mjukvaruutvecklare kan justera nodhierarkier i sina egna Node.js-applikationer.
Hur justerar man nodhierarkier i Node.js-appar?
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 av glTF 3D-filer i Node.js
glTF-Transform SDK stödjer fullt ut konvertering av glTF-filer mellan olika versioner och tillägg i Node.js-applikationer. Denna funktion är särskilt användbar för att säkerställa kompatibilitet med olika plattformar och applikationer. Biblioteket kan också exportera glTF-filer till andra filformat, vilket underlättar bredare användning och integration.