Быстрый старт .
Быстрый старт .
В этом руководстве показано, как быстрее загрузить и сохранить 3D-файл с помощью @aspose/3d Для TypeScript. Пакет лицензирован MIT, чистый JavaScript/TypeScript и не требует нативных бинарных систем или специальных инструментов для создания платформы.
Предварительные условия
| Требование | Подробности |
|---|---|
| Node.js | 18 or later |
| OS | Windows, macOS, Linux и Docker. Я не могу позволить себе это. |
| Пакет | @aspose/3d от npm |
Установка
Установка пакета из npm. Определения типов скомпоновлены с пакетом, поэтому нет отдельность @types необходим пакет:
npm install @aspose/3d@24.12.0Загрузить 3D-файл
Позвони . scene.open() с пути для загрузки любого поддерживаемого формата. Библиотека обнаруживает файл Форматировать с расширения файла. Доступ к иерархии сцены через scene.rootNode:
import { Scene } from "@aspose/3d";
const scene = new Scene();
scene.open("model.obj");
console.log(`Root node: ${scene.rootNode.name}`);Пройдите через график сцены.
Загруженная сцена - это дерево из Node объекты, укорененные в scene.rootNode.Используйте . рекурсивная прогулка для обработки каждого узла и его детей:
import { Scene, Node } from "@aspose/3d";
function walk(node: Node, depth: number = 0): void {
const indent = " ".repeat(depth * 2);
console.log(`${indent}Node: ${node.name}`);
for (const child of node.childNodes) {
walk(child, depth + 1);
}
}
const scene = new Scene();
scene.open("model.glb");
walk(scene.rootNode);Сохранить в другой формат
Библиотека обнаруживает формат вывода из расширения файла. scene.save() с . путь вывода для преобразования между форматами:
import { Scene } from "@aspose/3d";
const scene = new Scene();
scene.open("model.obj");
scene.save("output.glb");
console.log("Converted to GLB.");Создать новую сцену и сохранить
Создать Scene без аргументов, чтобы начать пустой, добавить подключающие узлы к scene.rootNode, тогда позвони . scene.save() для записи файла:
import { Scene, Node } from "@aspose/3d";
const scene = new Scene();
const box = scene.rootNode.createChildNode("box");
scene.save("new_scene.obj");