Відкритий SDK для Node.js для роботи з 3D моделями glTF
Ведучий відкритий 3D SDK для Node.js дозволяє розробникам програмного забезпечення читати, записувати, редагувати, оптимізувати та маніпулювати 3D моделями glTF у застосунках Node.js.
Що таке glTF-Transform?
Світ 3D-графіки та цифрового контенту постійно змінюється. Для розробників програмного забезпечення та художників наявність правильних інструментів є вирішальною. Одним із інструментів, який привертає багато уваги, є бібліотека glTF-Transform. Створений Доном МакКерді, цей проєкт з відкритим кодом змінює правила гри. Він допомагає розробникам та художникам справлятися з усіма складними аспектами обробки 3D-геометрії. Формат glTF, що розшифровується як GL Transmission Format, є стандартом, створеним Khronos Group. Він призначений для ефективної передачі 3D та завантаження 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
Відкритий SDK glTF-Transform спрощує розробникам програмного забезпечення створення нових сцен 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
Відкритий SDK glTF-Transform має багатий набір функцій і дозволяє розробникам програмного забезпечення стискати та оптимізувати файли 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, є безкоштовним стандартом для доставки 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 у інші формати, сприяючи ширшому використанню та інтеграції.