بيانات 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 Open Standard
المواصفات الفنية
| هيكلية الحاوية | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| الضغط | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| ترتيب البايتات (Endianness) | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| مساحات الألوان | sRGB base color, Linear roughness/metallic |
| القنوات والبنية | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| الحد الأقصى للأبعاد | Unbounded coordinate space and triangle count |
| الشفافية | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| البث والتحميل التدرجي | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
مصفوفة المقارنة التقنية: glTF مقابل المنافسين
| السمة التقنية | glTF (الحالي) | GLB | OBJ | FBX |
|---|---|---|---|---|
| هندسة الملفات | نص مشهد JSON + ملفات .bin / قوام مصاحبة | ملف ثنائي واحد مستقل بذاته | قمس ووجوه نصية عادية + .mtl | حاوية ثنائية / ASCII مملوكة |
| معايير مواد PBR | المعدنية-الخشونة القياسية PBR | المعدنية-الخشونة القياسية PBR | مواد Phong/Lambert القديمة | مواد مخصصة مملوكة |
| دعم الرسوم المتحركة | جلطة الهيكل العظمي وأهداف التشكيل | جلطة الهيكل العظمي وأهداف التشكيل | لا يوجد (هندسة ثابتة فقط) | رسوم متحركة وعظام معقدة |
| أداء وقت التشغيل | محسّن لـ WebGL ومحركات الوقت الفعلي | محسّن لـ WebGL ومحركات الوقت الفعلي | يتطلب تحليلاً وإعادة بناء بطيئين | يتطلب تحليل SDK لسطح المكتب المعقد |
أنماط التلف الشائعة ودليل استرداد النظام السداسي
خطأ في المحرك ثلاثي الأبعاد: 'فشل تحميل المخزن المؤقت: لم يتم العثور على URI'.
السبب الجذري: لم يتم تحميل ملف البيانات الثنائية .bin المصاحب أو صور القوام بجانب ملف .gltf.
الاسترداد: قم بحزم جميع الملفات المصاحبة معاً أو التحويل مباشرة إلى ملف GLB واحد باستخدام File2File.
تحليل الأمان وناقلات هجوم المحلل اللغوي
تشير ملفات glTF JSON إلى URIs خارجية (بيانات URIs أو عناوين URL عن بُعد) والتي يمكن أن تؤدي إلى تزوير طلب من جانب الخادم (SSRF) أو اجتياز المسار.
ناقلات الهجوم المعروفة
- اجتياز المسار عبر URIs المخزن المؤقت النسبي (مثل 'uri: ../../../etc/passwd').
- SSRF عبر جلب مخزن شبكة عن بُعد في مولدات الصور المصغرة ثلاثية الأبعاد من جانب الخادم.
- حرمان الخدمة من خلال دورات تسلسل العقد المتكررة ذات الشكل الخاطئ.
أفضل الممارسات الدفاعية:
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- بنية JSON القابلة للقراءة للبشر تتيح التحرير البرمجي، وكتابة نصوص خط أنابيب العمل، والفحص البصري.
- تصميم وحدات: يفصل بين بيانات وصفية خفيفة الوزن للمشهد وبين الهندسة الثنائية الثقيلة (.bin) والقوام.
- تعريف مواد العرض القائم على الفيزياء (PBR) يضمن أن الأصول ثلاثية الأبعاد تبدو متطابقة عبر جميع محركات العرض.
القيود الفنية والسلبيات
- تعقيد الملفات المتعددة: تتشارك نموذج يتطلب ضغط أو حزم ملفات .gltf و.bin وقوام الصور معاً.
- بداية شبكة أبطأ قليلاً مقارنة بملف GLB الواحد بسبب طلبات HTTP المتعددة.
- يمكن أن تنكسر تبعيات المسار النسبي إذا تم إعادة تسمية ملفات القوام المصاحبة أو نقلها.
معلومات تقنية طريفة
- يُلقب glTF رسمياً بـ 'JPEG الخاص بالأبعاد الثلاثية' لأنه يركز حصرياً على نقل العرض والتشغيل في الوقت الفعلي بدلاً من التأليف.
- تم تأسيس التنسيق بالاشتراك مع Tony Parisi، الذي شارك في إنشاء VRML (لغة نمذجة الواقع الافتراضي) في عام 1994.
- توفر NASA نماذج ثلاثية الأبعاد للمركبات الجوالة والأقمار الصناعية ورواد الفضاء للتنزيل العام بتنسيق glTF.
الأسئلة التقنية المتكررة
لماذا يفقد ملف glTF الألوان أو الأشكال الخاصة به؟
يحتوي ملف .gltf فقط على تعليمات مشهد JSON، وهو يعتمد على ملفات .bin المرافق للأشكال ثلاثية الأبعاد وملفات .png/.jpg للألوان. تأكد من وجود كافة الملفات المرافق في نفس المجلد.
كيف أقوم بتحويل ملف glTF إلى ملف GLB واحد؟
قم برفع ملف .gltf الملفات المرافق له مثل .bin وملفات الأنسجة (Textures) إلى 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 على تحديث النماذج ثلاثية الأبعاد الثابتة إلى أصول جاهزة للويب يتم تحميلها فورًا داخل متصفحات الويب القياسية.