Atviro kodo Node.js SDK darbui su 3D glTF modeliais
Lyderinis atviro kodo Node.js 3D SDK leidžia programinės įrangos kūrėjams skaityti, rašyti, redaguoti, optimizuoti ir manipuliuoti glTF 3D modeliais Node.js programose.
Kas yra glTF-Transform?
3D grafikos ir skaitmeninio turinio pasaulis nuolat keičiasi. Programų kūrėjams ir menininkams svarbu turėti tinkamus įrankius. Vienas įrankis, sulaukęs daug dėmesio, yra glTF-Transform biblioteka. Sukurta Don McCurdy, ši atviro kodo projektas keičia žaidimo taisykles. Ji padeda programų kūrėjams ir menininkams susidoroti su visais sudėtingais 3D geometrijos apdorojimo aspektais. glTF formatas, reiškiantis GL Transmission Format, yra standartas, sukurtas Khronos Group. Jis skirtas efektyviai perduoti 3D ir įkelti 3D scenas bei modelius Node.js programose.
Jei jums patinka kurti 3D grafiką naudojant glTF formatą, glTF-Transform biblioteka yra būtinas įrankis. Ji puikiai tinka naudoti internete, nes išlieka lengva ir paprasta. Šis įrankis gali tvarkyti visų rūšių 3D turinį, pvz., tekstūras, animacijas ir shaderius. Be to, jis padeda sumažinti glTF failų dydį neaukojant vaizdo kokybės. Tai pagreitina įkėlimo laikus ir pagerina našumą jūsų tinklalapiuose. Be to, jis be vargo konvertuoja ir tobulina išteklius įvairioms žaidimų varikliams ir platformoms. Jo plačios funkcijos, vartotojui patogi sąsaja ir atviro kodo dizainas daro jį pageidaujamu pasirinkimu tobulinant ir konvertuojant 3D išteklius. Apskritai, glTF-Transform biblioteka yra vertingas įrankis asmenims, dirbantiems su 3D modeliais glTF formatu.
Pradžia su glTF-Transform
Paprasčiausias būdas įdiegti glTF-Transform stabilų leidimą – naudoti npm. Prašome naudoti šią komandą sklandžiam įdiegimui.
Įdiekite glTF-Transform per npm
npm install --global @gltf-transform/cli Įdiekite glTF-Transform per GitHub.
clone https://github.com/donmccurdy/glTF-Transform.git Galite atsisiųsti sukompiliuotą bendrinamą biblioteką iš GitHub saugyklos.
Skaityti ir rašyti glTF scenas Node.js
Atviro kodo glTF-Transform SDK leidžia programinės įrangos kūrėjams lengvai kurti naujas glTF scenas nuo nulio arba įkelti ir skaityti esamas scenas savo Node.js programose. Biblioteka palaiko esamų scenų modifikavimą, glTF failų suspaudimą, medžiagų savybių keitimą, mazgų hierarchijų reguliavimą ir t.t. Štai paprastas pavyzdys, kuris rodo, kaip programinės įrangos kūrėjai gali įkelti esamą glTF failą, jį atnaujinti ir išsaugoti modifikuotą glTF failą pasirinktoje vietoje Node.js programose.
Kaip įkelti ir išsaugoti modifikuotą glTF failą Node.js programose?
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);
glTF failų suspaudimas ir optimizavimas Node.js
Atviro kodo glTF-Transform SDK yra labai funkcionalus ir leidžia programinės įrangos kūrėjams suspausti bei optimizuoti glTF failus savo Node.js aplinkoje. Vos kelios kodo eilutės leidžia bibliotekoje žymiai sumažinti jų dydį, išlaikant vaizdo kokybę. Tai yra esminė našumo gerinimo priemonė, ypač internetinėse programose, kur svarbūs įkėlimo laikai ir pralaidumas. Žemiau pateiktas pavyzdys demonstruoja, kaip programinės įrangos kūrėjai gali suspausti esamus glTF failus, kad sumažintų jų dydį Node.js programose.
Kaip suspausti glTF failą, kad optimizuotumėte jo dydį Node.js programose?
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);
glTF failų transformavimas ir redagavimas Node.js
glTF formatas, sukurtas Khronos Group, yra be autorinių mokesčių standartas 3D turinio pristatymui. Jis optimizuotas efektyviam 3D scenų ir modelių perdavimui bei įkėlimui. glTF-Transform SDK leidžia plačiai modifikuoti glTF failus, įskaitant mazgų hierarchijų keitimą, medžiagų savybių modifikavimą, animacijų reguliavimą ir pan. Šios galimybės suteikia kūrėjams lankstumo pritaikyti 3D turinį pagal konkrečius poreikius. Žemiau pateiktas pavyzdys rodo, kaip programinės įrangos kūrėjai gali reguliuoti mazgų hierarchijas savo Node.js programose.
Kaip koreguoti mazgų hierarchijas Node.js programose?
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);
glTF 3D failų konvertavimas Node.js
glTF-Transform SDK visiškai palaiko glTF failų konvertavimą tarp skirtingų versijų ir plėtinių Node.js programose. Ši funkcija ypač naudinga užtikrinant suderinamumą su įvairiomis platformomis ir programomis. Biblioteka taip pat gali eksportuoti glTF failus į kitus failų formatus, palengvindama platesnį naudojimą ir integraciją.