هذه ما هي إلا مقدمة بسيطة عن واجهة محرك godot, وهنا انا اتكلم عن الواجهة الاساسية الخاصة بالمحرك, التي تظهر مع فتح مشروع جديد, ليس الواجهة التي تظهر عندما يفتح المحرك, تلك تسمى بواجهة “مدير المشاريع”.
كما ان المحرك يحصل علي الكثير من التحديثات, بالتالي ربما هذه الواجهة ستتغير في المستقبل, ولكن مهما يكن, فسيكون لها نفس الأسلوب ونفس الافكار, وسنحاول هنا في كينماتيك تحديث هذه المقالة عندما يأتي وقت التحديث.
وعلي هذا الاساس, فهذه المقالة تتحدث عن نسخة Godot 4.0.
عناصر المقال
انشاء مشروع جديد
قبل أن نبدأ في شرح واجهة المشروع نحتاج اولا لصنع المشروع نفسه, قم بتشغيل البرنامج وعلى اليمين, اضغط على new project لعمل لعبة أو مشروع جديد, وفي الخانة الاولى اكتب اسم اللعبة الخاصة بك, وفي الخانة الثانية حدد مسار المجلد الذي سيحتوى على المشروع الخاص بك وتأكد ان يكون ملف فارغ تماما ليس به اي شئ, بعدها اضغط علي create & edit ولنبدأ بالشرح الأساسي لهذه التدوينة
حاليا من المفترض أن تكون لديك نفس هذه الواجهة
وكما هو واضح, سنقسم هذه الواجهة الى 5 اقسام لتسهيل شرحها, فتكون كالتالي
- ورشة العمل او محرر اللعبة .
- لوحة الكائنات والملفات .
- شريط الإعدادات .
- لوحة خواص الكائن .
- شريط الفحص والأدوات .
1- ورشة العمل او المحرر
اذا اخترت احد هذه الخيارات في الاعلى
ستجد ان القسم الاول تغير واصبح شئ مختلف في كل مرة, وفي كل مرة يظل له نفس المبدأ ألا وهو التحرير, فالـ2D ستقوم بتحرير العاب الـ 2D, والـ script سيقوم بتحرير الاكواد الخاصة بك, وهكذا
كل واحدة من تلك المحررات لها الواجهة الخاصة بها, حيث الاعدادات والأدوات التي تحتاجها فيها, مثل تحريك الكائنات او التعديل علي السطور البرمجية, ولكن سيكون من الصعب شرحها كلها, لذلك فقط سنشرح الأساسيات التي تتشارك جميعهم فيها.
في أعلى هذا الجزء ستجد كلمة [unsaved] وهي تعني أنه لم يتم حفظ هذا المشهد ــ مرحلة ــ, ولعمل حفظ, نقوم بالضغط علي (ctrl+s) بعدها تستطيع تغير اسم ملف الحفظ.
وبعد عمل الملف ستغير اسم المشهد الى الاسم الذي تم حفظه به, وإذا تم عمل أي تغيير في المشهد ستجد بجانب الاسم نجمة تدل انه يتوجب عليك حفظ ما فعلته, وبنفس الطريقة (ctrl+s)
انزل للاسفل قليلا وستجد شريط الأدوات, والذي يحتوى على أدوات التعديل, يوجد 3 اساسية متواجدة في محرر الـ2D ومحرر الـ3D في نفس الوقت, وبقية الأدوات ستختلف من محرر لآخر, بالتالي دعنا نشرح هذه الأدوات الثلاث.
- select mode
هو وضع الفأرة العادي الذي يمكنك من تحديد الكائنات داخل المحرر - move mode
وهو وضع التحريك ولكن قبلها يجب تحدد الكائن الذي تريد تحريكه سواء باختيار العقدة الخاصة به عن طريق شجرة العقد ــ سناتي لها فيما بعد ــ أو عند طريقة الأداة select mode - rotate mode
لجعل الكائن يلتف حول نقطة معينة وتكون تلك النقطة افتراضيا في منتصفه
بعد ذلك نأتي إلى المحرر نفسه, لو كنت في محرر الـ2D, ستجد ما يتم عرضه للاعب عند تشغيل اللعبة, ركز جيدا وستجد ان هناك خطوط زرقاء في الجانب الأيمن ومن الاسفل, هذه هي حدود ما سيظهر من لعبتك, ولكن اذا ما اضفت كاميرا وجعلتها اساسية, فإن الوضع سيختلف.
2- لوحة الكائنات والملفات
تقسم الى جزئين, الجزء السفلى وهو ما يختص بالملفات ويسمى file system, وباختصار شديد هو الملف الذي وضعت فيه المشروع خاصتك, الجزء العلوى, وهو ما يختص في الكائنات الخاصة بلعبتك, ثم هناك لوحة أخرى غير ظاهرة, فبجانب كلمة scene التي في الأعلى, ستجد كلمة import وعندها ستفتح لك لوحة الاستيراد, والتي شأنها هو تعديل إعدادات استيراد الملفات
في أعلى يمين كل لوحة منهم ستجد 3 نقاط, وهي التي تمكنك من تحديد مكان هذه اللوحة على في واجهة المحرك
ولكن يفضل أن تترك كما هي حتى تستطيع ان تتابع مع بقية الشروحات المختلفة, فلا تعدل عليها ما لم تكن تعرف ماذا تفعل.
لوحة المشهد – scene
لوحة المشهد هي اللوحة التي تعرض عناصر المشهد خاصتك, من اضائة الى منصات – platformers – الى اعداء وحتى الأشجار والخلفية, حيث كل واحدة من تلك العناصر تسمى كائن, وفي محرك غودو تسمى nodes او عقد.
عندما تقوم بصنع مشهد جديد, فان المحرك يعرض لك 3 خيارات اساسية, اما ان تصنع عقدة خاصة بالـ3D او الـ2D او مشهد واجهة (مثل الصفحة الرئيسية للعبة).
أو يمكنك اختيار عقدة خاصة ما عن طريق الضغط علي other nodes, أو عن طريق علامة الـ+ التي في اعلى اللوحة, او حتى عن طريق Ctrl + A. اي واحدة من تلك الأوامر ستفتح لك واجهة العقد, التي منها تستطيع اختيار العقدة المناسبة لك, هناك عقد مختصة بعرض النصوص وعقد مختصة بالفيزياء, عقد مختصة بالصور
أنصح بتجربة العقد Sprite 2D, button, Color Rect, AudioStreamPlayer, فهي سهلة في الفهم.
أما نظام العقد نفسه وكيف يعمل, فهو يعتمد بشكل كبير على نظام الوراثة و البرمجة كائنية التوجه oop, ولكن لا حاجة لنا الآن لمعرفة الكثير عنه, يكفي فقط ان تعرف ان هذه اللوحة تسمى ايضا بـ”شجرة المشهد” – scene tree.
لأنه يمكنك اضافة عقد بداخل عقد اخرى, فتظهر كأنها شجرة
* لتسمية العقدة أضغط عليها مرتين
مدير الملفات – file system
تتذكر عندما أنشأنا المشروع وقلت لك اختر مجلد فارغ؟ هذه اللوحة هي ذلك المجلد بكل ما فيه, يمكنك الضغط بزر الفأرة الأيسر على مكان فارغ فيها, ثم اختيار Open in file manger, حتى يرسلك الى المجلد الخاص بهذا المشروع, حيث يمكنك وضع الملفات والصور والموارد – assets الخاصة بلعبتك.
واذا ما رجعت للمحرك, وفي اعلى يمين لوحة مدير الملفات هذه, ستجد زر إذا ما اشرت عليه, ستجد ان اسمه Toggle split mode, حيث يظهر لك الملفات بشكل جيد ومناسب للعرض.
أمر آخر جميل في مدير الملفات هذا, هو قدرته على السحب والالقاء, فيمكنك سحب اي صورة بداخله وتركها في المحرر, وستجد انه انشئ تلقائيا عقدة خاصة بتلك الصورة في لوحة المشهد وفي المحرر.
ولو ضغط على احد الملفات ورجعت مجددا الى لوحة الـ import, ستجد ان اعدادات استيراد هذا النوع من الملفات قد ظهرت.
لوحة الاستيراد – import
عندما تريد ان تضع صورة او ملف صوتي داخل اللعبة, فسيتم استيراده بخصائص معينة مثلا اذا كانت صورة أتريد أن تكون صورة ذات جودة عالية.
نفس الامر مع ملفات اخرى مثل الصوتيات وملفات مجسمات الثري دي, كل واحدة منهن لديها الإعدادات خاصتها. فتقوم بتحديد الملف الذي تريد التعديل على إعدادات الاستيراد خاصته, ثم التعديل عليها من هذه اللوحة, واخيرا تقوم بالضغط علي زر Reimport المتواجد في آخر اللوحة
3- شريط الإعدادات
نستطيع تقسيمه الى 3 اجزاء كما هو واضح, والجزء الذي فى المنتصف تحدثنا بالفعل عنه عندما تكلمنا عن ورشة العمل او المحرر.
وهناك شيء اخر الا وهو ال assets leb, وهي صفحة يوجد بها مجموعة من الأدوات والمشاريع التي قاموا بعملها مطوري العاب آخرون, يمكنك منها تنزيل بعض الملفات او حتى مشاريع كاملة والتعديل عليها.
علي الجانب الايمن, ستجد أزرار التشغيل, منها تستطيع تشغيل اللعبة خاصتك, او تشغيل “مشهد” تقوم بالتعديل عليه, كما يمكنك منها تغير برنامج الرسوميات الذي يستعمله المحرك, او حتى بدء تصوير فيديو للعبتك.
بالنسبة للجانب الأيسر, فهي مجرد اعدادات المحرك والمشروع, منها تستطيع التعديل على اعدادات عامة خاصة بالمحرك ككل, مثل التعديل على المظهر الخاص به أو اللغة.
او يمكنك التعديل علي المشروع خاصتك فقط, مثل إضافة مشهد جديد او التعديل على حجم نافذة اللعبة.
غير انه يمكنك ايضا من تصدير اللعبة خاصتك
4- لوحة خواص الكائن
في اقصى يسار واجهة محرك godot, ستجد مجموعة من اللوحات المختلفة, تستطيع التبديل فيما بينهم من الاعلى, وستجد انهم 3 لوحات inspector, node, history
دعنا الآن نشرح كل واحدة منهم على حدة>
لوحة الخصائص – inspector
ال inspector تعني المراقبة, أي أن هذه اللوحة من المفترض أن تستطيع منها “مراقبة” العقد المتواجدة في المشهد خاصتك, ولكن هذا ليس بصحيح على الإطلاق, فائدتها هو “مراقبة الخصائص” الخاصة بتلك العقد, بالتالي سنقوم بتسميتها لوحة الخصائص
وكما قلت, فهي الخصائص والإعدادات الخاصة بالعقدة التي يتم تحديدها, فيمكنك مثلا اضافة صورة Sprite2D وستجد الخصائص الخاصة بها, مثل المكان والحجم والصورة المعروضة.
وكل عقدة او node تختلف خصائصها عن الاخري فمثلا , عقدة الصوت لا يمكن أن يكون لها صورة بينما عقدة الـ sprite يمكن أن يكون لها صورة ولا يمكن أن يكون لها صوت, وهكذا, ولكن أيضا نظام الخصائص هذا يعتمد على نظام الوراثة, فتجد مثلا عقدة بها خصائص مشابهة لعقدة اخرى, وذلك لان العقدتين “يرثون” من عقدة اخرى
| ربما يبدو الكلام معقدا, ولكن ذلك سيكون بسيط جدا عندما تتعرف على نظام العقد الخاص بمحرك godot
تستطيع رؤية اسم العقدة ونوعها وخصائصها (التي تستطيع التحكم فيها) في اعلى اللوحة, وعندما تشير إلى إحدى تلك الخصائص سوف تظهر رسالة صغيرة تقول لك عن فائدة تلك الخاصية وما الذي تقوم به
العقد – node
في هذه لوحة هناك قسمين, قسم المجموعات groups وقسم الإشارات signals
في قسم الجروب, تستطيع وضع “اسم” ما على عقدة, فمثلا يمكنك جعل جميع الأعداء لديهم الاسم “enm” هكذا لن تحتاج إلى التأكد من إذا كان اللاعب يلامس عدو معين بحد ذاته, يمكنك فقط التأكد من إذا كان اللاعب يلامس احد في المجموعة المسماة “enm” وهكذا يحصل الحدث المعين الذي تريده.
نظام المجموعات هو نظام قوي في المحرك, ويمكن الاستفادة منه بطرق مختلفة, ولكن هنا نحن نشرح واجهة المحرك فقط.
أما قسم الاشارات ــ وهو الأكثر أهمية ــ هو احد مميزات محرك godot, لأنه يمكنك بكل بساطة من استدعاء دالة معينة عند وجود حدث معين.
فمثلا قم باضافة واختيار العقدة “button”, بعدها انظر الى قسم الاشارات في لوحة العقد node, هناك ستجد مجموعة من انواع الاشارات والأحداث المختلفة, مثل الإشارة ” button pressed “, والتي سيتم تنشيطها عندما يتم الضغط على ذلك الزر.
هكذا يمكنك بعمل أفعال معينة عندما تحدث أحداث معينة داخل لعبتك, فتجعل اللاعب ينتقل لمرحلة مختلفة عندما يضغط علي الزر, او مثلا يحدث حدث معين عندما يتلامس اللاعب مع أحد شخصيات اللعبة
التاريخ – history
هذه اللوحة لن تكون متواجدة في النسخ القديمة من المحرك, بدء تواجدها في نسخة godot 4 فقط, مفادها فقط معرفة آخر الأشياء التي تم عملها في المحرر, فنستطيع بسهولة الرجوع لخطوة قمت بعملها, ومن ثم التعديل منها.
احب ان اذكرك انه يمكنك تغيير مكان أي مجموعة من الـ5 مجموعات التي تكلمنا عنها
عن طريق ايقونة الثلاث نقاط الموجودة بجانب اسم المجموعة
5- شريط الفحص والأدوات
أما الشريط الموجود في الأسفل يحتوي على بعض الأدوات العامة مثل
- Output
مخرجات المحرك, مثلا عندما تستخدم امر للطباعة في سكربت معين ستتم الطباعة هنا, ايضا سيخبرك بجميع الأحداث داخل المحرر, مثل اضافة node جديدة او تحريك كائن من مكانه أو تغير في أي شئ داخل المحرر - Debugger
نافذة فحص الأخطاء, وهي التي تظهر لك الأخطاء البرمجية في الكود خاصتك - Audio
هناك مجموعة مختلفة من عقد المتعلقة بالأصوات, وهذا الجزء متعلق ببعض الخصائص العامة في هذه العقد, مثل درجة الصوت, و تأثير معين - Animation
ومثل جارتها فهناك عقد متعلقة بعمل الانيميشن, بالتالي هذه النافذة هي محرر لتلك العقدة
(إذا كان لديك خبرة من قبل في مجال الأنيميشن والتحريك فهي تعد التايم لاين الخاص بالحركة)
خاتمة
هكذا نكون قد فصلنا الواجهة الاساسية لمحرك غودو, نستطيع ان نكمل اكثر ونقوم بتفصيل كل زر, وكل زر ثانوي لذلك الرر, ولكن ذلك يحتاج لدرس كبير جدا, وهذا الدرس هو فقط لشرح الامر بشكل مبسط (رغم انه مقال كبير نسبيا).
مع ذلك سنحاول جاهدين في كنيماتك ان نشرح تلك الأجزاء المختلفة.
شكرا