Отворен код Node.js SDK за работа с 3D glTF модели
Водещ отворен код Node.js 3D SDK позволява на софтуерните разработчици да четат, записват, редактират, оптимизират и манипулират 3D модели в glTF в рамките на Node.js приложения.
Какво е glTF-Transform?
Светът на 3D графиката и цифровото съдържание постоянно се променя. За софтуерните разработчици и художниците правилните инструменти са от съществено значение. Един инструмент, който получава много внимание, е библиотеката glTF-Transform. Създадена от Дон МакКърди, този проект с отворен код променя играта. Той помага на софтуерните разработчици и художници да се справят с всички сложни аспекти на обработката на 3D геометрия. Форматът glTF, който означава GL Transmission Format, е стандарт, създаден от Khronos Group. Той се фокусира върху ефективното предаване и зареждане на 3D сцени и модели в Node.js приложения.
Ако се интересувате от създаване на 3D графика с формат glTF, библиотеката glTF-Transform е незаменим инструмент за вас. Тя е отлична за уеб употреба, тъй като поддържа нещата леки и прости. Този инструмент може да обработва всички видове 3D съдържание като текстури, анимации и шейдъри. Освен това, помага да се намали размерът на glTF файловете без да се компрометира визуалното качество. По този начин ускорява времето за зареждане и подобрява производителността на вашите уеб страници. Освен това, без усилие преобразува и подобрява активи за различни игрови енджини и платформи. Силният набор от функции, потребителският интерфейс и отвореният код я правят предпочитан избор за оптимизиране и конвертиране на 3D активи. Като цяло, библиотеката glTF-Transform е ценен инструмент за хора, работещи с 3D модели във формат glTF.
Започване с glTF-Transform
Най-лесният начин да инсталирате стабилната версия на glTF-Transform е чрез npm. Моля, използвайте следната команда за безпроблемна инсталация.
Инсталирайте glTF-Transform чрез npm
npm install --global @gltf-transform/cli Инсталирайте glTF-Transform чрез GitHub.
clone https://github.com/donmccurdy/glTF-Transform.git Можете да изтеглите компилираната споделена библиотека от Github хранилището.
Четене и записване на glTF сцени в Node.js
Отвореният код glTF-Transform SDK улеснява софтуерните разработчици да създават нови glTF сцени от нулата или да зареждат и четат съществуващи сцени в собствените си Node.js приложения. Библиотеката поддържа модифициране на съществуващи сцени, компресиране на glTF файл, модифициране на свойства на материалите, настройване на йерархии на възли и др. Ето прост пример, който показва как софтуерните разработчици могат да заредят съществуващ glTF файл, да го актуализират и да запазят модифицирания glTF файл на място по избор в Node.js приложения.
Как да заредим и запазим модифициран glTF файл в 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);
Компресиране и оптимизиране на glTF файлове в Node.js
Отвореният код glTF-Transform SDK е изключително богата на функции и позволява на софтуерните разработчици да компресират и оптимизират glTF файлове в собствената си Node.js среда. С няколко реда код библиотеката може значително да намали техния размер, като запазва визуалното качество. Това е от съществено значение за подобряване на производителността, особено в уеб приложения, където времето за зареждане и пропускателната способност са критични. Следният пример демонстрира как софтуерните разработчици могат да компресират съществуващи glTF файлове, за да намалят техния размер в Node.js приложения.
Как да компресираме glTF файл, за да оптимизираме неговия размер в 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);
Трансформиране и редактиране на glTF файлове в Node.js
Форматът glTF, разработен от Khronos Group, е безплатен стандарт за доставка на 3D активи. Той е оптимизиран за ефективно предаване и зареждане на 3D сцени и модели. SDK‑тото glTF-Transform позволява обширни модификации на glTF файлове, включително промяна на йерархии на възли, модифициране на свойства на материалите, настройване на анимации и др. Тези възможности дават на разработчиците гъвкавост да персонализират 3D активите според конкретни нужди. Следният пример показва как софтуерните разработчици могат да коригират йерархиите на възлите в собствените си Node.js приложения.
Как да коригираме йерархиите на възлите в 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);
Конвертиране на 3D glTF файлове в Node.js
SDK‑тото glTF-Transform напълно поддържа конвертиране на glTF файлове между различни версии и разширения в Node.js приложения. Тази функция е особено полезна за осигуряване на съвместимост с различни платформи и приложения. Библиотеката също може да експортира glTF файлове в други файлови формати, улеснявайки по-широко използване и интеграция.