วิธีการแปลง FBX ไปยัง glTF ใน Python
ปัญหา
ผู้พัฒนาต้องแปลงไฟล์รูปแบบ FBX 3D ไปยัง格式 glTF หรือ GLB สําหรับการใช้งานในเว็บดูเครื่องเล่นและท่อ rendering แบบทันสมัย Aspose.3D จัดทําด้วย: Scene.from_file() ดาวน์โหลดไฟล์ FBX และ scene.save() เพื่อเขียนผลลัพธ์ GLTF.
หมายเหตุเกี่ยวกับการสนับสนุน FBX: Aspose.3D FOSS มี การทดลอง FBX สนับสนุน. tokenizer FBx ถูกนําไปใช้ แต่ parser มีข้อผิดพลาดทางโครงสร้าง: การจัดการ CLOSE_BRACKET ไม่ถูกต้องและการรีไซเคิลไม่ จํากัด บนสปริง FB X ที่ซับซ้อน ไฟล์ FB x ขนาดใหญ่หรือขนาดใหญ่อาจทําให้เกิดความเสียหาย RecursionError. ง่าย Fbx พื้นที่สามารถทํางาน สําหรับการผลิตใช้โปรด COLLADA, OBJ หรือ glTF บน FBX ดูข้อมูลเพิ่มเติม FAQ สําหรับรายละเอียดเพิ่มเติม.
ข้อกําหนด
- Python 3.7 หรือเร็วกว่า
- ติดตั้งผ่าน pip:
pip install aspose-3d-foss
from aspose.threed import Sceneขั้นตอนการแปลง
ขั้นตอน 1: ดาวน์โหลดไฟล์ FBX
ใช้ Scene.from_file() เพื่อโหลดไฟล์ FBX. รูปแบบจะถูกตรวจจับโดยอัตโนมัติจาก .fbx การขยายตัว.
from aspose.threed import Scene
scene = Scene.from_file("input.fbx")ขั้นตอน 2: เก็บไป glTF บินเนีย (GLB)
โทรศัพท์ scene.save() ด้วย The .glb extension เพื่อเขียนการออกเป็นไฟล์ glTF คอมเพรสต์ รูปแบบจะถูกนํามาใช้โดยอัตโนมัติจาก Extension นี่คือวิธีการที่แนะนํา: ไฟล์เดียว, compact และเข้ากันได้อย่างแพร่หลาย.
# Use the .glb extension for binary GLB output (auto-detected)
scene.save("output.glb")หมายเหตุ : ภาษาไทยFileFormat.GLTF2_BINARY และ FileFormat.GLTF มี None สอดคงที่ในเวอร์ชันการจัดเก็บข้อมูลปัจจุบันและไม่ควรผ่านไปสู่ scene.save().ใช้ไฟล์ขยายอัตโนมัติการตรวจจับหรือ FileFormat.GLTF2() วิธีการโรงงานแทน.
เพื่อบันทึกเป็น JSON glTF แทน:
scene.save("output.gltf")ขั้นตอนที่ 3: (ตัวเลือก) ใช้ GltfSaveOptions
สําหรับการควบคุมเพิ่มเติมเกี่ยวกับผลผลิต glTF, ผ่าน a GltfSaveOptions วัตถุ :
from aspose.threed.formats import GltfSaveOptions
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("output.glb", opts)ตัวอย่างรหัส
การแปลง FBX-GLB แบบเต็มรูปแบบในสามเส้น:
from aspose.threed import Scene
scene = Scene.from_file("input.fbx")
scene.save("output.glb") # .glb extension triggers binary GLB output automatically
print("Conversion complete: input.fbx -> output.glb")การสนับสนุนรูปแบบการออก
เมื่อแปลงจาก FBX รูปแบบการส่งออกต่อไปนี้ทํางานได้อย่างน่าเชื่อถือ:
| รูปแบบ | การขยายตัว | วิธีการระบุ |
|---|---|---|
| GLTF | .glb / .gltf | การขยายตัวตรวจจับอัตโนมัติ; GLB ไบนาลหรือ glTF JSON |
| OBJ | .โบสถ์ | การตรวจจับอัตโนมัติ |
| STL | .ภาษาไทย | การตรวจจับอัตโนมัติ |
| 3MF | .3 มม | การตรวจจับอัตโนมัติ |
บันทึก : ภาษาไทยFileFormat.GLTF2_BINARY, FileFormat.GLTF,และ FileFormat.MICROSOFT_3MF มี None สอดคล้องกันและไม่ควรผ่านไปสู่การ scene.save().ใช้ไฟล์ขยายอัตโนมัติการตรวจจับหรือวิธีการโรงงานที่แสดงไว้ข้างต้น.