使用 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 to FBX Python 函式庫,該函式庫可以在 PIPGitHub 上下載。現在在命令列終端機執行以下命令來安裝SDK:

pip install aspose3dcloud

但是,為了在 Microsoft Visual Studio 中直接安裝 Aspose.3D Cloud,請在 Python 環境視窗的 Packages 欄位下輸入 aspose3dcloud。然後點擊安裝 aspose3dcloud 連結。請參考下圖。

GLB 至 FBX

圖 1:- Visual Studio 中的 Python 套件安裝。

Aspose.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 在我們的社群媒體帳號上關注我們。

問一個問題

請隨時造訪我們的論壇,論壇非常積極地回答問題和疑問/討論。

探索

我們還建議訪問以下連結以了解更多信息