باندا ثري دي

باندا ثري دي هو محرك ألعاب يتضمن رسومات، وصوت، وإدخال/إخراج، واكتشاف تصادم ، وقدرات أخرى ذات صلة بإنشاء ألعاب ثلاثية الأبعاد. [ 2 ] باندا ثري دي برنامج مجاني ومفتوح المصدر بموجب ترخيص BSD المعدل .

لغة البرمجة المُعتمدة لتطوير ألعاب Panda3D هي بايثون . أما المحرك نفسه، فهو مكتوب بلغة C++ ويستخدم مُولِّد أغلفة تلقائي لعرض جميع وظائف المحرك عبر واجهة بايثون. يمنح هذا النهج المطور مزايا تطوير بايثون، مثل سرعة التطوير وإدارة الذاكرة المتقدمة، مع الحفاظ على أداء لغة مُصرَّفة في جوهر المحرك. على سبيل المثال، المحرك مُدمج مع جامع البيانات المهملة في بايثون، وتُدار هياكل المحرك تلقائيًا.

يستخدم الدليل والبرامج النموذجية لغة بايثون افتراضيًا، مع توفر لغة سي++ كبديل. كلا اللغتين مدعومتان بالكامل. تُعد بايثون اللغة الأكثر استخدامًا بين المطورين، ولكن سي++ شائعة الاستخدام أيضًا.

يشمل مستخدمو Panda3D مطوري العديد من الألعاب التجارية الكبيرة، وعدد قليل من المشاريع مفتوحة المصدر، وعدد من الدورات الجامعية التي تستفيد من منحنى التعلم القصير لـ Panda3D.

تاريخ

استوديو ديزني للواقع الافتراضي هو فرع من شركة ديزني أُنشئ خصيصًا لتطوير ألعاب ثلاثية الأبعاد لمدن ملاهي ديزني. وقد طوّروا لعبة "سجادة علاء الدين السحرية"، وأصبح المحرك الذي ابتكروه لها فيما بعد محرك Panda3D. يختلف المحرك بشكله الحالي اختلافًا كبيرًا عن محرك تلك السنوات الأولى. مع مرور الوقت، استُخدم محرك Panda3D في تطوير ألعاب واقع افتراضي إضافية في مدن ملاهي ديزني، ثم استُخدم لاحقًا في تطوير لعبة Toontown Online ، وهي لعبة إلكترونية تدور أحداثها في عالم كرتوني، وفي لعبة Pirates of the Caribbean Online، وهي ثاني لعبة تقمص أدوار جماعية عبر الإنترنت . [ 3 ]

في عام ٢٠٠٢، أُصدر المحرك كمصدر مفتوح. ووفقًا للمؤلفين، كان ذلك لتسهيل التعاون مع الجامعات في مشاريع أبحاث الواقع الافتراضي. [ ٤ ] مع ذلك، استغرق الأمر بعض الوقت قبل أن ينطلق مشروع Panda3D كمصدر مفتوح. من المقال:

على الرغم من أن النظام كان سهل الاستخدام إلى حد كبير من قبل الفريق الذي طوره، إلا أنه لم يكن "جاهزًا تمامًا للمصادر المفتوحة". كان هناك العديد من المستخدمين المهتمين، لكن بناء النظام وتثبيته كان معقدًا للغاية، ولم يكن هناك سوى القليل من الوثائق أو نماذج التعليمات البرمجية، لذلك لم يكن هناك مجتمع كبير للمصادر المفتوحة على الفور.

مع ذلك، سمح نشر محرك الألعاب كمصدر مفتوح لمركز تكنولوجيا الترفيه بجامعة كارنيجي ميلون بالمشاركة في تطويره. وبينما واصل مهندسو ديزني القيام بمعظم أعمال التطوير، اضطلع فريق كارنيجي ميلون بدورٍ هام في تحسين المحرك ليكون متاحًا للجمهور، وكتابة الوثائق، وإضافة بعض الميزات المتقدمة مثل المؤثرات البصرية.

