
Tệp FBX là định dạng được sử dụng để trao đổi dữ liệu hình học và hoạt hình 3D. Tệp FBX được sử dụng trong phát triển phim, trò chơi và thực tế tăng cường và thực tế ảo (AR/VR).Ngoài ra, để mở, chỉnh sửa và xuất tệp FBX thành tệp 2D và 3D có độ trung thực cao, chúng ta cần một số phần mềm của bên thứ ba như Autodesk FBX Review, v.v. Trong khi đó, OBJ là định dạng đơn giản hơn nhiều, chỉ giữ lại hình học (đỉnh, pháp tuyến, v.v.) và thường dành cho dữ liệu đa giác thô, một số vật liệu đơn giản. Vì vậy, chúng ta có thể có yêu cầu hiển thị tệp FBX sang định dạng OBJ. Trong bài viết này, chúng ta sẽ tìm hiểu về các bước về cách chuyển đổi tệp FBX sang tệp OBJ theo chương trình bằng REST API.
API xử lý tệp 3D
Để tạo và xử lý theo chương trình các mô hình 3D, đối tượng và thực thể bao gồm Box, Cylinder, Sphere, Torus và Plane, chúng tôi đã tạo ra một API dựa trên REST có tên là Aspose.3D Cloud. Thực hiện tất cả các hoạt động như chuyển đổi & dịch chuyển, tỷ lệ, Mô hình tham số, xoay đối tượng 3D và thậm chí làm việc với Triangulate Meshes mà không cần cài đặt bất kỳ phần mềm nào. Vì nó dựa trên kiến trúc REST, nên API có thể được sử dụng trong Máy tính để bàn, Web, Di động và trong các ứng dụng lai.
Trong bài viết này, chúng ta sẽ thảo luận về việc chuyển đổi tệp FBX sang định dạng OBJ bằng đoạn mã C# .NET, vì vậy chúng ta cần tập trung vào Aspose.3D Cloud SDK cho .NET. SDK là một trình bao bọc xung quanh REST để bạn có được tất cả các tính năng xử lý tệp 3D ngay trong IDE yêu thích của mình.
Cài đặt
Bước đầu tiên trong việc sử dụng SDK là cài đặt. Cloud SDK có thể tải xuống qua NuGet và GitHub. Vì vậy, để cài đặt SDK từ NuGet, hãy cân nhắc thực hiện lệnh sau trong terminal.
nuget install Aspose.3D-Cloud
Trình quản lý gói NuGet
Bạn cũng có thể cân nhắc thực hiện lệnh sau trong Package Manager Console trong Visual Studio để lấy và tham chiếu đến Aspose.3D trong dự án của bạn.
PM> Install-Package Aspose.3D-Cloud
Studio trực quan
Một cách tiếp cận khác là cài đặt trực tiếp trong giải pháp Visual Studio:
- Mở Solution Explorer.
- Mở rộng dự án và nhấp chuột phải vào thư mục Packages trong giải pháp của bạn.
- Chọn tùy chọn Quản lý các gói NuGet…
- Nhấp vào tab Browse và tìm kiếm “Aspose.3D-Cloud“
- Nhấp vào gói Aspose.3D-Cloud từ kết quả tìm kiếm
- Chọn phiên bản phù hợp ở tab bên phải và nhấp vào nút Cài đặt.

Hình ảnh 1:- Aspose.3D Cloud dưới dạng gói NuGet trong Visual Studio.
Bảng điều khiển đám mây
Tại Aspose, tính bảo mật, tính toàn vẹn và tính khả dụng của dữ liệu là vô cùng quan trọng. Do đó, chỉ những người được ủy quyền mới có thể truy cập vào Cloud API cũng như các tệp được lưu trữ trên bộ nhớ đám mây. Bước quan trọng tiếp theo là tạo tài khoản đăng ký miễn phí qua bảng điều khiển Aspose.Cloud. Đăng ký miễn phí và không yêu cầu thông tin thẻ tín dụng hoặc thanh toán. Với tài khoản đăng ký miễn phí, bạn có thể thực hiện tối đa 150 yêu cầu xử lý tài liệu miễn phí.
Bây giờ hãy sử dụng tài khoản GitHub hoặc Google của bạn, chỉ cần Đăng ký. Nếu không, hãy nhấp vào nút Tạo tài khoản mới và cung cấp thông tin bắt buộc. Bây giờ hãy đăng nhập vào bảng điều khiển bằng thông tin xác thực và mở rộng phần Ứng dụng từ bảng điều khiển và cuộn xuống phần Thông tin xác thực của khách hàng để xem thông tin chi tiết về ID khách hàng và Bí mật khách hàng.

