كيفية تحويل FBX إلى glTF في Python

كيفية تحويل FBX إلى glTF في Python

مشكلة

يحتاج المطورون إلى تحويل ملفات نموذج FBX 3D إلى تنسيق glTF أو GLB للاستخدام في المشاهدين على شبكة الإنترنت ومحركات الألعاب وأنابيب التصوير الحديثة. Scene.from_file() تحميل ملف FBX و scene.save() إرسال رسالة GLTF.

ملاحظة على دعم FBX: 3D FOSS لديها التجربة دعم FBX. يتم تنفيذ توكينات FBx ولكن المقطع يعرف الأخطاء الهيكلية: التصرف غير الصحيح CLOSE_BRACKET والانتقال غير المحدود على مجمعات متكاملة من FB X. قد تنفجر ملفات FB x المعقدة أو الكبيرة RecursionError.يمكن أن تعمل مجرد الجيومتر المسطح FBX. للاستخدام الإنتاجية، تفضل COLLADA أو OBJ أو glTF على FB X. انظر: 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 التمديد كتابة النتيجة كملف ثنائي صغير glTF. يتم استبعاد تنسيق تلقائيا من التعديل. هذا هو النهج الموصى به: ملف واحد، صغيرة، ومتوافقة على نطاق واسع.

# 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

للحصول على المزيد من السيطرة على إخراج GTTF ، اجتياز 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.STLالتمديد الذاتي
3MF.3 ميغاواطالتمديد الذاتي

ملاحظة : الـمـنـتـهـيFileFormat.GLTF2_BINARY, FileFormat.GLTF,و ، و FileFormat.MICROSOFT_3MF هم None تُعَدُّ دائمة ولا ينبغي أن يُنْقِض على scene.save().استخدم التمديد الملف التعرف الذاتي أو أساليب المصنع التي تم عرضها أعلاه.

انظر أيضا

 العربية