GLB в FBX в Node.js

Файлы GLB — это текстовые файлы, в которых записаны текстуры, изображения и другие файлы, используемые в глобусе, а также где хранятся эти файлы. Форматы GLB оптимизированы для скорости загрузки и времени загрузки во время выполнения, что упрощает их использование в мобильных и веб-программах 3D-моделирования. Помимо этого, glTF разработан как эффективный, расширяемый, совместимый формат для передачи и загрузки 3D-контента. Цели формата включают компактные размеры файлов, быструю загрузку, полное представление 3D-сцены, независимость во время выполнения и расширяемость для сопровождения дальнейшей разработки.

Аналогично, формат FBX позволяет создателям делиться 3D-моделями друг с другом, поскольку он эффективен и сохраняет модели в виде двоичных данных. Благодаря этим возможностям оба эти формата очень популярны, и у нас может возникнуть потребность во взаимопреобразовании. В этой статье мы более подробно обсудим следующие темы

API обработки 3D-файлов

Обработка 3D-файлов стала весьма удобной с помощью наших API REST Cloud. Так что теперь вы можете выполнять все операции по обработке и конвертации 3D-файлов с помощью Aspose.3D Cloud. Чтобы облегчить работу нашим клиентам, мы создали оболочку Node.js вокруг облака Aspose.3D, чтобы все возможности стали доступны в вашем проекте Node.js.

Установка и настройка

Чтобы использовать Cloud SDK, первым шагом будет его установка либо из NPM, либо из GitHub. Однако установка через npm — самая простая. Пожалуйста, выполните следующую команду для выполнения установки

npm install aspose3dcloud --save

Обратите внимание, что для Aspose.3D Cloud SDK для Node.js требуется Node.js версии 4.8.7 или выше.

После завершения установки следующим основным шагом будет создание учетной записи путем посещения панели управления Aspose.Cloud. Причина, по которой вам необходимо создать учетную запись, заключается в том, что наши API доступны только авторизованным лицам. Поэтому, если у вас есть учетная запись GitHub или Google, просто зарегистрируйтесь. В противном случае нажмите кнопку Создать новую учетную запись и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели управления и прокрутите вниз до раздела «Учетные данные клиента», чтобы увидеть сведения об идентификаторе клиента и секретном ключе клиента.

Учетные данные клиента

GLB в PLY в Node.js

Чтобы выполнить преобразование файла GLB в формат PLY, следуйте приведенным ниже инструкциям:

  • Первым шагом является создание экземпляра ThreeDCloudApi с указанием идентификатора клиента и секретного ключа клиента в качестве аргументов.
  • Во-вторых, создайте объект класса postConvertByFormatRequest.
  • Определите имя входного файла GLB, используя свойство name класса postConvertByFormatRequest.
  • Чтобы указать результирующий формат, используйте свойство newformat.
  • Теперь, чтобы определить результирующее имя файла, используйте свойство newfilename метода postConvertByFormatRequest.
  • Наконец, вызовите метод postConvertByFormat(…) ThreeDCloudApi, передав экземпляр postConvertByFormatRequest в качестве аргумента для инициирования операции преобразования.
const { ThreeDCloudApi, postConvertByFormatRequest } = require("aspose3dcloud");

// Получите свой ClientId и ClientSecret с https://dashboard.aspose.cloud (требуется бесплатная регистрация).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const secret = "388e864b819d8b067a8b1cb625a2ea8e";

// создать экземпляр API ThreeD Cloud
const threeDCloudApi = new ThreeDCloudApi(clientId, secret);

    // создать объект запроса ConvertByFormat
    var req = new postConvertByFormatRequest()
    
    // указать имя входного glb-файла
    req.name = "Wolf-Blender-2.82a.glb";
    
    // формат файла для результирующего файла
    req.newformat = "ply";

    // имя результирующего файла
    req.newfilename = "Wolf-Blender-2.82a.ply";

    req.folder = null;

    // перезаписать файл, если он уже существует в облачном хранилище
    req.isOverwrite = true;
    req.storage = null;

    try {
        // выполнять операции по конвертации документов
    return threeDCloudApi.postConvertByFormat(req)
      .then((result) => {
	    
            // вывести сообщение об успешном выполнении на консоль
            console.log("Successfully converted..");
	});
}
catch (e) {
    console.log("entering catch block");
    console.log(e);
    console.log("leaving catch block");
}

Образцы файлов, использованные в приведенном выше примере, доступны для тестирования по следующим ссылкам.

Конвертируйте GLB в FBX с помощью команды cURL

Aspose.3D Cloud настолько удивителен, что вы можете выполнить преобразование GLB или другого формата в любые другие поддерживаемые форматы, включая FBX, с помощью одной команды cURL. Как упоминалось в разделе выше, вы можете использовать тот же код и выполнить преобразование, просто изменив расширение выходного формата файла, а API выполнит оставшуюся работу. Однако перед доступом к API в терминале командной строки, обратите внимание, что нам нужно сначала сгенерировать токен доступа JWT на основе данных Client ID и Client Secret, поскольку доступ к API имеют только уполномоченные лица.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

После генерации токена JWT обратитесь к API PostConvertByFormat для выполнения преобразования GLB в FBX.

curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.glb&newformat=fbx&newfilename=ConvertedFile.fbx&IsOverwrite=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Заключение

В этой статье объясняются концепции, связанные с популярными форматами 3D-файлов в другие поддерживаемые форматы с использованием Aspose.3D Cloud API. В этой статье мы обсудили шаги для преобразования файлов с использованием фрагмента кода Node.js, а также команды cURL. Помимо форматов, обсуждаемых выше, API способен загружать и сохранять вывод в других форматах 3D-файлов, и соответствующие сведения можно найти в Поддерживаемые форматы документов.

Обратите внимание, что в рамках бесплатной подписки на учетную запись вы можете выполнить 150 запросов на обработку документов, и как только вы будете удовлетворены API, вы можете рассмотреть возможность приобретения лицензионной подписки, которая может стоить всего $0.005/вызов API. Для получения более подробной информации посетите страницу цен. Если у вас возникнут какие-либо проблемы при использовании API или у вас возникнут какие-либо связанные с этим вопросы, пожалуйста, свяжитесь с нами через форум поддержки бесплатных продуктов.

Связанная статья

Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о функциях