Как конвертировать 3D-модели в .NET
Aspose.3D для .NET делает конвертирование формата двусторонней операцией: загрузка источника файла с помощью Scene.Open(), затем сохранять в целевой форме с Scene.Save().Формат выхода изводится с расширения файла.
Крок за шагом руководство
Шаг 1: Установка упаковки
dotnet add package Aspose.3D.FOSSШаг 2: Импортные названия
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Шаг 3: Загрузите файл источника
var scene = new Scene();
scene.Open("input.fbx");Шаг 4: Сохранение в целевом формате
scene.Save("output.glb");Библиотека обнаруживает целевой формат из расширения. Поддерживаются экспортные форматы: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA и 3MF.
Шаг 5: Используйте формат-специфические варианты сохранения
Для фино-зеленых контролей, пройдете A SaveOptions Подкласс →:
// FBX output — always produces binary FBX
// FbxSaveOptions exists but has no format-specific properties in this version
scene.Save("output.fbx");
// OBJ with flipped coordinate system
scene.Save("output.obj", new ObjSaveOptions { FlipCoordinateSystem = true });
// COLLADA with indented XML
scene.Save("output.dae", new ColladaSaveOptions { Indented = true });Общие конвертируемые рецепты
| Источник | Цель | Код |
|---|---|---|
| Объем к GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Бинарный GLTF для веб-видетелей |
| ФБК к СТЛ | scene.Open("input.fbx"); scene.Save("output.stl"); | Триъестественная меша для 3D-печати |
| ГЛТФ в Коллада | scene.Open("input.gltf"); scene.Save("output.dae"); | Формат обмена DAE |
| Стл к ОБЖ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront для моделирования инструментов |
Общие проблемы и фиксированные
Выходный файл пустый или очень маленький.
Убедитесь, что источник файла успешно загружен. проверить scene.RootNode.ChildNodes.Count После Open().
Материалы, потерянные во время конверсии
Не все формати имеют те же материальные свойства. OBJ материалы используют Lambert/Phong; glTF использует PBR. Материальное картографирование является лучшим усилением в пределах формата.
Различия между источниками и выходом
Разные инструменты используют различные системы. применять ObjLoadOptions.Scale Ввоз или корректировка node.Transform.Scale Перед тем как сэкономить.
Часто задаваемые вопросы (FAQ)
Могу ли я конвертировать PLY в другой формат?
Загрузите файл PLY и сохраните в любой экспортный формат (OBJ, STL, GLB, FBX, COLLADA).
Сохраняет ли конверсия анимации?
Анализ данных (AnimationClipСохраняется, когда оба формата поддерживают его (например, FBX до glTF). STL и OBJ не носят анимационные данные.
Можно ли перевести несколько файлов?
Создайте новую Scene для каждого файла в одном круге. каждый Scene Он является самостоятельным и может быть обрабатыван параллельно.