
FBX 檔案是一種用於交換 3D 幾何和動畫資料的格式。 FBX 檔案用於電影、遊戲和擴增實境和虛擬實境 (AR/VR) 開發。此外,為了開啟、編輯和將 FBX 文件匯出為高保真 2D 和 3D 文件,我們需要一些第三方軟體,如 Autodesk FBX Review 等。因此我們可能需要將 FBX 檔案渲染為 OBJ 格式。在本文中,我們將學習如何使用 REST API 以程式設計方式將 FBX 檔案轉換為 OBJ 檔案的步驟。
3D 檔案處理 API
為了以程式設計方式建立和處理 3D 模型、物件和實體(包括盒子、圓柱體、球體、圓環和平面),我們建立了一個名為 Aspose.3D Cloud 的基於 REST 的 API。執行所有操作,如變換和平移、縮放、參數化建模、3D 物件的旋轉,甚至無需安裝任何軟體即可使用三角網格。由於它是基於 REST 架構,因此該 API 可用於桌面、Web、行動裝置和混合應用程式。
在本文中,我們將討論使用 C# .NET 程式碼片段將 FBX 檔案轉換為 OBJ 格式,因此我們需要專注於 Aspose.3D Cloud SDK for .NET。 SDK 是 REST 的包裝器,因此您可以在您最喜歡的 IDE 中獲得 3D 檔案處理的所有功能。
安裝
使用 SDK 的第一步是安裝。可以透過 NuGet 和 GitHub 下載 Cloud SDK。因此,為了從 NuGet 安裝 SDK,請考慮在終端機中執行以下命令。
nuget install Aspose.3D-Cloud
NuGet 套件管理器
您也可以考慮在 Visual Studio 中的套件管理器控制台中執行以下命令來在您的專案中取得和引用 Aspose.3D 組件。
PM> Install-Package Aspose.3D-Cloud
Visual Studio
另一種方法是直接在 Visual Studio 解決方案中安裝:
- 開啟解決方案資源管理器。
- 展開專案並右鍵單擊解決方案中的“包”資料夾。
- 選擇管理 NuGet 套件… 選項
- 點擊“瀏覽”標籤並蒐索“Aspose.3D-Cloud”
- 在搜尋結果中點選 Aspose.3D-Cloud 套件
- 在右側標籤中選擇適當的版本,然後按一下「安裝」按鈕。

圖 1:- Aspose.3D Cloud 作為 Visual Studio 中的 NuGet 套件。
雲端儀表板
在 Aspose,資料的機密性、完整性和可用性至關重要。因此,只有授權人員才能存取雲端 API 以及儲存在雲端儲存中的文件。下一個重要步驟是透過 Aspose.Cloud 儀表板 建立一個免費訂閱帳戶。訂閱是免費的,不需要信用卡或付款詳細資料。在免費訂閱帳戶下,您最多可以執行 150 個免費文件處理請求。
現在使用您的 GitHub 或 Google 帳戶,只需註冊即可。否則,請點擊建立新帳戶按鈕並提供所需資訊。現在使用憑證登入儀表板並從儀表板展開應用程式部分並向下捲動至用戶端憑證部分以查看用戶端 ID 和用戶端金鑰詳細資訊。

圖 2:- Aspose.Cloud 儀表板上的客戶端憑證。
使用 C# 將 FBX 轉換為 OBJ
請依照下方指定的步驟使用 C# .NET 程式碼片段將 FBX 格式轉換為 OBJ 格式。
- 首先,我們需要建立 ThreeDCloudApi 類別的實例,並傳遞客戶端 ID 和客戶端金鑰作為參數。
- 其次,將輸入的 FBX 檔案從本機系統載入到 FileStream 物件中。
- 現在使用 ThreeDCloudApi 類別的 UploadFile(…) 方法將檔案上傳到雲端儲存。
- 下一步是呼叫 PostConvertByFormatWithHttpInfo(…) 方法,該方法以輸入檔案名稱、輸出格式和結果檔案名稱作為參數。
- 最後在控制台列印成功訊息,此時輸出將保存在雲端儲存中。
// 從 https://dashboard.aspose.cloud/ 取得 ClientID
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// 輸入 FBX 檔案的名稱
String inputFileName = "Wolf-Blender-2.82a.fbx";
// 產生的文件格式
String newFormat = "wavefrontobj";
// 輸出文件的名稱
String newFileName = "resultant.obj";
// 建立 ThreeDCloud API 實例
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
try
{
// 從本機磁碟機載入輸入 FBX
using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
{
// 將文件上傳至雲端存儲
threeDCloudApi.UploadFile(inputFileName, inputStream);
// 啟動檔案轉換操作
var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
// 如果轉換成功,則列印成功訊息
if (response != null && response.Equals("OK"))
{
Console.WriteLine("Successfully converted FBX to OBJ !");
Console.ReadKey();
}
}
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
供您參考,上面範例中使用的範例檔案已透過 Wolf-Blender-2.82a.fbx 和 resultant.obj 上傳。
使用 cURL 指令將 FBX 轉換為 OBJ
Cloud API 的 REST 架構使您能夠透過 cURL 命令存取它們,因此我們也可以透過 cURL 命令存取 Aspose.3D Cloud。同時,我們的 API 僅供授權人員訪問,因此我們需要先根據個人化的客戶端憑證產生 JWT 存取權杖。請執行以下命令來產生 JWT 存取令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
現在我們需要在執行以下命令時將檔案上傳到雲端儲存。
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/Esso.3ds" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"File":{c:\Users\nayyer\Esso.3ds}} -v
一旦產生 JWT 存取令牌,請執行以下命令將 FBX 檔案轉換為 OBJ 格式。以下是 PostConvertByFormat API 接受的參數的詳細信息
- name——來源檔案的名稱。
- newformat - 新文件的格式。
- newfilename - 新檔案的名稱。
- 資料夾(可選)-來源檔案的資料夾。
- IsOverwrite(可選)-是否覆蓋來源檔案? (預設值為 false)
- 儲存(可選) - 儲存類型。
curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.fbx&newformat=wavefrontobj&newfilename=Converted.obj&IsOverwrite=true" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-v
請求 URL
https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=FBX&newfilename=Iphone.fbx&IsOverwrite=false
結論
在本文中,我們討論如何使用 C# .NET 程式碼片段和 cURL 指令將 FBX 檔案轉換為 OBJ 格式的步驟。此外,我們的雲端 SDK 是在開源授權模式下開發的,因此完整的原始程式碼可以從 GitHub 下載。
回顧一下,我們在下面列出了 Cloud API 目前支援的 3D 格式
積層製造格式 AMF、3D Studio 3DS、AVEVA RVM、Google Draco DRC、Collada DAE、AutoCAD DXF、Autodesk FBX、Wavefront OBJ、3D PDF、多邊形檔案格式 PLY、標準三角語言 STL、Universal3D U3D、GL 電腦格式傳輸格式。
我們鼓勵您嘗試使用我們的 API,如果您遇到任何問題或有任何相關疑問,請隨時透過 [免費支援論壇] 與我們聯繫。
相關文章
我們還建議您訪問以下鏈接,以詳細了解我們屢獲殊榮的 API 的功能