วิธีการแปลงรูปแบบ 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 ไปยัง GLB | scene.Open("input.obj"); scene.Save("output.glb"); | บินเนียร์ glTF สําหรับผู้ชมเว็บ |
| FBX ไปยัง STL | scene.Open("input.fbx"); scene.Save("output.stl"); | โมสก์ท็อปสําหรับพิมพ์ 3D |
| GLTF ไปยัง COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | รูปแบบการแลกเปลี่ยน DAE |
| STL ไปยัง OBJ | scene.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 เป็นอิสระและสามารถประมวลผลในแบบ موازی.