Cách Chuyển Đổi Mô Hình 3D trong .NET

Cách Chuyển Đổi Mô Hình 3D trong .NET

Aspose.3D for .NET thực hiện chuyển đổi định dạng thành một thao tác hai bước: tải tệp nguồn bằng Scene.Open(), sau đó lưu sang định dạng đích bằng Scene.Save(). Định dạng đầu ra được suy ra từ phần mở rộng tệp.

Hướng Dẫn Từng Bước

Bước 1: Cài đặt gói

dotnet add package Aspose.3D --version 26.1.0

Bước 2: Nhập không gian tên

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

Bước 3: Tải tệp nguồn

var scene = new Scene();
scene.Open("input.fbx");

Bước 4: Lưu ở Định dạng Đích

scene.Save("output.glb");

Thư viện phát hiện định dạng đích từ phần mở rộng. Các định dạng xuất được hỗ trợ: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA và 3MF.


Bước 5: Sử dụng các tùy chọn lưu theo định dạng

Để kiểm soát chi tiết, hãy truyền một lớp con SaveOptions:

// FBX output — always produces binary FBX
// FbxSaveOptions exists but has no format-specific properties in this version
scene.Save("output.fbx");

// OBJ with flipped coordinate system
scene.Save("output.obj", new ObjSaveOptions { FlipCoordinateSystem = true });

// COLLADA with indented XML
scene.Save("output.dae", new ColladaSaveOptions { Indented = true });

Các công thức chuyển đổi chung

SourceTargetCode
OBJ to GLBscene.Open("input.obj"); scene.Save("output.glb");Binary glTF cho các trình xem web
FBX to STLscene.Open("input.fbx"); scene.Save("output.stl");Mạng lưới tam giác cho in 3D
glTF to COLLADAscene.Open("input.gltf"); scene.Save("output.dae");Định dạng trao đổi DAE
STL to OBJscene.Open("input.stl"); scene.Save("output.obj");Wavefront cho các công cụ mô hình hoá

Các vấn đề thường gặp và cách khắc phục

Tệp đầu ra trống hoặc quá nhỏ

Đảm bảo tệp nguồn đã được tải thành công. Kiểm tra scene.RootNode.ChildNodes.Count sau Open().

Tài liệu bị mất trong quá trình chuyển đổi

Không phải tất cả các định dạng đều mang cùng các thuộc tính vật liệu. Vật liệu OBJ sử dụng Lambert/Phong; glTF sử dụng PBR. Việc ánh xạ vật liệu là cố gắng hết mức qua các ranh giới định dạng.

Sự chênh lệch tỷ lệ giữa nguồn và đầu ra

Các công cụ khác nhau sử dụng các hệ đơn vị khác nhau. Áp dụng ObjLoadOptions.Scale khi nhập hoặc điều chỉnh node.Transform.Scale trước khi lưu.


Câu hỏi thường gặp (FAQ)

Tôi có thể chuyển đổi PLY sang định dạng khác không?

PLY chỉ hỗ trợ nhập. Tải tệp PLY và lưu sang bất kỳ định dạng xuất nào (OBJ, STL, GLB, FBX, COLLADA).

Việc chuyển đổi có giữ lại các hoạt ảnh không?

Dữ liệu hoạt hình (AnimationClip) được giữ nguyên khi cả hai định dạng đều hỗ trợ nó (ví dụ, FBX sang glTF). STL và OBJ không chứa dữ liệu hoạt hình.

Tôi có thể chuyển đổi hàng loạt nhiều tệp không?

Tạo một Scene mới cho mỗi tệp trong vòng lặp. Mỗi Scene là độc lập và có thể được xử lý song song.

 Tiếng Việt