Open Source Node.js SDK pro práci s 3D glTF modely
Vedoucí Open Source Node.js 3D SDK umožňuje vývojářům softwaru číst, zapisovat, upravovat, optimalizovat a manipulovat s 3D modely glTF v aplikacích Node.js.
Co je glTF-Transform?
Svět 3D grafiky a digitálního obsahu se neustále mění. Pro vývojáře softwaru a umělce je klíčové mít správné nástroje. Jedním z nástrojů, který získává hodně pozornosti, je knihovna glTF-Transform. Vytvořil ji Don McCurdy a tento open-source projekt mění hru. Pomáhá vývojářům softwaru i umělcům řešit všechny složité aspekty zpracování 3D geometrie. Formát glTF, který znamená GL Transmission Format, je standard vytvořený skupinou Khronos. Jedná se o efektivní přenos a načítání 3D scén a modelů v aplikacích Node.js.
Pokud se zajímáte o tvorbu 3D grafiky ve formátu glTF, knihovna glTF-Transform je pro vás nezbytný nástroj. Je skvělá pro webové použití, protože zůstává lehká a jednoduchá. Tento nástroj dokáže zpracovat veškerý druh 3D obsahu, jako jsou textury, animace a shadery. Navíc pomáhá zmenšit velikost souborů glTF, aniž by to ovlivnilo vizuální kvalitu. Tím urychluje načítání a zvyšuje výkon vašich webových stránek. Dále snadno převádí a vylepšuje assety pro různé herní enginy a platformy. Jeho široká škála funkcí, uživatelsky přívětivé rozhraní a open-source design ho činí preferovanou volbou pro vylepšování a konverzi 3D assetů. Obecně je knihovna glTF-Transform cenným nástrojem pro každého, kdo pracuje s 3D modely ve formátu glTF.
Začínáme s glTF-Transform
Nejjednodušší způsob, jak nainstalovat stabilní verzi glTF-Transform, je pomocí npm. Použijte prosím následující příkaz pro hladkou instalaci.
Nainstalujte glTF-Transform pomocí npm
npm install --global @gltf-transform/cli nainstalujte glTF-Transform pomocí GitHubu.
clone https://github.com/donmccurdy/glTF-Transform.git Kompletní sdílenou knihovnu si můžete stáhnout z repozitáře Github.
Čtení a zápis scén glTF v Node.js
Open source SDK glTF-Transform usnadňuje vývojářům softwaru vytvářet nové scény glTF od nuly nebo načítat a číst existující scény ve svých vlastních aplikacích Node.js. Knihovna podporuje úpravu existujících scén, kompresi souboru glTF, úpravu vlastností materiálů, úpravu hierarchie uzlů a podobně. Zde je jednoduchý příklad, který ukazuje, jak vývojáři mohou načíst existující soubor glTF, aktualizovat jej a uložit upravený soubor glTF na místo dle jejich výběru v aplikacích Node.js.
Jak načíst a uložit upravený soubor glTF v aplikacích 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);
Komprese a optimalizace souborů glTF v Node.js
Open source SDK glTF-Transform je velmi bohatý na funkce a umožňuje vývojářům softwaru komprimovat i optimalizovat soubory glTF ve svém vlastním prostředí Node.js. Pouhých několika řádků kódu může knihovna výrazně snížit jejich velikost při zachování vizuální kvality. To je klíčové pro zlepšení výkonu, zejména ve webových aplikacích, kde jsou kritické časy načítání a šířka pásma. Následující příklad ukazuje, jak vývojáři mohou komprimovat existující soubory glTF a snížit jejich velikost v aplikacích Node.js.
Jak komprimovat soubor glTF pro optimalizaci jeho velikosti v aplikacích 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);
Transformace a úprava souborů glTF v Node.js
Formát glTF, vyvinutý skupinou Khronos, je bezroyaltní standard pro doručování 3D aktiv. Je optimalizován pro efektivní přenos a načítání 3D scén a modelů. SDK glTF-Transform umožňuje rozsáhlé úpravy souborů glTF, včetně změny hierarchie uzlů, úpravy vlastností materiálů, nastavení animací a podobně. Tyto možnosti poskytují vývojářům flexibilitu přizpůsobit 3D aktiva konkrétním potřebám. Následující příklad ukazuje, jak mohou softwaroví vývojáři upravit hierarchii uzlů ve svých vlastních aplikacích Node.js.
Jak upravit hierarchie uzlů v aplikacích 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);
Konverze 3D souborů glTF v Node.js
SDK glTF-Transform plně podporuje převod souborů glTF mezi různými verzemi a rozšířeními v aplikacích Node.js. Tato funkce je zvláště užitečná pro zajištění kompatibility s různými platformami a aplikacemi. Knihovna také dokáže exportovat soubory glTF do jiných formátů, což usnadňuje širší využití a integraci.