
Файл FBX – це формат, який використовується для обміну даними 3D-геометрії та анімації. Файли FBX використовуються у фільмах, іграх і розробці доповненої та віртуальної реальності (AR/VR).Крім того, щоб відкривати, редагувати та експортувати файли FBX у високоякісні 2D- і 3D-файли, нам потрібне стороннє програмне забезпечення, наприклад Autodesk FBX Review тощо. Тоді як OBJ є набагато простішим форматом, який зберігає лише геометрію (вершини, нормалі тощо) і часто призначений для необроблених даних багатокутників, деяких простих матеріалів. Тож у нас може виникнути вимога відтворити файли FBX у форматі OBJ. У цій статті ми дізнаємося про те, як програмно конвертувати файли FBX у файли OBJ за допомогою REST API.
API обробки 3D-файлів
Щоб програмно створювати та обробляти 3D-моделі, об’єкти та сутності, включаючи коробку, циліндр, сферу, тор і площину, ми створили API на основі REST під назвою Aspose.3D Cloud. Виконуйте всі операції, такі як трансформація та трансляція, масштабування, параметричне моделювання, обертання 3D-об’єктів і навіть працюйте з трикутними сітками без встановлення програмного забезпечення. Оскільки він заснований на архітектурі REST, API можна використовувати в настільних, веб-, мобільних і гібридних програмах.
У цій статті ми обговоримо перетворення файлу FBX у формат OBJ за допомогою фрагмента коду C# .NET, тому нам потрібно зосередитися на Aspose.3D Cloud SDK for .NET. SDK є обгорткою навколо REST, щоб ви могли отримати всі функції обробки 3D-файлів прямо у своїй улюбленій IDE.
монтаж
Першим кроком у використанні SDK є його встановлення. Cloud SDK доступний для завантаження через NuGet і GitHub. Отже, щоб інсталювати SDK із NuGet, виконайте наступну команду в терміналі.
nuget install Aspose.3D-Cloud
Менеджер пакетів NuGet
Ви також можете розглянути можливість виконання наступної команди в консолі диспетчера пакетів у Visual Studio, щоб отримати та посилатися на збірку Aspose.3D у вашому проекті.
PM> Install-Package Aspose.3D-Cloud
Visual Studio
Іншим підходом є встановлення безпосередньо в рішенні Visual Studio:
- Відкрийте провідник рішень.
- Розгорніть проект і клацніть правою кнопкою миші папку Packages у вашому рішенні.
- Виберіть параметр «Керувати пакетами NuGet…».
- Натисніть вкладку «Огляд» і знайдіть «Aspose.3D-Cloud»
- Натисніть пакет Aspose.3D-Cloud у результатах пошуку
- Виберіть відповідну версію у правій вкладці та натисніть кнопку «Встановити».

Зображення 1:- Aspose.3D Cloud як пакет NuGet у Visual Studio.
Хмарна інформаційна панель
Для Aspose конфіденційність, цілісність і доступність даних є надзвичайно важливими. Таким чином, лише авторизовані особи можуть отримати доступ до Cloud API, а також до файлів, що зберігаються в хмарному сховищі. Наступним важливим кроком є створення облікового запису безкоштовної підписки на інформаційній панелі Aspose.Cloud. Підписка безкоштовна, кредитна картка чи платіжні дані не потрібні. Під обліковим записом безкоштовної підписки ви можете виконати до 150 безкоштовних запитів на обробку документів.
Тепер використовуйте свій обліковий запис GitHub або Google, просто зареєструйтеся. В іншому випадку натисніть кнопку Створити новий обліковий запис і надайте необхідну інформацію. Тепер увійдіть на інформаційну панель, використовуючи облікові дані, розгорніть розділ «Програми» на інформаційній панелі та прокрутіть униз до розділу «Облікові дані клієнта», щоб переглянути дані про ідентифікатор клієнта та секрет клієнта.

