محول بيانات الثنائي glTF إلى صيغة JSON لـ glTF
يؤدي تحويل ملفات GLB إلى GLTF إلى تفكيك حاوية ثنائية واحدة إلى ملفات نصية وملفات أصول منفصلة، مما يتيح للمطورين تعديل القوام ورموز الهندسة ثلاثية الأبعاد بكل سهولة.
مقارنة التنسيقات والمواصفات التقنية
| المواصفات | GLB | GLTF |
|---|---|---|
| نوع MIME | model/gltf-binary | model/gltf+json |
| النوع | self-contained binary 3D container | runtime 3D asset transmission |
| الضغط | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| المواصفات القياسية | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| رأس البايتات السحرية (Magic Bytes) | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
نظرة عامة على التنسيق والاستخدامات
تجمع صيغة GLB المشاهد ثلاثية الأبعاد، والرسوم المتحركة، والمواد، والقوام في حزمة ثنائية واحدة متكاملة. ورغم أن هذه الصيغة ممتازة لتحميل الكائنات بسرعة في صفحات الويب والألعاب، إلا أنها تصعب عملية تحرير البيانات الخام. غالبًا ما يحتاج المطورون إلى تفكيك ملف GLB إلى صيغة GLTF عندما يرغبون في فحص بنية المشهد، أو تعديل خصائص المواد داخل مححر النصوص، أو تغيير معاملات التظليل المضمنة. التعامل مع أصول GLTF المفككة يمكن فرق الهندسة من التحكم في إصدارات مكونات شبكية محددة ثلاثية الأبعاد باستخدام مسارات العمل القياسية لـ Git. فبدلاً من تتبع كتلة ثنائية ضخمة، يمكن للمطورين اعتماد التغييرات النصية الصغيرة على ملف بيان JSON مع إدارة ملفات المخزن المؤقت الثنائي المنفصلة. تدعم عملية التحويل هذه خطوط تطوير الويب المتقدمة حيث تتطلب الأصول ثلاثية الأبعاد حقن مخصص للمظلات أو تبديلًا ديناميكيًا للقوام قبل نشرها في وقت التشغيل.
المواصفات التقنية وتحليل الترميز (Codec)
تستخدم صيغة GLB نوع الوسائط model/gltf-binary وتبدأ برأس مكون من 12 بايت يحتوي على رقم مميز بطول 4 بايت (0x46546C67)، ورقم إصدار صحيح بطول 4 بايت، وطول إجمالي للملف بطول 4 بايت. يتبع هذا الرأس أجزاء تحتوي على بيان JSON ومخازن مؤقتة ثنائية. يؤدي تحويل ذلك إلى صيغة GLTF، والتي تستخدم نوع الوسائط model/gltf+json، إلى فصل البيان إلى ملف نصي قابل للقراءة البشرية بامتداد .gltf. يتم كتابة بيانات الهندسة وخرائط البكسل في ملفات خارجية منفصلة مثل .bin و .png. لا تستخدم أي من الصيغتين ضغطًا يفقد البيانات افتراضيًا. تحافظ كلتا الصيغتين على مواضع الرؤوس، والاتجاهات المتعامدة، وإحداثيات الأشعة فوق البنفسجية بأقصى دقة رياضية.
توافق أنظمة التشغيل والمتصفحات
تعمل ملفات GLTF المفككة بسلاسة عبر جميع متصفحات الويب الحديثة بما في ذلك Google Chrome وMozilla Firefox وApple Safari وMicrosoft Edge باستخدام محركات العرض WebGL وWebGPU. تدعم أنظمة التشغيل المكتبية مثل Windows 10 و11 وmacOS وLinux عرض GLTF من خلال الأدوات الأصلية مثل Windows 3D Viewer وBlender. تقوم أنظمة التشغيل المحمولة على iOS وAndroid برسم أصول GLTF داخل بيئات الواقع المعزز الأصلية وتطبيقات الويب، رغم أنه يجب على المطورين استضافة ملفات .bin و.gltf المنفصلة بشكل صحيح على خوادمهم لتجنب أخطاء مشاركة الموارد عبر النطاقات.
💡 معلومات مفيدة
احتفظ دائمًا بخرائط القوام الخاصة بك في نفس المجلد مثل ملف .gltf الرئيسي بعد التحويل حتى يتمكن بيان JSON من العثور على تبعاته الخارجية دون حدوث أخطاء في المسارات المكسورة.
مقارنة التنسيقات والمواصفات التقنية
سيؤدي نموذج شخصية ثلاثي الأبعاد معقد بحجم 15 ميجابايت بصيغة GLB إلى بصمة بيانات إجمالية مماثلة عند تقسيمه إلى بيان .gltf وملفات .bin خارجية. على اتصال شبكة 4G قياسي يعمل بسرعة 30 ميجابت في الثانية، يستغرق تنزيل هذا الأصل حوالي 4 ثوانٍ. يؤدي الترقية إلى شبكة 5G أو اتصال الألياف الضوئية بسرعة 300 ميجابت إلى تقليل وقت النقل إلى جزء من الثانية، مما يجعل تحميل الويب المتعدد الملفات فوريًا تقريبًا.
الأسئلة الشائعة
كيف يمكنك تحويل صيغة glTF الثنائية إلى صيغة glTF النصية (JSON) دون فقدان الجودة؟
التحويل من GLB إلى GLTF خالٍ تمامًا من فقدان البيانات لأن كلتا الصيغتين تستخدمان نفس الهياكل الرياضية الأساسية. تستخرج العملية ببساطة جزء JSON والمخازن المؤقتة الثنائية من الحاوية الثنائية الواحدة وتكتبها كملفات منفصلة على قرصك دون تغيير بيانات الرؤوس أو ضغط البكسل.
ما الفرق بين ملف glTF الثنائي وملف glTF بنية JSON؟
ملف GLB هو ملف ثنائي متكامل يحتوي على وصف المشهد والهندسة والقوام في عملية تنزيل واحدة. بينما يفصل ملف GLTF هذه العناصر عن طريق تخزين رسم بياني للمشهد في ملف نصي قابل للقراءة مع الاحتفاظ بالهندسة والقوام في ملفات ثنائية وملفات صور خارجية.