使用 Python 开发基于云的轻量级 FBX 到 GLB 转换器。

GLB 转 FBX

GLB 转 FBX Python 库

概述

GLB 格式是 3D 场景和模型的流行 3D 文件格式之一。它是 GLTF 2.0 文件格式的二进制版本。它通常包含纹理而不是将其引用为外部图像,并作为 GLTF 的扩展引入。而 FBX 文件用于交换 3D 几何和动画数据。它广泛用于电影、游戏、增强现实和虚拟现实 (AR/VR) 开发。此外,FBX 文件格式采用二进制格式,效率很高。因此,由于这个事实,我们可能需要将 GLB 格式转换为 FBX 格式,因此在本文中,我们将讨论如何在 Python 中以编程方式将 GLB 转换为 FBX 的步骤和相关细节。

3D 文件处理 API

Aspose.3D Cloud 是我们基于 REST 的解决方案,用于以编程方式处理 3D 文件格式。它使您能够在桌面、Web 和基于云的应用程序中创建、修改和转换 3D 对象、模型和实体(盒子、圆柱体、球体、圆环、平面)。该 API 使您能够使用三角剖分网格,并允许您对整个文件进行三角剖分或仅对 3D 场景的一部分进行三角剖分(由 OAP 指定)并将其保存为其他 支持的文件格式

为了进一步方便我们的客户,我们创建了 Aspose.3D Cloud SDK for Python,它是 Aspose.3D Cloud 的包装器。因此,第一步是安装 GLB 到 FBX Python 库,该库可在 PIPGitHub 下载。现在在命令行终端上执行以下命令来安装 SDK:

pip install aspose3dcloud

但是,为了在 Microsoft Visual Studio 中直接安装 Aspose.3D Cloud,请在 Python 环境窗口的 Packages 字段下输入 aspose3dcloud。然后单击 Install aspose3dcloud 链接。参见下图。

GLB 转 FBX

图 1:Visual Studio 中的 Python 包安装。

Aspose.Cloud 仪表板

为了开始使用 Cloud API,我们需要在 Aspose.Cloud 仪表板 上创建一个帐户。如果您有 GitHub 或 Google 帐户,只需注册或单击 创建新帐户 按钮并提供所需信息。现在使用凭据登录仪表板并从仪表板展开应用程序部分,然后向下滚动到客户端凭据部分以查看客户端 ID 和客户端密钥详细信息。

GLB 转 FBX

图片 2:- Aspose.Cloud 仪表板上的客户端凭证预览。

使用 Python 将 GLB 转换为 FBX

在本节中,我们将讨论使用 Python 代码片段将云存储中已有的 GLB 文件转换为 FBX 格式。请按照以下步骤完成此要求。

  • 首先,我们需要创建一个 ThreeDCloudApi 的实例,并传递客户端 ID 和客户端机密详细信息作为参数。
  • 其次,定义输入 GLB 名称、输出格式为 FBX 以及结果文件的名称。
  • 最后调用ThreeDCloudApi类的postconvertbyformat(…)方法执行转换操作。
import aspose3dcloud
from aspose3dcloud import ThreeDCloudApi
from aspose3dcloud.rest import ApiException

def main():
	try:
		# 创建 Aspose.3D Cloud 实例
		threeDCloudApi  = aspose3dcloud.ThreeDCloudApi("client_credentials", "6185429e-17ce-468d-bb81-a51ac9d96c16","73a07e2fb010f559e482d854fe5a8f49")
		
		# 输入 GLB 文件
		name = "Wolf-Blender-2.82a.glb"
		# 生成的 FBX 文件格式
		newformat = "fbx7200binary"
		# 生成的 FBX 文件的名称
		newfilename = "Converted.fbx"
		# 设置标志以覆盖现有文件
		isOverwrite = "true"
		
		# 启动文件转换操作
		result = threeDCloudApi.post_convert_by_format(name, newformat, newfilename, folder = None, is_overwrite = isOverwrite)
        
		# 在控制台中打印消息(可选)
		print('Conversion process completed successfully !')
	except ApiException as e:
		print("Exception while calling WordsApi: {0}".format(e))   
	
		main()

使用 cURL 命令将 GLB 转换为 FBX

cURL 命令是通过命令提示符访问 REST API 的便捷方式之一。因此,我们也可以通过 cURL 命令访问 Aspose.3D Cloud。但首先,我们需要根据客户端凭据生成 JWT 访问令牌,以使用此 GLB 到 FBX Python 库。请执行以下命令来生成一个:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=6185429e-17ce-468d-bb81-a51ac9d96c16&client_secret=73a07e2fb010f559e482d854fe5a8f49" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

请使用以下命令将 GLB 文件转换为 FBX 格式并将输出保存在云存储中。

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

上述示例中使用的示例文件可以从 Wolf-Blender-2.82a.glbWolf-Blender-Converted.fbx 下载。

结论

在本文中,我们讨论了如何使用 GLB 到 FBX Python 库和通过 cURL 命令将 GLB 转换为 FBX 格式的详细信息。请注意,我们的 SDK 是根据 MIT 许可证开发的,因此它们的完整源代码可通过 GitHub 下载。如果您希望在 Python 项目中选择 FBX 到 GLB 转换器,这篇博客文章肯定会对您有所帮助。此外,下面的“探索”部分列出了更多相关文章,您可以查看。

为了及时了解我们 API 的最新更新,您可以考虑关注我们的社交媒体账户 FacebookLinkedInTwitter

提出问题

欢迎随时访问我们的论坛,我们非常积极地回答问题和疑问/讨论。

探索

我们还建议您访问以下链接以了解更多信息