
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,第一步是从 NPM 或 GitHub 安装它。不过,通过 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 来执行 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>"
结论
本文解释了使用 Aspose.3D Cloud API 将流行的 3D 文件格式转换为其他受支持格式的相关概念。在本文中,我们讨论了使用 Node.js 代码片段以及 cURL 命令进行文件转换的步骤。除了上面讨论的格式之外,API 还能够加载和保存其他 3D 文件格式的输出,相关详细信息可在 支持的文档格式 中找到。
请注意,在免费帐户订阅下,您可以执行 150 个文档处理请求,一旦您对 API 感到满意,您可以考虑购买许可证订阅,价格低至 0.005 美元/API 调用。有关更多详细信息,请访问 定价页面。如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过 免费产品支持论坛 与我们联系。
相关文章
我们还建议您访问以下链接以探索更多功能