كان اسم Panda3D في السابق اختصارًا: "Platform Agnostic Networked Display Architecture." [ 5 ] ومع ذلك، نظرًا لأن هذه العبارة قد فقدت معناها إلى حد كبير، فنادرًا ما يُنظر إلى كلمة "Panda3D" على أنها اختصار بعد الآن.

تصميم

باندا ثري دي هو محرك رسوم بيانية للمشاهد . [ 6 ] وهذا يعني أن العالم الافتراضي يكون في البداية فضاءً ديكارتيًا فارغًا يُدرج فيه مبرمج اللعبة نماذج ثلاثية الأبعاد. لا يُميّز باندا ثري دي بين النماذج ثلاثية الأبعاد "الكبيرة"، مثل نموذج زنزانة كاملة أو جزيرة، والنماذج ثلاثية الأبعاد "الصغيرة"، مثل نموذج طاولة أو سيف. تُنشأ النماذج الكبيرة والصغيرة باستخدام برنامج نمذجة قياسي مثل بلندر أو ثري دي إس ماكس أو مايا . ثم تُحمّل النماذج في باندا ثري دي وتُدرج في الفضاء الديكارتي.

يُظهر مخطط المشهد في Panda3D وظائف OpenGL وDirectX بشكلٍ واضح. على سبيل المثال، يدعم كلٌ من OpenGL وDirectX خاصية الضباب . لتفعيل الضباب في Panda3D، يتم ببساطة تخزين معلمات الضباب في عقدة ضمن مخطط المشهد. تتطابق معلمات الضباب تمامًا مع معلمات الاستدعاءات المكافئة في واجهات برمجة التطبيقات الأساسية. وبهذه الطريقة، يُمكن اعتبار Panda3D بمثابة غلاف بسيط حول واجهات برمجة التطبيقات منخفضة المستوى. ويكمن الاختلاف بينهما في أنه يُخزّن المشهد، بينما لا يفعل ذلك OpenGL وDirectX. بالطبع، يُوفّر Panda3D أيضًا عوامل تشغيل عالية المستوى، مثل تحميل النماذج، وتنفيذ الرسوم المتحركة، واكتشاف التصادمات، وما شابه ذلك.

صُمم محرك Panda3D في البداية قبل ظهور مُظللات الرؤوس والبكسل. وقد حصل على دعم للمُظللات المكتوبة يدويًا في عام 2005. ومع ذلك، كان المستخدمون بطيئين في الاستفادة من تقنيات الإضاءة الحديثة لكل بكسل في ألعابهم. ويرى المطورون أن السبب في ذلك هو صعوبة برمجة المُظللات، ورغبة العديد من مطوري الألعاب في أن يتولى المحرك هذه المهمة تلقائيًا.

لمعالجة هذه المشكلة، أضاف مطورو Panda3D مؤخرًا إمكانية توليد التظليلات تلقائيًا. يتم هذا التوليد إذا حدد مصمم النماذج ثلاثية الأبعاد نموذجًا للإضاءة على مستوى البكسل، أو إذا طبق خريطة عادية ، أو خريطة لمعان، أو خريطة إضاءة ذاتية، أو أي قدرة أخرى تتجاوز إمكانيات خط المعالجة ذي الوظائف الثابتة. [ 7 ] والهدف من هذا التوليد هو عرض النموذج كما أراده المصمم، دون أي تدخل من المبرمج.

إمكانيات غير رسومية

