Как да конвертирате 3D модели в .NET
Aspose.3D for .NET извършва конвертиране на формати в две стъпки: заредете изходния файл с Scene.Open(), след което запишете в целевия формат с Scene.Save(). Форматът на изхода се определя от разширението на файла.
Ръководство стъпка по стъпка
Стъпка 1: Инсталирайте пакета
dotnet add package Aspose.3D --version 26.1.0Стъпка 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: Използване на специфични за формата опции за запазване
За прецизен контрол предайте подклас на 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 });Общи рецепти за конвертиране
| Източник | Цел | Код |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Бинарен glTF за уеб прегледачи |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Триангулирана мрежа за 3D печат |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | DAE формат за обмен |
| STL to OBJ | 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 е само за импортиране. Заредете PLY файл и запазете във всеки експортен формат (OBJ, STL, GLB, FBX, COLLADA).
Запазва ли конверсията анимациите?
Анимационните данни (AnimationClip) се запазват, когато и двата формата ги поддържат (например FBX към glTF). STL и OBJ не съдържат анимационни данни.
Мога ли да конвертирам няколко файла наведнъж?
Създайте нов Scene за всеки файл в цикъл. Всеки Scene е независим и може да се обработва паралелно.