Hình ảnh 2: - Thông tin xác thực của khách hàng tại bảng điều khiển Aspose.Cloud.
FBX sang OBJ trong C#
Vui lòng làm theo các bước được chỉ định bên dưới để thực hiện chuyển đổi định dạng FBX sang OBJ bằng đoạn mã C# .NET.
- Đầu tiên chúng ta cần tạo một thể hiện của lớp ThreeDCloudApi trong khi truyền Client ID và Client Secret làm đối số.
- Thứ hai, tải tệp FBX đầu vào từ hệ thống cục bộ vào đối tượng FileStream.
- Bây giờ hãy tải tệp lên bộ nhớ đám mây bằng phương thức UploadFile(…) của lớp ThreeDCloudApi.
- Bước tiếp theo là gọi phương thức PostConvertByFormatWithHttpInfo(…) lấy tên tệp đầu vào, định dạng đầu ra và tên tệp kết quả làm đối số.
- Cuối cùng, in thông báo thành công trong bảng điều khiển và lúc này, đầu ra sẽ được lưu trong bộ nhớ đám mây.
// Lấy ClientID từ https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// tên của tập tin FBX đầu vào
String inputFileName = "Wolf-Blender-2.82a.fbx";
// định dạng tập tin kết quả
String newFormat = "wavefrontobj";
// tên của tập tin đầu ra
String newFileName = "resultant.obj";
// tạo một phiên bản của ThreeDCloud API
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
try
{
// tải đầu vào FBX từ ổ đĩa cục bộ
using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
{
// tải tập tin lên bộ nhớ đám mây
threeDCloudApi.UploadFile(inputFileName, inputStream);
// bắt đầu hoạt động chuyển đổi tập tin
var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
// in thông báo thành công nếu chuyển đổi thành công
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);
}
Để bạn tham khảo, các tệp mẫu được sử dụng trong ví dụ trên được tải lên qua Wolf-Blender-2.82a.fbx và resultant.obj.
Chuyển đổi FBX sang OBJ bằng lệnh cURL
Kiến trúc REST của Cloud API cho phép bạn truy cập chúng thông qua lệnh cURL, do đó chúng ta cũng có thể truy cập Aspose.3D Cloud thông qua lệnh cURL. Đồng thời, API của chúng ta chỉ có thể truy cập được đối với những người được ủy quyền, do đó, trước tiên chúng ta cần tạo mã thông báo truy cập JWT dựa trên thông tin xác thực của khách hàng được cá nhân hóa của chúng ta. Vui lòng thực hiện lệnh sau để tạo mã thông báo truy cập 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"
Bây giờ chúng ta cần tải tệp lên bộ nhớ đám mây trong khi thực hiện lệnh sau.
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
Sau khi mã thông báo truy cập JWT được tạo, vui lòng thực hiện lệnh sau để chuyển đổi tệp FBX sang định dạng OBJ. Dưới đây là thông tin chi tiết về các tham số được API PostConvertByFormat chấp nhận
- tên - Tên của tệp nguồn.
- newformat - Định dạng của tập tin mới.
- newfilename - Tên của tập tin mới.
- thư mục (tùy chọn) - Thư mục chứa tệp nguồn.
- IsOverwrite (tùy chọn) - Ghi đè lên tệp nguồn? (giá trị mặc định là false)
- lưu trữ (tùy chọn) - Loại lưu trữ.
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
Yêu cầu URL
https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=FBX&newfilename=Iphone.fbx&IsOverwrite=false
Phần kết luận
Trong bài viết này, chúng tôi đã thảo luận các bước về cách chuyển đổi tệp FBX sang định dạng OBJ bằng đoạn mã C# .NET và sử dụng lệnh cURL. Hơn nữa, Cloud SDK của chúng tôi được phát triển theo mô hình cấp phép Nguồn mở, do đó, toàn bộ mã nguồn có thể được tải xuống từ GitHub.
Để tóm tắt lại, chúng tôi đã liệt kê bên dưới các định dạng 3D hiện được Cloud API hỗ trợ
Định dạng sản xuất bồi đắp AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, Định dạng tệp đa giác PLY, Ngôn ngữ tam giác chuẩn STL, Universal3D U3D, Định dạng truyền GL GLTF
Chúng tôi khuyến khích bạn thử sử dụng API của chúng tôi và trong trường hợp bạn gặp bất kỳ sự cố nào hoặc có bất kỳ thắc mắc liên quan nào, vui lòng liên hệ với chúng tôi qua Diễn đàn hỗ trợ miễn phí.
Bài viết liên quan
Chúng tôi cũng khuyên bạn nên truy cập các liên kết sau và tìm hiểu thêm về khả năng của các API từng đoạt giải thưởng của chúng tôi