Babylon.js

Babylon.js هي مكتبة جافا سكريبت ومحرك ثلاثي الأبعاد لعرض رسومات ثلاثية الأبعاد في الوقت الفعلي في متصفح الويب عبر HTML5 . يتوفر كود المصدر على GitHub ويتم توزيعه بموجب رخصة أباتشي 2.0 .

التاريخ والتقدم

صدرت النسخة الأولى من Babylon.js عام 2013 بموجب ترخيص مايكروسوفت العام ، بعد أن طوّرها اثنان من موظفي مايكروسوفت في أوقات فراغهما كمشروع جانبي. أنشأ ديفيد كاتوه محرك الألعاب ثلاثي الأبعاد ، بينما أضاف ديفيد روسيه دعم الواقع الافتراضي ، ووحدات التحكم، وقاعدة بيانات IndexedDB . وقد ساعدهما الفنان ميشيل روسو، الذي ساهم في تصميم العديد من المشاهد ثلاثية الأبعاد. يعتمد Babylon.js على محرك ألعاب سابق لنظام Silverlight ثلاثي الأبعاد المبني على WPF . [ 4 ] [ 5 ] ثم تحوّل مشروع كاتوه الجانبي إلى وظيفته بدوام كامل، ومحور تركيز فريقه الرئيسي. [ 6 ] وفي عام 2015، عُرض المشروع في مؤتمر WebGL في باريس. [ 7 ] بعد الترويج له [ 8 ] [ 9 ] وتطبيقه في الألعاب، [ 10 ] أصدرت شركة يوبيسوفت، ناشرة ألعاب الفيديو ، لعبة أساسنز كريد مبنية على هذه المكتبة في عام 2014. [ 11 ] وبحلول عام 2024، بلغ عدد المساهمين في المشروع أكثر من 500 مساهم. [ 12 ]

وقد تطور استخدامه ليشمل مجالات متنوعة مثل:

في 27 مارس 2025، تم إصدار Babylon.js 8.0. [ 26 ]

الوصف الفني

يُكتب الكود المصدري بلغة TypeScript ثم يُحوّل إلى نسخة JavaScript . تتوفر نسخة JavaScript للمستخدمين النهائيين عبر NPM أو CDN، حيث يقومون بدورهم بكتابة مشاريعهم بلغة JavaScript باستخدام واجهة برمجة التطبيقات (API) الخاصة بالمحرك. يتم تفسير محرك Babylon.js ثلاثي الأبعاد وكود المستخدم بشكل أصلي بواسطة متصفحات الويب التي تدعم معيار HTML5 و WebGL لتنفيذ عملية العرض ثلاثي الأبعاد .

منهجية النمذجة

تعتمد عملية النمذجة ثلاثية الأبعاد على نمذجة المضلعات، حيث تُمثَّل الأوجه المثلثية بنماذج قشرية. [ 27 ] يُمكن استخدام الهندسة الصلبة البنائية بشكل محدود ، ولكن فقط كطريقة انتقالية لإنشاء اتحاد وطرح وتقاطع النماذج القشرية. [ 28 ] بعد إنشاء النماذج، تُعرض على عنصر لوحة الرسم HTML5 باستخدام برنامج تظليل يُحدد مواقع البكسل وألوانها على اللوحة باستخدام نماذج المضلعات، والنسيج المُطبق على كل نموذج، وكاميرا المشهد والإضاءة، بالإضافة إلى مصفوفات العالم 4×4 لكل كائن، والتي تُخزن موقعه ودورانه وحجمه. [ 29 ] تعتمد تقنية إنتاج الصور الواقعية على العرض الفيزيائي [ 30 ] إلى جانب أساليب ما بعد المعالجة . [ 31 ] لمحاكاة التصادمات بين النماذج وغيرها من التفاعلات الفيزيائية في العالم الحقيقي، يلزم إضافة أحد محركي الفيزياء كإضافات: Cannon.js أو Oimo. [ 32 ] يتم إنجاز الرسوم المتحركة التي تتضمن، على سبيل المثال، تغييرات في موضع أو لون النماذج بواسطة كائنات الرسوم المتحركة ذات الإطارات الرئيسية المسماة "الرسوم المتحركة"، بينما يتم تحقيق الرسوم المتحركة الكاملة للشخصية من خلال استخدام الهياكل العظمية ذات أوزان المزج . [ 31 ] [ 33 ]

انظر أيضاً

