
Файл FBX — это формат, используемый для обмена данными 3D-геометрии и анимации. Файлы FBX используются в разработке фильмов, игр и дополненной и виртуальной реальности (AR/VR).Кроме того, для открытия, редактирования и экспорта файлов FBX в высококачественные 2D- и 3D-файлы нам понадобится стороннее программное обеспечение, например Autodesk FBX Review и т. д. В то время как OBJ — это гораздо более простой формат, который сохраняет только геометрию (вершины, нормали и т. д.) и часто используется для необработанных данных полигонов, некоторых простых материалов. Поэтому у нас может возникнуть необходимость в рендеринге файлов FBX в формат OBJ. В этой статье мы узнаем о шагах по программному преобразованию файлов FBX в файлы OBJ с помощью REST API.
API обработки 3D-файлов
Для того, чтобы программно создавать и обрабатывать 3D-модели, объекты и сущности, включая Box, Cylinder, Sphere, Torus и Plane, мы создали API на основе REST под названием Aspose.3D Cloud. Выполняйте все операции, такие как преобразование и перевод, масштабирование, параметрическое моделирование, вращение 3D-объектов и даже работайте с Triangulate Meshes без установки программного обеспечения. Поскольку он основан на архитектуре REST, API можно использовать в настольных, веб-, мобильных и гибридных приложениях.
В этой статье мы рассмотрим преобразование файла FBX в формат OBJ с использованием фрагмента кода C# .NET, поэтому нам нужно сосредоточиться на Aspose.3D Cloud SDK для .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:
- Откройте обозреватель решений.
- Разверните проект и щелкните правой кнопкой мыши папку Packages в вашем решении.
- Выберите опцию «Управление пакетами NuGet…»
- Нажмите на вкладку «Обзор» и найдите «Aspose.3D-Cloud».
- Щелкните по пакету Aspose.3D-Cloud в результатах поиска.
- Выберите нужную версию на правой вкладке и нажмите кнопку «Установить».

Изображение 1: Aspose.3D Cloud как пакет NuGet в Visual Studio.
Облачная панель управления
В Aspose конфиденциальность, целостность и доступность данных имеют первостепенное значение. Поэтому только уполномоченные лица могут получить доступ к API-интерфейсам Cloud, а также к файлам, хранящимся в облачном хранилище. Следующий важный шаг — создание бесплатной учетной записи подписки через панель управления Aspose.Cloud. Подписка бесплатна, и не требуются данные кредитной карты или платежные реквизиты. В рамках бесплатной учетной записи подписки вы можете выполнить до 150 бесплатных запросов на обработку документов.
Теперь используйте свой аккаунт GitHub или Google, просто зарегистрируйтесь. В противном случае нажмите кнопку Создать новый аккаунт и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели управления и прокрутите вниз до раздела «Учетные данные клиента», чтобы увидеть данные Client ID и Client Secret.

Изображение 2: Учетные данные клиента на панели управления Aspose.Cloud.
FBX в OBJ в C#
Чтобы выполнить преобразование формата FBX в OBJ с помощью фрагмента кода C# .NET, выполните указанные ниже действия.
- Сначала нам нужно создать экземпляр класса ThreeDCloudApi, передав в качестве аргументов Client ID и Client Secret.
- Во-вторых, загрузите входной 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 облачных 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, Формат полигональных файлов PLY, Стандартный язык треугольников STL, Universal3D U3D, Формат передачи GL GLTF
Мы рекомендуем вам попробовать использовать наш API, и если у вас возникнут какие-либо проблемы или вопросы, пожалуйста, свяжитесь с нами через Бесплатный форум поддержки.
Похожие статьи
Мы также рекомендуем посетить следующие ссылки и узнать больше о возможностях наших отмеченных наградами API.