يوفر برنامج Panda3D إمكانيات أخرى غير العرض ثلاثي الأبعاد. ومن أهم هذه الإمكانيات: [ 8 ]

  • أدوات تحليل الأداء
  • أدوات استكشاف مخطط المشهد
  • أدوات تصحيح الأخطاء
  • خط أنابيب متكامل لتصدير واستيراد الأعمال الفنية
  • الصوت ثلاثي الأبعاد، باستخدام إما FMOD أو OpenAL أو نظام Miles Sound
  • كشف التصادم
  • نظام فيزيائي، وتكامل كامل مع محرك Open Dynamics Engine وتكامل Bullet
  • دعم لوحة المفاتيح والماوس
  • دعم أجهزة الإدخال/الإخراج
  • آلات الحالة المحدودة
  • التواصل
  • الذكاء الاصطناعي

رخصة البرنامج

ملخص

برنامج Panda3D مفتوح المصدر، وهو برنامج مجاني بموجب ترخيص BSD المُعدَّل اعتبارًا من 28 مايو 2008. أما الإصدارات السابقة لهذا التاريخ، فلا تُعتبر برامج مجانية نظرًا لوجود بعض الأخطاء في تصميم ترخيص Panda3D القديم. مع ذلك، يُمكن استخدام هذه الإصدارات القديمة من Panda3D في تطوير الألعاب، سواءً المجانية أو التجارية، دون أي تكلفة مالية.

تطور

في عام ٢٠٠٢، عندما تم طرح محرك اللعبة كمصدر مفتوح، كان هدف المطورين هو إنشاء رخصة برمجيات حرة . ومع ذلك، احتوت الرخصة على بعض العيوب التي جعلتها غير حرة: فقد اشترطت، على الأرجح، إرسال التغييرات إلى Panda.Project@Disney.com، [ ٩ ] كما حظرت صراحةً تصدير البرنامج إلى دول مختلفة كانت الولايات المتحدة تفرض عليها حظرًا تجاريًا. [ ١٠ ]

في 28 مايو 2008، تم تحويل النسخة الرئيسية من تطوير Panda3D إلى ترخيص BSD . ومع ذلك، لا تزال الإصدارات القديمة تستخدم الترخيص القديم. [ 11 ]

يستخدم برنامج Panda3D العديد من مكتبات الطرف الثالث التي لا تُعدّ تراخيصها برامج مجانية ، بما في ذلك FMOD و Nvidia Cg و DirectX و MFC . ومع ذلك، يمكن استبعاد معظم هذه الوحدات بسهولة من عملية التثبيت.

مشاريع تستخدم Panda3D

انظر أيضاً

مراجع

  1. "الإصدار 1.10.16" . 25 ديسمبر 2025. تم الاطلاع عليه في 7 أبريل 2026 .
  2. "دليل Panda3D" .
  3. "تحليل ما بعد الإطلاق: تون تاون على ديزني أونلاين" . www.gamasutra.com . 28 يناير 2004. مؤرشف من الأصل في 10 مايو 2012. تم الاطلاع عليه في 11 أكتوبر 2020 .
  4. "وقائع مؤتمر PyCon 2004: محرك Panda3D - برمجة بايثون لتطوير الألعاب والمحاكاة" . مؤرشف من الأصل في 17 أغسطس 2005.
  5. "تغطية GameDev.net لمؤتمر مطوري الألعاب، أوستن، 2008" . مؤرشف من الأصل في 28 سبتمبر 2008.
  6. "دليل Panda3D، الفصل: 'مخطط المشهد'"" .
  7. "دليل Panda3D، الفصل: 'مولد التظليل'"" .
  8. "الميزات | باندا ثري دي" . www.panda3d.org . 16 أغسطس 2018. تم الاطلاع عليه بتاريخ 11 أكتوبر 2020 .
  9. "موضوع منتدى يتضمن تعليقًا قانونيًا من ريتشارد ستالمان حول رخصة Panda3D القديمة" . 10 مايو 2005.
  10. "النص الكامل لرخصة Panda3D الأصلية (قبل الإصدار 1.5.3)" .
  11. "دليل باندا ثلاثي الأبعاد، الفصل: 'مقدمة إلى باندا'"" .