Node.js 中的 GLB 转 FBX

GLB 文件是文本文件,用于记录地球仪中使用的纹理、图像和其他文件,以及这些文件的存储位置。GLB 格式针对下载速度和运行时加载时间进行了优化,使其更易于在移动和基于 Web 的 3D 建模程序中使用。除此之外,glTF 还被开发为一种高效、可扩展、可互操作的 3D 内容传输和加载格式。该格式的目标包括紧凑的文件大小、快速加载、完整的 3D 场景表示、运行时独立性和可扩展性以配合进一步的开发。

同样,FBX 格式允许创作者彼此共享 3D 模型,因为它效率高并且将模型存储为二进制数据。由于这些功能,这两种格式都非常流行,我们可能需要相互转换。在本文中,我们将进一步详细讨论以下主题

3D文件处理API

在我们的 Cloud REST API 的帮助下,3D 文件的处理变得非常方便。因此,现在您可以使用 Aspose.3D Cloud 执行所有 3D 文件处理和转换操作。为了方便我们的客户,我们围绕 Aspose.3D Cloud 创建了一个 Node.js 包装器,以便所有功能都可以在您的 Node.js 项目中使用。

安装和配置

要使用 Cloud SDK,第一步是从 NPMGitHub 安装它。不过,通过 npm 安装是最简单的。请执行以下命令进行安装

npm install aspose3dcloud --save

请注意,Aspose.3D Cloud SDK for Node.js 需要 Node.js 4.8.7 或更高版本。

安装完成后,下一个主要步骤是通过访问 Aspose.Cloud 仪表板 创建一个帐户。您需要创建帐户的原因是我们的 API 仅供授权人员访问。因此,如果您有 GitHub 或 Google 帐户,只需注册即可。否则,单击 创建新帐户 按钮并提供所需信息。现在使用凭据登录仪表板并从仪表板展开应用程序部分,然后向下滚动到客户端凭据部分以查看客户端 ID 和客户端密钥详细信息。

客户端凭证

Node.js 中的 GLB 到 PLY

为了将 GLB 文件转换为 PLY 格式,请按照以下说明操作:

  • 第一步是创建 ThreeDCloudApi 的实例,同时提供客户端 ID 和客户端密钥详细信息作为参数。
  • 其次,创建一个postConvertByFormatRequest类的对象。
  • 使用 postConvertByFormatRequest 类的 name 属性定义输入 GLB 文件名。
  • 为了指定结果格式,请使用 newformat 属性。
  • 现在,为了定义生成的文件名,请使用 postConvertByFormatRequest 的 newfilename 属性。
  • 最后,调用 ThreeDCloudApi 的 postConvertByFormat(…) 方法,并传递 postConvertByFormatRequest 实例作为参数来启动转换操作。
const { ThreeDCloudApi, postConvertByFormatRequest } = require("aspose3dcloud");

// 从 https://dashboard.aspose.cloud 获取您的 ClientId 和 ClientSecret(需要免费注册)。
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const secret = "388e864b819d8b067a8b1cb625a2ea8e";

// 创建 ThreeD Cloud API 实例
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");
}

上述示例中使用的示例文件可通过以下链接获取,以供测试

使用 cURL 命令将 GLB 转换为 FBX

Aspose.3D Cloud 非常出色,您可以使用单个 cURL 命令将 GLB 或其他格式转换为任何其他受支持的格式(包括 FBX)。如上一节所述,您可以使用相同的代码,只需更改输出文件格式扩展名即可执行转换,API 将完成剩余的工作。但是,在命令行终端上访问 API 之前,请注意,我们需要首先根据客户端 ID 和客户端密钥详细信息生成 JWT 访问令牌,因为只有授权人员才能访问 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 令牌,就可以访问 PostConvertByFormat API 来执行 GLBFBX 的转换。

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>"

结论

本文解释了使用 Aspose.3D Cloud API 将流行的 3D 文件格式转换为其他受支持格式的相关概念。在本文中,我们讨论了使用 Node.js 代码片段以及 cURL 命令进行文件转换的步骤。除了上面讨论的格式之外,API 还能够加载和保存其他 3D 文件格式的输出,相关详细信息可在 支持的文档格式 中找到。

请注意,在免费帐户订阅下,您可以执行 150 个文档处理请求,一旦您对 API 感到满意,您可以考虑购买许可证订阅,价格低至 0.005 美元/API 调用。有关更多详细信息,请访问 定价页面。如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过 免费产品支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以探索更多功能