مراجع

  1. "ديفيد كاتوهي - مدير هندسة المجموعة - مايكروسوفت" . linkedin.com . تاريخ الاطلاع: ١١ مارس ٢٠٢١. ... مؤسس وقائد مشروع Babylon.js مفتوح المصدر ...  
  2. "مايكروسوفت تكشف النقاب عن Babylon.js 4.1، محرك عرض ويب قوي مفتوح المصدر" . winbuzzer.com . 28 فبراير 2020. تم الاطلاع عليه بتاريخ 18 أبريل 2021 .
  3. إليوت، إيان (15 أغسطس 2013). "Babylon.js - محرك ألعاب WebGL من مايكروسوفت" . i-programmer.info . تم ​​الاطلاع عليه بتاريخ 6 سبتمبر 2018 .
  4. دوماند، ميكائيل (28 نوفمبر 2014). "مقابلة مع ديفيد روسيه حول Babylon.js" . إكينو ( بالفرنسية ). مؤرشف من الأصل بتاريخ 12 سبتمبر 2016. تم الاطلاع عليه بتاريخ 7 سبتمبر 2018 .
  5. إيروين، إيما (21 فبراير 2021). "قصة نجاح مايكروسوفت في مجال البرمجيات مفتوحة المصدر - بابل" . تم الاطلاع عليه بتاريخ 18 أبريل 2021 .
  6. ^ روسو، جان ميشيل. روسو ، ديفيد (2015/10/12). "BabylonJS et ses dernières fonctionnalités" [ BabylonJS وأحدث ميزاته ] . webglparis.com (بالفرنسية) . تم الاسترجاع 2018/09/12 .
  7. ويبر، رانان (يناير 2016). "تطوير الألعاب - Babylon.js: ميزات متقدمة لتحسين أول لعبة ويب لك" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 13 أبريل 2025 .
  8. ويبر، رانان (ديسمبر 2015). "تطوير الألعاب - Babylon.js: بناء لعبة أساسية للويب" . learn.microsoft.com . تاريخ الاسترجاع: 13 أبريل 2025 .
  9. "محاكي الطيران Babylon.js" . مؤرشف من الأصل بتاريخ 16 أغسطس 2020. تم الاطلاع عليه بتاريخ 7 سبتمبر 2018 .
  10. بروتالينسكي، إميل (9 مايو 2014). "أطلقت مايكروسوفت ويوبيسوفت لعبة ويب ثلاثية الأبعاد بعنوان Assassin's Creed Pirates، مبنية باستخدام إطار عمل Babylon.JS مفتوح المصدر" . موقع The Next Web . تاريخ الاسترجاع: 7 سبتمبر 2018 .
  11. "المساهمون" . جيت هاب . تم الاسترجاع في 2018-09-06 .
  12. نولان، بن (2018-08-02). "تطوير عالم افتراضي لأجهزة متعددة" . medium.com . تم الاطلاع عليه بتاريخ 2018-09-05 .
  13. بوتون، برايان (24-05-2018). "تصورات لبيانات الجريمة في بوسطن، ماساتشوستس" . تم الاسترجاع في 09-09-2018 .
  14. لوري، جوناثان (30 مارس 2018). "تعديل صور الرنين المغناطيسي باستخدام نسيج ثلاثي الأبعاد بتقنية WebGL2 - Pixpipe و BabylonJS" . يوتيوب . تم الاطلاع عليه بتاريخ 9 سبتمبر 2018 .
  15. باتيستا، آرثر ف.؛ ليموس، روبسون ر.؛ رودولف، كريستيان م.؛ بوينو، برونا س.؛ فيوزا، باتريشيا ج. (2018). "لعبة ويب ثلاثية الأبعاد جادة لتعليم تشريح الإنسان" (ملف PDF) . ص 4. تاريخ الاسترجاع : 9 سبتمبر 2018 . 
  16. "عرض توضيحي للملابس ثلاثية الأبعاد باستخدام BabylonJS" . 20 سبتمبر 2016. تم الاطلاع عليه بتاريخ 9 سبتمبر 2018 .
  17. مورينو، فرانسيسكو؛ راميريز، إسميت؛ سانس، فرانسيسكو؛ كارمونا، راداميس (23-10-2015). "إطار عمل مفتوح المصدر لإدارة كينكت على الويب" . مؤتمر أمريكا اللاتينية للحوسبة 2015 (CLEI) . ص 7. doi : 10.1109/CLEI.2015.7359995 . ISBN  978-1-4673-9143-6. S2CID 2798664 . تم الاسترجاع بتاريخ 2018-09-09 . 
  18. ماكسويل، دوغلاس؛ هيلمان، مايكل (2017). "الاستفادة من HTML5 وWebGL لمعالجة معوقات ضمان المعلومات للتدريب القائم على المحاكاة في الجيش الأمريكي" (ملف PDF) . modsimworld.org . ص 8. 
  19. غوسو، لورانس. "بومبي الرقمية" . المعهد الوطني للبحوث في علوم الحاسوب والتحكم (إينريا) . تم الاسترجاع في 7 سبتمبر 2018 .
  20. "قصر سبونزا" . مؤرشف من الأصل بتاريخ 28-08-2018 . تم الاطلاع عليه بتاريخ 12-09-2018 .
  21. كاردوزا، كريستينا؛ مور، ماديسون (14 يوليو 2017). "ملخص أخبار صحيفة إس دي تايمز" . صحيفة إس دي تايمز . تم الاطلاع عليه بتاريخ 7 سبتمبر 2018 .
  22. "مختبر تصميم إكس بوكس" . إكس بوكس . مؤرشف من الأصل بتاريخ 19 أغسطس 2016. تم الاطلاع عليه بتاريخ 12 سبتمبر 2018 .
  23. ^ فيولا ، فابيو. روفيا، لوكا؛ أنطونيازي، فرانشيسكو؛ ديليا، ألفريدو؛ أجوزي، كريستيانو؛ سينوتي ، توليو سالمون (2018/08/17). "الاستكشاف التفاعلي ثلاثي الأبعاد للرسوم البيانية RDF من خلال المستويات الدلالية" . إنترنت المستقبل . 10 (8): 5– 8. دوي : 10.3390/fi10080081 . اتش دي ال : 11585/640472 .
  24. رودريغيز، خوان مانويل خورادو؛ ألفارادو، ليديا أورتيغا؛ هيغيرويلا، فرانسيسكو ر. فيتو (2018). "إعادة بناء ثلاثية الأبعاد تحت الأرض لبيئة واقع افتراضي تعاونية في الوقت الحقيقي" (ملف PDF) . الجمعية العالمية لرسومات الحاسوب. الصفحات 40، 43. تاريخ الاسترجاع: 9 سبتمبر 2018 . 
  25. مدونة مطوري ويندوز؛ لوتشيني، جيسون كارتر، توماس (27 مارس 2025). "الإعلان عن Babylon.js 8.0" . مدونة مطوري ويندوز . تم الاطلاع بتاريخ 31 مارس 2025 .{{cite web}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  26. شينارد، جوليان. "مولد الشجرة - كيفية استخدام كائن VertexData" . بيكسل كودر . مؤرشف من الأصل بتاريخ 27-08-2019 . تم الاسترجاع بتاريخ 27-11-2018 .
  27. فيلدسبار، كريج. "الهندسة الصلبة البنائية في Babylon.js" . جيت هاب . تم الاسترجاع في 27-11-2018 .
  28. كاتوهي، ديفيد (نوفمبر 2016). "بناء الشيدرز باستخدام Babylon.js" . مجلة سماشينغ . تم الاسترجاع في 27 نوفمبر 2018 .
  29. رايان، باتريك (2018-01-08). "خط أنابيب الفن لـ glTF" . مجموعة كرونوس . تم الاسترجاع في 27-11-2018 .
  30. 1 2 مورو ماتيس، جوليان (2016). أساسيات Babylon.js . نشر الحزمة. رقم ISBN 978-1785884795أُرشف من المصدر الأصلي بتاريخ 11 أبريل 2019. تم الاطلاع عليه بتاريخ 9 سبتمبر 2018 .
  31. روسيه، ديفيد (11 يونيو 2015). "فيزياء WebGL واكتشاف التصادم باستخدام BabylonJS وOimo.js" . تطوير الألعاب . تم الاسترجاع في 27 نوفمبر 2018 .
  32. بيوليو، آندي (26-05-2014). "babylon.js: الفيزياء وتحريك الشخصيات" . سبرايت هاند . تم الاسترجاع في 06-09-2018 .

للمزيد من القراءة

  • إلستر، جوش (2022). الوصول إلى أبعد مدى مع Babylon.js: بناء تطبيقات تفاعلية قابلة للتوسيع والصيانة وجذابة قائمة على المتصفح من البداية إلى النهاية . دار نشر Packt. رقم ISBN 978-1801076586.
  • شينارد، جوليان (2017). تعلم Babylon.js: تعلم أساسيات إطار عمل Babylon.js ثلاثي الأبعاد من خلال إنشاء لعبة كاملة! منشور ذاتيًا. ISBN 978-1520730448.
  • مورو ماتيس، جوليان (2016). أساسيات Babylon.js . نشر الحزمة. رقم ISBN 978-1785884795أُرشف من المصدر الأصلي بتاريخ 11 أبريل 2019. تم الاطلاع عليه بتاريخ 9 سبتمبر 2018 .
  • شينارد، جوليان (2015). تعلم BabylonJS . مؤرشف من النسخة الأصلية (الكتاب الإلكتروني) بتاريخ 23 أغسطس 2016. تم الاطلاع عليه بتاريخ 9 سبتمبر 2018 .
  • كوزي، باتريك (2015). "تصميم محرك WebGL في Babylon.js" . WebGL Insights . CRC Press . ISBN 978-1498716079.
  • تشينارد، جوليان. مورو ماتيس، جوليان (2016). "Réaliser un jeu en 3D avec BabylonJS" [ إنشاء لعبة ثلاثية الأبعاد باستخدام BabylonJS ] (PDF) . برمجة! (باللغة الفرنسية).
  • بوسكي، جيروم (2015). "La 3D sur le Web avec BabylonJS" [ 3D على الويب باستخدام BabylonJS ] (PDF) . برمجة! (باللغة الفرنسية).
  • كاتوهي، ديفيد (2014). "Sous le capot d'un moteur 3D" [ تحت غطاء محرك ثلاثي الأبعاد ] (PDF) . برمجة! (باللغة الفرنسية).