Як конвертувати 3D‑моделі у .NET

Як конвертувати 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 });

Загальні рецепти конвертації

SourceTargetCode
OBJ до GLBscene.Open("input.obj"); scene.Save("output.glb");Бінарний glTF для веб‑переглядачів
FBX до STLscene.Open("input.fbx"); scene.Save("output.stl");Трикутна сітка для 3D‑друку
glTF до COLLADAscene.Open("input.gltf"); scene.Save("output.dae");Формат обміну DAE
STL до OBJscene.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 є незалежним і може оброблятися паралельно.

 Українська