Зображення 2: облікові дані клієнта на інформаційній панелі Aspose.Cloud.
FBX в OBJ на C#
Виконайте наведені нижче кроки, щоб виконати перетворення формату FBX у формат OBJ за допомогою фрагмента коду C# .NET.
- Спочатку нам потрібно створити екземпляр класу ThreeDCloudApi, передаючи ідентифікатор клієнта та секрет клієнта як аргументи.
- По-друге, завантажте вхідний файл FBX із локальної системи в об’єкт FileStream.
- Тепер завантажте файл у хмарне сховище за допомогою методу UploadFile(…) класу ThreeDCloudApi.
- Наступним кроком є виклик методу PostConvertByFormatWithHttpInfo(…), який приймає ім’я вхідного файлу, вихідний формат і результуюче ім’я файлу як аргументи.
- Нарешті, роздрукуйте повідомлення про успішне завершення в консолі, і в цей час результат буде збережено в хмарному сховищі.
// Отримайте ClientID з https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// ім'я вхідного файлу FBX
String inputFileName = "Wolf-Blender-2.82a.fbx";
// результуючий формат файлу
String newFormat = "wavefrontobj";
// ім'я вихідного файлу
String newFileName = "resultant.obj";
// створити екземпляр ThreeDCloud API
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
try
{
// завантажити вхідні дані FBX з локального диска
using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
{
// завантажити файл у хмарне сховище
threeDCloudApi.UploadFile(inputFileName, inputStream);
// ініціювати операцію перетворення файлу
var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
// надрукувати повідомлення про успішне завершення, якщо перетворення виконано успішно
if (response != null && response.Equals("OK"))
{
Console.WriteLine("Successfully converted FBX to OBJ !");
Console.ReadKey();
}
}
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
Для довідки, зразки файлів, використаних у прикладі вище, завантажуються в Wolf-Blender-2.82a.fbx і resultant.obj.
Перетворіть FBX на OBJ за допомогою команди cURL
Архітектура REST Cloud API дає вам доступ до них за допомогою команд cURL, тому ми також можемо отримати доступ до Aspose.3D Cloud за допомогою команд cURL. У той же час наші API доступні лише авторизованим особам, тому нам потрібно спочатку створити маркер доступу JWT на основі персональних облікових даних клієнта. Будь ласка, виконайте таку команду для створення маркера доступу JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Тепер нам потрібно завантажити файл у хмарне сховище, виконуючи наступну команду.
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/Esso.3ds" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"File":{c:\Users\nayyer\Esso.3ds}} -v
Після створення маркера доступу JWT виконайте наступну команду, щоб перетворити файл FBX у формат OBJ. Нижче наведено деталі параметрів, які приймає API PostConvertByFormat.
- ім’я - ім’я вихідного файлу.
- newformat - Формат нового файлу.
- newfilename - ім’я нового файлу.
- папка (необов’язково) - папка вихідного файлу.
- IsOverwrite (необов’язково) – перезаписати вихідний файл? (за замовчуванням значення false)
- сховище (необов’язково) – тип сховища.
curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.fbx&newformat=wavefrontobj&newfilename=Converted.obj&IsOverwrite=true" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-v
URL запиту
https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=FBX&newfilename=Iphone.fbx&IsOverwrite=false
Висновок
У цій статті ми обговорили етапи перетворення файлу FBX у формат OBJ за допомогою фрагмента коду C# .NET і команд cURL. Крім того, наші Cloud SDK розроблені відповідно до моделі ліцензування Opensource, тому повний вихідний код можна завантажити з GitHub.
Підсумовуючи, нижче ми навели список 3D-форматів, які зараз підтримуються Cloud API
Формат додаткового виробництва AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, Polygon File Format PLY, Standard Triangle Language STL, Universal3D U3D, GL Transmission Format GLTF
Ми заохочуємо вас спробувати скористатися нашим API. Якщо у вас виникнуть проблеми або пов’язані запитання, зв’яжіться з нами через [безкоштовний форум підтримки].]15
Схожі статті
Ми також рекомендуємо перейти за наведеними нижче посиланнями та дізнатися більше про можливості наших відзначених нагородами API