بيانات glTF بصيغة JSON (.gltf)
ISO/IEC قياسيتنسيق نقل الرسومات (glTF) مواصفة JSON مفتوحة وخالية من حقوق الملكية، تتيح نقل المشاهد والنماذج ثلاثية الأبعاد وتحميلها بكفاءة في WebGL وWebGPU ومحركات الألعاب والتطبيقات الأصلية.
تحويل GLTF إلى GLB
محول مجاني داخل المتصفح للتحويل من GLTF إلى GLB. قم بتحويل الملفات فوراً على جهازك.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات glTF من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات glTF من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
7B 0A 20 20 22 61 73 73 65 74 22تمثيل ASCII: {\n "asset"
التوحيد القياسي: ISO/IEC 12113:2022 / معيار Khronos المفتوح
المواصفات الفنية
| هيكلية الحاوية | مستند JSON مقروء للبشر يصف مخطط المشهد والعقد والشبكات وaccessors والمواد والرسوم المتحركة، مع إحالات إلى المخازن الخارجية |
| الضغط | قوام خارجية (PNG وJPEG وWebP) مع ضغط هندسة اختياري باستخدام Draco |
| ترتيب البايتات (Endianness) | نص JSON بترميز UTF-8، يشير إلى مخازن .bin ذات ترتيب البايتات الصغير |
| مساحات الألوان | لون أساسي sRGB, خشونة ومعدنية خطيتان |
| القنوات والبنية | تسلسل المشهد الهرمي وعقده وكاميراته ومواد PBR وهياكل التحريك العظمي وأهداف التشكل |
| الحد الأقصى للأبعاد | عدد الإحداثيات والمثلثات غير محدود |
| الشفافية | أوضاع ألفا BLEND وMASK مع حد القطع، أو النقل الحجمي |
| البث والتحميل التدرجي | يفصل glTF وصف المشهد عن بيانات الهندسة والقوام الثنائية، ما يتيح لعارض تحميل المكونات عند الحاجة بدلاً من انتظار ملف واحد كبير. |
مصفوفة المقارنة التقنية: glTF مقابل المنافسين
| السمة التقنية | glTF (الحالي) | GLB | OBJ | FBX |
|---|---|---|---|---|
| بنية الملفات | نص مشهد JSON مع ملفات .bin وقوام مصاحبة | ملف ثنائي واحد مستقل بذاته | قمم ووجوه نصية عادية + .mtl | حاوية احتكارية ثنائية أو نصية بصيغة ASCII |
| معايير مواد PBR | مواد PBR معيارية قائمة على المعدنيّة والخشونة | PBR قياسي قائم على المعدنيّة والخشونة | مواد Phong/Lambert القديمة | مواد مخصصة احتكارية |
| دعم الرسوم المتحركة | تحريك الهيكل العظمي وأهداف التشكل | تحريك الهيكل العظمي وأهداف التشكل | لا يوجد (هندسة ثابتة فقط) | رسوم متحركة وعظام معقدة |
| أداء وقت التشغيل | محسّن لـ WebGL ومحركات الوقت الفعلي | محسّن لـ WebGL ومحركات الوقت الفعلي | يتطلب تحليلاً بطيئاً وإعادة بناء | يتطلب تحليلًا معقدًا باستخدام SDK لسطح المكتب |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
خطأ في المحرك ثلاثي الأبعاد: 'فشل تحميل المخزن المؤقت: لم يتم العثور على URI'.
السبب الجذري: لم يُرفع ملف .bin الثنائي المصاحب أو صور القوام إلى جانب ملف .gltf.
الاسترداد: اجمع كل الملفات المصاحبة، أو حوّلها مباشرةً إلى ملف GLB واحد باستخدام File2File.app.
تحليل الأمان ومتجهات الهجوم على المحلّل
تشير ملفات glTF بصيغة JSON إلى معرّفات URI خارجية، مثل معرّفات بيانات URI أو عناوين URL بعيدة، ما قد يتيح تزوير الطلبات من جانب الخادم (SSRF) أو اجتياز المسارات.
ناقلات الهجوم المعروفة
- اجتياز المسارات عبر معرّفات URI نسبية للمخازن، مثل uri: ../../../etc/passwd.
- تزوير طلبات من جانب الخادم (SSRF) عند جلب مخازن الشبكة عن بُعد في مولدات الصور المصغّرة ثلاثية الأبعاد.
- حجب الخدمة بسبب دورات غير سليمة ومتكررة في التسلسل الهرمي للعقد.
أفضل الممارسات الدفاعية: امنع عناوين URL البعيدة وطبّع مسارات URI للمخازن المحلية قبل تحميلها.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- تتيح بنية JSON المقروءة للبشر تحرير الملفات برمجيًا، وكتابة نصوص لمعالجة مسارات العمل، وفحص المحتوى بصريًا.
- يفصل التصميم المعياري بيانات المشهد الوصفية الخفيفة عن الهندسة الثنائية الكبيرة (.bin) والقوام.
- تساعد مواد PBR على اتساق العرض، لكن النتيجة تختلف حسب المحرك والإضاءة والإعدادات.
القيود الفنية والسلبيات
- تعدد الملفات معقد: لمشاركة النموذج، يجب جمع ملفات .gltf و.bin وقوام الصور في حزمة أو أرشيف ZIP.
- أبطأ قليلًا في بدء التحميل من GLB ذي الملف الواحد، بسبب تعدد طلبات HTTP.
- قد تتعطل تبعيات المسارات النسبية إذا أُعيدت تسمية ملفات القوام المصاحبة أو نُقلت.
معلومات تقنية طريفة
- يُلقب glTF رسميًا «JPEG ثلاثي الأبعاد» لأنه يركز على نقل الأصول وعرضها أثناء التشغيل، لا على تأليفها.
- قدّمت مجموعة Khronos تنسيق glTF لتسهيل نقل الأصول ثلاثية الأبعاد لتطبيقات الويب والهواتف المحمولة.
- تتيح NASA تنزيل نماذج ثلاثية الأبعاد لمركباتها الجوالة وأقمارها الصناعية ورواد الفضاء بتنسيق glTF.
الأسئلة التقنية المتكررة
لماذا تنقص الألوان أو الأشكال من ملف glTF؟
يحتوي ملف .gltf على تعليمات المشهد بصيغة JSON فقط، ويحتاج إلى ملفات .bin مصاحبة للهندسة ثلاثية الأبعاد وملفات .png أو .jpg للألوان. تأكد من وجود الملفات كلها في المجلد نفسه.
كيف أحوّل ملف glTF إلى ملف GLB واحد؟
ارفع ملف .gltf والملفات المصاحبة له، مثل .bin وملفات القوام، إلى File2File.app لدمجها فورًا في ملف .glb واحد مكتفٍ بذاته.
ما البرامج التي تدعم glTF؟
يدعم Blender وThree.js وBabylon.js وUnity وUnreal Engine وGodot وWindows 3D Viewer تنسيق glTF مباشرةً.
أزواج تحويل glTF ذات الصلة
يحوّل تجميع أصول glTF JSON في حاويات glTF Binary البيانات النصية وملفات المخازن الثنائية والقوام المنفصلة إلى ملف واحد، لتسريع تقديمها عبر الويب.
يؤدي تحويل ملفات GLB إلى GLTF إلى تفكيك حاوية ثنائية واحدة إلى ملفات نصية وملفات أصول منفصلة، مما يتيح للمطورين تعديل القوام ورموز الهندسة ثلاثية الأبعاد بكل سهولة.
يعمل تحويل ملفات الهندسة Wavefront OBJ إلى بيانات JSON لـ glTF على تحديث النماذج ثلاثية الأبعاد الثابتة إلى أصول جاهزة للويب يتم تحميلها فورًا داخل متصفحات الويب القياسية.