Как начать с Aspose.3D FOSS для TypeScript
@aspose/3d для TypeScript является бесплатным, лицензированным пакетом MIT для загрузки, манипулирования и 3D-файлы в Node.js — нет нужных коренных бинарных, установки с npm.
Пошаговое руководство
Шаг 1: Установите пакет
Инсталляция с npm (Node.js 18 или более требовательна):
npm install @aspose/3d@24.12.0Проверьте, что установка заряжена правильно:
import { Scene } from "@aspose/3d";
console.log("@aspose/3d loaded.");Шаг 2: Ввоз необходимых классов
Импортируйте необходимые классы:
import { Scene, Node } from "@aspose/3d";Как загрузить 3D файл?
Использование scene.open() загрузить любой поддерживаемый формат. библиотека обнаруживает форматирование автоматически из расширения файла:
import { Scene } from "@aspose/3d";
const scene = new Scene();
scene.open("model.obj");
console.log(`Loaded scene. Root node: ${scene.rootNode.name}`);Используйте статический заводский метод:
const scene = Scene.fromFile("model.glb");Как обойти граф сцены?
Нагруженная сцена — это дерево, которое 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 = Scene.fromFile("model.obj");
walk(scene.rootNode);Шаг 3: Сохраните в целевой формат
Использование scene.save() для экспорта в любой поддерживаемый формат выхода. библиотека обнаруживает Формат выхода из расширения файла:
import { Scene } from "@aspose/3d";
const scene = Scene.fromFile("model.obj");
scene.save("output.glb");
console.log("Saved as GLB.");Общие проблемы и решения
Error: ENOENT Когда звонить scene.open() Путь, который вы прошли не существует. используйте абсолютный путь или path.resolve() Чтобы обеспечить Пут файла правильный.
Неизвестная форма ошибки Убедитесь, что расширение файла соответствует реальной форматизации. библиотека обнаруживает формат через Расширение для open() и fromFile().Проведите четкий параметр формата для пересечения.
Пустая сцена после зарядки Некоторые бинарные формати могут потребовать конкретных опций загрузки. попробуйте использовать явный перегрузку с формат-специфическими опциями, если стандартный заряд производит пустую сцену.
Ошибки в импорте TypeScript Тип определений связан с пакетом. обеспечение "moduleResolution": "bundler" или "node16" Он установлен в Твоем tsconfig.json.
Часто задаваемые вопросы
Нужны ли @aspose/3d какие-либо индийские бинарные?
Пакет чистый JavaScript/TypeScript без коренных зависимости. он работает на любой платформе, поддерживающей Node.js 18 или позднее.
Какие версии Node.js поддерживаются?
Node.js 18 или позднее. пакет работает на Windows, macOS и Linux.
Свободно ли библиотека для коммерческого использования?
Вы можете использовать, модифицировать и перераспространять его для любых целей, включая коммерческие приложения.
Какие 3D-форматы можно читать и писать?
Пакет поддерживает OBJ, STL, GLTF 2.0 / GLB, FBX, COLLADA и PLY для обоих чтений. Используйте расширение на основе scene.save() - экспортировать в любой поддерживаемый формат.
Можно ли создать 3D-сцену из скратча?
Да. Создание A Scene без аргументов, добавьте детские узлы к scene.rootNode,и Сделайте в желаемом формате.