วิธีการแปลง FBX ไปยัง glTF ใน Python

วิธีการแปลง 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().ใช้ไฟล์ขยายอัตโนมัติการตรวจจับหรือวิธีการโรงงานที่แสดงไว้ข้างต้น.

ดูเพิ่มเติม

 ภาษาไทย