วิธีการแปลงรูปแบบ 3D ใน .NET

วิธีการแปลงรูปแบบ 3D ใน .NET

Aspose.3D สําหรับ .NET ทําให้การแปลงรูปแบบเป็นขั้นตอนสอง: คาร์จไฟล์แหล่งข้อมูลด้วย Scene.Open(), จากนั้นบันทึกไปยังรูปแบบเป้าหมายกับ Scene.Save(). รูปแบบการออกจะถูกลบจากไฟล์ขยาย.

คู่มือขั้นตอน

ขั้นตอนที่ 1: ติดตั้งแพคเกจ

dotnet add package Aspose.3D.FOSS

ขั้นตอนที่ 2: การนําเข้าพื้นที่ชื่อ

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

ขั้นตอนที่ 3: ดาวน์โหลดไฟล์แหล่งข้อมูล

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

ขั้นตอน 4: เก็บในรูปแบบเป้าหมาย

scene.Save("output.glb");

บิสตจักรตรวจจับรูปแบบเป้าหมายจากการขยายตัว รูปแบบส่งออกที่ได้รับการสนับสนุน: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA และ 3MF.


ขั้นตอน 5: ใช้ตัวเลือกการบันทึกแบบกําหนดเอง

สําหรับการควบคุมเม็ดสีบางผ่าน A 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 });

สูตรการแปลงทั่วไป

หลักสูตรเป้าหมายรหัส
OBJ ไปยัง GLBscene.Open("input.obj"); scene.Save("output.glb");บินเนียร์ glTF สําหรับผู้ชมเว็บ
FBX ไปยัง STLscene.Open("input.fbx"); scene.Save("output.stl");โมสก์ท็อปสําหรับพิมพ์ 3D
GLTF ไปยัง COLLADAscene.Open("input.gltf"); scene.Save("output.dae");รูปแบบการแลกเปลี่ยน DAE
STL ไปยัง OBJscene.Open("input.stl"); scene.Save("output.obj");Wavefront สําหรับเครื่องมือการออกแบบ

ปัญหาทั่วไปและข้อกําหนด

ไฟล์ออกเป็นว่างเปล่าหรือเล็กมาก

ให้แน่ใจว่าไฟล์แหล่งที่มาโหลดได้ประสบความสําเร็จ ตรวจสอบ scene.RootNode.ChildNodes.Count หลังจากที่ Open().

วัสดุที่สูญเสียในระหว่างการแปลง

ไม่ทั้งหมดรูปแบบมีคุณสมบัติวัสดุเดียวกัน OBJ วัสดุก่อใช้ Lambert / Phong glTF ใช้ PBR การทําแผนที่วัสดุดิบคือความพยายามที่ดีที่สุดผ่านข้อ จํากัด ของรูปแบบ.

ความแตกต่างระหว่างแหล่งกําเนิดและผลผลิต

เครื่องมือที่แตกต่างกันใช้ระบบหน่วยต่างๆ ใช้เครื่องมืออื่น ๆ ObjLoadOptions.Scale การนําเข้าหรือปรับเปลี่ยน node.Transform.Scale ก่อนที่จะประหยัด.


คําถามที่พบบ่อย (FAQ)

ฉันสามารถแปลง PLY ไปยังรูปแบบอื่นหรือไม่?

PLY เป็นการนําเข้าเท่านั้น ดาวน์โหลดไฟล์ PLy และบันทึกไปยังรูปแบบส่งออกใด ๆ (OBJ, STL, GLB, FBX, COLLADA).

การแปลงช่วยให้การเคลื่อนไหวได้หรือไม่?

ข้อมูลการเคลื่อนไหว (AnimationClip) จะถูกเก็บไว้เมื่อทั้งสองรูปแบบสนับสนุน (เช่น FBX ไปยัง glTF) STL และ OBJ ไม่ได้นําข้อมูลการเคลื่อนไหว.

ฉันสามารถแปลงไฟล์หลายตัวได้หรือไม่?

สร้างใหม่ Scene สําหรับแต่ละไฟล์ในกล่อง แต่ละ Scene เป็นอิสระและสามารถประมวลผลในแบบ موازی.

 ภาษาไทย