القائمة الرئيسية

الصفحات

تصميم لعبة على برنامج محرك الالعاب Unity

تصميم لعبة على برنامج محرك الالعاب Unity

تصميم لعبة على برنامج محرك الالعاب Unity

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

- كيفية استخدام نافذة المشروع لاستيراد وتنظيم الأصول الخاصة بك.
- الفرق بين GameObjects و Prefabs.
- كيف تعمل الفيزياء.
- كيف تعمل الكاميرات وأنواع الإسقاطات المتوفرة.
- أساسيات المواد.
سيعطيك هذا البرنامج التعليمي نظرة عامة على أنظمة Unity المختلفة ،
 وستقوم بتجميع لعبة من أصول تم إنشاؤها مسبقًا. في البرامج التعليمية اللاحقة ،
 ستتعرف على أنظمة Unity الفرعية بشكل متعمق أثناء إنشاء الأصول الخاصة بك
 وكتابة البرامج النصية الخاصة بك. عند الانتهاء ، ستبدو النتيجة رائعة .
هناك الكثير لتغطيته ، لذا ضع هاتفك في وضع الطائرة ، وأغلق الأبواب وافتح عقلك على عالم Unity !



ابدء

افتح مشروعك في يونيتي 
ملاحظة : افتتاح المشاريع في Unity يختلف قليلاً عن البرامج الأخرى .
 يمكنك إما النقر نقرًا مزدوجًا فوق ملف مشهد في متصفح الملفات الخاص بك ،
 أو تحديد مجلد المشروع من داخل Unity .
في نظام الملفات الخاص بك ، انتقل إلى مجلد أصول اللعبة من مجموعة نماذج الملفات ، 
وحدد جميع الملفات في هذا المجلد ، واسحبها إلى مجلد الأصول في نافذة المشروع في Unity.

تصميم لعبة على برنامج محرك الالعاب Unity

ملاحظة : إذا كنت لا ترى نافذة المشروع ، فحدد نافذة تخطيطات / 2 في 3 .
عندما تنتهي Unity من استيراد الملفات ، ستظهر نافذة المشروع امامك .
يتم تعيين Unity افتراضيًا على الصور المصغرة الكبيرة ، 
ولكن إذا كنت تفضل العمل مع القوائم بدلاً من ذلك ، فيمكنك تغييرها على النحو التالي :
 في الجزء السفلي من نافذة المشروع ،
 قم بتحريك شريط التمرير إلى اليسار لتقليص الصور المصغرة للأصول.

في حين أن الاحتفاظ بجميع أصولك في مجلد واحد أمر مناسب ، إلا أنه غير منظم. 
لا يبدو أنها مشكلة كبيرة عندما تبدأ مشروعًا لأول مرة ، ولكن مع توسع مشروعك ، 
تتوسع مجموعة الأصول الخاصة بك أيضًا.

الحصول على التنظيم لملفات يونيتي Unity

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

تصميم لعبة على برنامج محرك الالعاب Unity


اسم المجلد الجديد المواد . يجب أن تبدو نافذة مشروعك الآن كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity

الآن قم بإنشاء المجلدات الخمسة التالية للاحتفاظ ببقية الأصول الخاصة بك:
 الموديل = Models
المباني الجاهزة = Prefabs
النصوص = Scripts
الاصوات = Sounds
القوام = Textures

تتصرف المجلدات في Unity إلى حد كبير مثل تلك الموجودة على جهاز الكمبيوتر الخاص بك. 
يمكنك إنشاء مجلدات فرعية وسحب المجلدات داخل وخارج المجلدات الأخرى.
 سيتطابق نظام الملفات الأساسي مع المؤسسة في Unity ،
 مما يسهل عليك العثور على أصولك خارج Unity.

الآن ، حان الوقت للتنظيم!
 Bullet, Debris, GameManager 
، IonCannon ، RendererFade ، ScreenWrap و ShipController
 النصوص والسحب منها في البرامج النصية المجلد.
ملاحظة : ستلاحظ أن GameManager لديه رمز مختلف عن البرامج النصية الأخرى.
 تحتوي معظم الألعاب على كائن يسمى GameManager والذي يعمل بمثابة "العقل" العام للعبة.
 هذا هو المعيار المعتمد من قبل العديد من المطورين.
 لقد تم استخدامه كثيرًا لدرجة أن Unity أنشأت رمزًا خاصًا لها.
في نهاية اليوم ، إنه نص مثل أي نص آخر. يساعدك الرمز فقط في التعرف عليه نظرًا لأنك ستصل إليه كثيرًا.
 هناك أيقونات خاصة للمكونات الأخرى أيضًا. سوف تكتشف هذه بينما تتعمق أكثر في الوحدة.
بعد ذلك، حدد خلفية الموسيقى ، انفجار و تبادل لاطلاق النار ملفات الصوت وجرها إلى تأثيرات صوتية المجلد.
أخيرًا ، حدد نسيج flint_like_rock_4787 وانقله إلى مجلد Textures .

يجب أن تبدو نافذة مشروعك الآن كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity


في هذه المرحلة ، ربما تكون متحمسًا لبدء صنع لعبتك. 
ولكن قبل أن تذهب بعيدًا ، عليك أن تعتاد على حفظ عملك لأن Unity لا تقدم ميزة الحفظ التلقائي. 
إذا تعطلت Unity أو فقدت قوتك ، فستفقد كل شيء باستثناء تنظيم مشروعك.
Unity تحفظ عملك في المشاهد.
 يمكن أن يكون المشهد على مستوى واحد من العديد من المستويات في اللعبة ،
 أو قد يكون المستوى الوحيد في اللعبة بأكملها.
 في هذا المقال التعليمي ، ستستخدم مشهدًا واحدًا فقط لكل شيء.
اضغط على Command-S (Ctrl-S في Windows) لحفظ لعبتك.
 سيتم فتح مربع حوار حفظ. اسم المشهد الخاص بك الرئيسي .
تصميم لعبة على برنامج محرك الالعاب Unity

قم بإنشاء المثيل الأول الخاص بك
ما هي لعبة بدون لاعب؟ انظر داخل النماذج / المشغل من نماذج الملفات التي قمت بتنزيلها مسبقًا.
 سترى ملف FBX مع بعض ملفات الصور.
يحتوي ملف FBX على جميع البيانات المطلوبة لإنشاء نموذج ثلاثي الأبعاد ،
 إلى جانب أشياء أخرى مثل الرسوم المتحركة. تم إنشاء ملف اللاعب الذي ستستخدمه 
في برنامج Unity التعليمي هذا بواسطة ComboMash من أجل لعبته Hextraction .
حدد جميع الملفات الموجودة في مجلد المشغل واسحبها أعلى مجلد الأصول في نافذة المشروع .
 سترى مربع الحوار التالي:

تصميم لعبة على برنامج محرك الالعاب Unity

تنقل بعض ملفات الصور معلومات إضافية للوحدة ، ولكن يتم حفظها بتنسيق صورة قياسي. 
في هذه الحالة ، يحدد p_pod_normal.jpg أعماق السطح ، مما يوفر معلومات 
حول إضاءة السطح دون الحاجة إلى إنشاء هندسة إضافية. وهذا ما يسمى بالخريطة العادية .
ومع ذلك ، تعتقد Unity أنها تتعامل مع صورة عادية.
 انقر فوق " إصلاح الآن" لإرشاد الوحدة للتعامل مع هذا الملف كخريطة عادية.
بشكل افتراضي ، ستقوم Unity باستيراد الكاميرات مع طرازك. 
لهذه اللعبة ، أنت بحاجة إلى كاميرا واحدة فقط: الكاميرا الرئيسية. 
حدد hextraction_pod في نافذة المشروع . 
في نافذة المراقب Inspector ، تأكد من تحديد علامة التبويب النموذج . قم بإلغاء تحديد استيراد الكاميرات .

تصميم لعبة على برنامج محرك الالعاب Unity

مع اكتمال ذلك ، انقر فوق الزر " تطبيق" .


مع استيراد ملفات المشغل ، اسحب أصل hextraction_pod من نافذة المشروع إلى عرض المشهد .

تصميم لعبة على برنامج محرك الالعاب Unity

رائع - لقد قمت بإنشاء أول مثيل لك من النموذج. 
استوردت الوحدة بشكل صحيح الأنسجة وطبقتها على النموذج.
ستلاحظ أيضًا أن التسلسل الهرمي يسرد الآن كائن GameObject الجديد.

العمل مع GameObjects

كما هو مذكور في الجزء الأول من سلسلة البرامج التعليمية هذه ،
 سيكون كل شيء في التسلسل الهرمي نوعًا من كائن GameObject.
 يحتوي كائن GameObject في حد ذاته على ما يُعرف باسم التحويل ،
 والذي يحتوي على معلومات حول موضع كائن GameObject ومقياسه وتدويره.

تصميم لعبة على برنامج محرك الالعاب Unity

يمكنك تخصيص GameObjects عن طريق إضافة مكونات إليها. 
يمكنك التفكير في المكونات على أنها تمثل سلوك ومظهر كائن GameObject.
على سبيل المثال ، يمكنك إضافة مكون إضاءة لإضاءة كائن GameObject الخاص بك. 
يمكنك إضافة مصدر صوت لجعل GameObject يصدر صوتًا.
 أو يمكنك حتى كتابة المكونات الخاصة بك كنصوص وإرفاقها بـ GameObjects.
يمكن أن تعمل GameObjects أيضًا كحاويات.
 اضغط باستمرار على مفتاح Alt وانقر فوق مثلث الكشف الموجود على يسار
 hextraction_pod في التسلسل الهرمي .
 سيؤدي هذا إلى توسيع GameObject وجميع المستويات الموجودة أسفله. 
سترى المجموعة التالية من GameObjects:

تصميم لعبة على برنامج محرك الالعاب Unity

الكثير منها عبارة عن كائنات GameObjects فارغة تمثل بنية النموذج.
 تنشئ Unity كائنات GameObject هذه عند استيراد نموذج. 
تحتوي كائنات GameObject الأخرى ، مثل العناصر الفرعية لـ pod_mesh ،
 على مكونات مثل Skinned Mesh Renderers لعرض الأشكال الهندسية على الشاشة.
ستلاحظ أن بعض كائنات GameObject في التسلسل الهرمي تم تصنيفها باللون الأسود ، 
بينما تم تصنيف البعض الآخر باللون الأزرق.
اللون الأسود يعني أنه كائن GameObject قياسي. 
يخبرك النص الأزرق أن GameObject هو مثيل لنموذج أو إذا كان متصلاً بكائنات أخرى باستخدام Prefab . 
أحيانًا يتحول GameObjects أيضًا إلى اللون البني. هذا يعني أنهم فقدوا الاتصال الجاهز.
يمكنك معرفة أن لديك مثيلًا لنموذج من خلال أيقونته :

تصميم لعبة على برنامج محرك الالعاب Unity

العمل مع المباني الجاهزة

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

تصميم لعبة على برنامج محرك الالعاب Unity

عند القيام بذلك ، ستحصل على مربع حوار يسألك عما إذا كنت تريد
 إنشاء مبنى جاهز جديد أو متغير من المباني الجاهزة.

تصميم لعبة على برنامج محرك الالعاب Unity


نظرًا لعدم وجود مبنى جاهز ، انقر فوق الزر Original Prefab .
ستلاحظ أن الرمز الخاص بك سيتحول إلى اللون الأزرق تمامًا.
 هذا يعني أنك تعمل مع مثيل جاهز.
حدد hextraction_pod من التسلسل الهرمي. 
في Inspector نافذة سترى اثنين من الأزرار: توسيع و حدد . 
هناك أيضًا قائمة منسدلة تسمى Overrides :


فتح يسمح لك بفتح المباني الجاهزة وتحريرها. 
هذا يسمح لك بالتركيز على المباني الجاهزة فقط. سيعرض التسلسل الهرمي المبنى الجاهز المحدد فقط.
 للعودة إلى التحرير العادي ، انقر فوق سهم الرجوع في التسلسل الهرمي.
حدد موقع المبنى الجاهز في نافذة المشروع الخاص بك. يكون هذا مفيدًا بشكل خاص 
عندما تخطئ في مكانه في هيكل مجلد معقد داخل نافذة المشروع. جربه الآن لترى ما سيحدث.
عندما تقوم بإجراء تغييرات على مبنى Prefab ، فأنت تقوم بإجراء تغيير على مثيل واحد من Prefab. 
في Unity-talk ، أنت تتغلب على أجزاء من Prefab.
 يمكنك تطبيق هذه التغييرات على المباني الجاهزة الأخرى ، أو عكس التغييرات ، 
أو يمكنك تركها كما هي. يتم ذلك عن طريق الضغط على القائمة المنسدلة Overrides .

تصميم لعبة على برنامج محرك الالعاب Unity



حاليًا ، تحتوي سفينة اللاعب على شبكة مبلطة أسفلها ، والتي تبدو غريبة بعض الشيء.
 أولاً ، تحتاج إلى تعديل المباني الجاهزة.
حدد المبنى الجاهز وفي نافذة المفتش ، انقر فوق الزر فتح . 
ثم حدد Tile_reference GameObject من التسلسل الهرمي . 
هذا هو الطفل المباشر من hextraction_pod GameObject.
احذف الشبكة بالضغط على مفتاح Delete في Windows أو Cmd-Delete في نظام macOS. 
انقر فوق السهم الخلفي في التسلسل الهرمي للخروج من تحرير المبنى الجاهز.
سيُطلب منك حفظ التغييرات عند الخروج من وضع المباني الجاهزة. 
انقر فوق حفظ .

تصميم لعبة على برنامج محرك الالعاب Unity

بعد ذلك ، انقر بزر الماوس الأيمن فوق hextraction_pod في نافذة التسلسل الهرمي ،
 وإعادة تسمية القائمة المنسدلة التي تظهر ، وأعد تسمية GameObject إلى سفينة الفضاء .
 أن يبدو كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity

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

تصميم لعبة على برنامج محرك الالعاب Unity

 السيطرة على الكاميرا

إنجازات الفضاء ليست واضحة. في هذا القسم ، ستمنح اللاعب التحكم في الفضاء.
للقيام بذلك ، ستحتاج إلى التعامل مع شيئين: الكاميرا ونظام الفيزياء.
 لا تقلق ، فلن تحتاج إلى تعلم فيزياء الجسيمات دون الذرية اليوم! 


أولاً ، تحتاج إلى إعداد السفينة.

حدد مركبة الفضاء في نافذة التسلسل الهرمي.
استخدم Inspector نافذة لوضع لها الوظيفة ل (X: 10.66، Y: 1.99، Z: 10) .
اضبط الدوران على (X: 270 ، Y: 0 ، Z: 0) .
تتطابق القيم الموجودة في نافذة المفتش مع القيم الموضحة اعلاه .
إذن كيف توصلت إلى هذه القيم؟ هم في الواقع عشوائي تماما.
أثناء تطوير اللعبة ، وضعت الأشياء في وضعيات البداية هذه.
 إذا كنت قد صنعت اللعبة ، فربما تكون قد اخترت مواقف مختلفة.
بالنظر إلى عرض اللعبة ، يمكنك أن ترى أن السفينة لا تزال قريبة جدًا من الكاميرا.
هناك طريقتان لحل هذه المشكلة. يمكنك إما تحريك السفينة إلى الخلف ، أو يمكنك إعادة تكوين الكاميرا.
 استعد لتصبح مساعد كاميرا! 
حدد الكاميرا الرئيسية في التسلسل الهرمي. سترى مكون الكاميرا في Inspector.
 هناك طن من الخيارات هنا، لكنه الآن تجاهل كل شيء ما عدا الإسقاط و مجال الرؤية .

تصميم لعبة على برنامج محرك الالعاب Unity

يمكنك اختيار Perspective أو Orthographic لحقل الإسقاط الخاص بك. 
يحدد هذا الاختيار المظهر النهائي للعبة.
يتصرف الإسقاط المنظور إلى حد كبير كما تفعل عينك. كلما اقترب الجسم من عينك ، زاد حجمه.
 تتجاهل الإسقاطات الهجائية معلومات العمق. ستظهر الأشياء الأقرب إليك ، 
أو الكاميرا في هذه الحالة ، بنفس حجم الأشياء البعيدة.
يظهر المكعبان الموجودان على اليسار بإسقاط منظور بينما المكعبات الموجودة على اليمين متعامدة.
بشكل عام ، يجب أن تستخدم الألعاب ثلاثية الأبعاد الإسقاط المنظور.
 الألعاب بدون عمق ، مثل الألعاب ثنائية الأبعاد ، يجب أن تستخدم الإسقاط الهجائي.
بينما تحتوي لعبتك على عناصر ثلاثية الأبعاد ، فإن طريقة اللعب ثنائية الأبعاد بشكل أساسي.
 في حقل الإسقاط ، حدد هجائي . بعد ذلك ، اضبط الحجم على 18.85 .
يجب أن تطير سفينة الفضاء ، أليس كذلك؟ للقيام بذلك ، 
يجب عليك كتابة بعض التعليمات البرمجية في C # لتحريك السفينة إطارًا بإطار.
 لتوفير بعض الأعمال ، تحتوي ملفات الأمثلة على برنامج نصي جاهز للاستخدام. 
السؤال هو كيف تضيفه إلى سفينتك؟
البرنامج النصي هو ببساطة نوع آخر من المكونات ، و
هناك العديد من الطرق لإضافة مكونات إلى GameObjects. 
ستجرب بعض الطرق في هذا البرنامج التعليمي.
في الوقت الحالي ، حدد مركبة فضائية من التسلسل الهرمي.
 ثم حدد خيار المكون من شريط القوائم. في الجزء السفلي ، 
سترى خيارًا يسمى البرامج النصية مع قائمة منبثقة للنصوص المتاحة. 
حدد البرنامج النصي لمراقب الشحن  .


تصميم لعبة على برنامج محرك الالعاب Unity

يجب أن ترى الآن أنه Ship Controller تمت إضافة البرنامج النصي كمكون نصي
 إلى Spaceship GameObject في نافذة Inspector .
كما هو الحال مع المكونات الأخرى ، يمكنك تحديد الحقول في البرامج النصية الخاصة بك 
والتي يمكنك الوصول إليها في المحرر.
 يمنحك هذا القدرة على تغيير خصائص البرامج النصية الخاصة بك أثناء لعب اللعبة.

تصميم لعبة على برنامج محرك الالعاب Unity

اضبط سرعة نقل المكون الخاص بك على 22 وسرعة الدوران على 2 .
تحدد سرعة الحركة سرعة السفينة ، بينما تحدد سرعة الدوران مدى سرعة دوران السفينة.
 ضرب اللعب زر في الوسط العلوي من واجهة Unity .
 هذا هو بداية اللعبة. استخدم مفاتيح الأسهم لتحريك سفينتك.
لسوء الحظ ، ستطير سفينتك بعيدًا عن الشاشة ، إلى Alpha Centauri وما بعده. 
سوف تحتاج إلى إصلاح ذلك.
استخدم شريط القائمة كما كان من قبل لإضافة نص التفاف الشاشة إلى سفينة الفضاء.

تصميم لعبة على برنامج محرك الالعاب Unity

ستلاحظ أن هذا المكون يحتوي على حقل يسمى Renderers ، 
والذي يأخذ مجموعة من Skinned Mesh Renderers. 
هذه هي الهندسة التي تخلق النموذج.
إذا لم يكن العارض معروضًا على الشاشة ، فإنه ينقل كائن GameObject
 فوريًا إلى موضع آخر على الشاشة بناءً على اتجاه حركته وموقعه الحالي.
توسيع سفينة الفضاء العقدة حتى تجد الجسم GameObject،
 ثم سحب الجسم في عارضين المجال.

تصميم لعبة على برنامج محرك الالعاب Unity

الآن قم بتشغيل لعبتك. إلى ما لا نهاية وما بعدها! 

هل تذكرت حفظ عملك؟

إدخال الفيزياء
هناك مشكلة رئيسية واحدة فقط. بتحليق سفينتك حولك ، انتهكت أحد قوانين الفيزياء. 
لا ، ليست قوانين نيوتن للفيزياء - أفضل الممارسات لقوانين فيزياء الوحدة.
تستخدم الوحدة الفيزياء لاكتشاف الاصطدام. إذا لم يكن كائن GameObject 
يحتوي على مكون RigidBody ، فإنه يعتبر مصادمًا ثابتًا .
هذا يعني أن Unity تفترض أن GameObject سيظل ثابتًا ، 
مما يسمح بإجراء تحسينات ضخمة عندما يتعلق الأمر باكتشاف الاصطدام. 
ولكن عندما تبدأ في تحريك تلك الكائنات الثابتة على أي حال ، يتعين على Unity
 إعادة حساب تلك التحسينات. هذا يضيف وقتًا غير ضروري لوحدة المعالجة المركزية إلى لعبتك.
لتجنب هذا الحمل غير الضروري لوحدة المعالجة المركزية ،
 ستحتاج إلى الاشتراك في محرك الفيزياء عن طريق إضافة مكون Rigidbody.
 لقد قمت بالفعل بإضافة مكونات مباشرة من شريط القوائم. 
هذه المرة ، مع استمرار تحديد مركبة الفضاء في التسلسل الهرمي ، 
انقر فوق الزر إضافة مكون في المراقب Inspector .

تصميم لعبة على برنامج محرك الالعاب Unity

سترى قائمة المكونات تظهر. انقر فوق الفيزياء ، ثم Rigidbody .
هذا المكون لديه الكثير من الخيارات. Is Kinematic هو الشخص الذي تهتم به.
يعني تعيين هذا الخيار أنك تريد نقل كائن GameObject يدويًا ،
 لكنك ما زلت تريد تسجيل الكائن للتصادمات.
يكون هذا مفيدًا عندما تقوم بنقل العناصر عبر البرامج النصية ، كما تفعل هنا ، أو عبر الرسوم المتحركة.
ضع علامة في خانة الاختيار Is Kinematic .
 منذ كنت لا تستخدم الجاذبية في هذه اللعبة، قم بإلغاء في استخدام الجاذبية مربع مثل ذلك :

الهدف من هذه اللعبة هو الطيران وإطلاق النار على أنواع مختلفة من الحطام.
 بطبيعة الحال ، سيلعب التعامل مع الاصطدامات دورًا كبيرًا في هذا النوع من الألعاب.
 ستحتاج إلى معرفة متى يطلق اللاعب كويكبًا أو عندما يصطدم أحدهم بشيء ما.
تتيح لك المصادمات الاستماع إلى الاصطدامات والاستجابة لها.
 هناك العديد من أنواع المصادمات لاستخدامها مع الأشكال الأساسية ،
 مثل Sphere Collider و Box Collider.
حتى أن هناك مصادم شبكي مبني على نموذج ثلاثي الأبعاد.
 يتم عرض المصادمات في عرض المشهد باستخدام خطوط خضراء.
إذا كنت تستخدم شاشة شبكية العين ، فإن الخطوط الخضراء تكون رفيعة للغاية.
 تبحث Unity في إمكانية التخصيص أو جعل محرر نقطة في البوصة حساسًا لتحسين ذلك.
في هذا البرنامج التعليمي ، ستبقي الأمور بسيطة وستستخدم Sphere Collider.
حدد Spaceship في نافذة Hierarchy وانقر فوق الزر
 Add Component في نافذة Inspector.
 انقر فوق Physics / Sphere Collider ، وسترى دائرة خضراء خلف المركبة الفضائية.
اه انتظر - لماذا المصادم خلف المركبة الفضائية؟ 
ذلك لأن النموذج الفعلي للمركبة الفضائية قد تم تعويضه عن الوالد عندما قمت بتغيير موضعه في وقت سابق.
مع تحديد المركبة الفضائية في التسلسل الهرمي ، ابحث عن مصادم المجال في Inspector.
اضبط المركز على (X: 0 ، Y: 4.09 ، Z: -0.72)
اضبط نصف القطر على 3.14
حدد خانة الاختيار Is Trigger . لا يمكن لأجسام GameObject الحركية تسجيل 
الاصطدامات العادية ، لكن يمكنها الاستماع إلى أحداث من كائنات حركية أخرى.
يجب أن يبدو مكون Sphere Collider كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity
يجب أن يحيط المصادم أيضًا سفينة الفضاء .

طريقة تسليح المدافع

أثناء الطيران في جميع الأنحاء أمر ممتع وكل شيء ، 
لدى معظم اللاعبين رغبة شاملة في إطلاق بضع عشرات من طوربيدات الفوتون! 
تم توفير نص لك للمساعدة في إرضاء هذه الرغبة الشديدة.
حدد مركبة الفضاء في التسلسل الهرمي وانقر فوق الزر إضافة مكون في نافذة Inspector .
 انقر فوق البرامج النصية / Ion Cannon .
ستلاحظ إضافة مكون مصدر الصوت تلقائيًا إلى GameObject بالإضافة إلى البرنامج النصي.


تتطلب بعض البرامج النصية مكونات. إذا لم يتم العثور على المكونات
 في GameObject ، فستتم إضافتها تلقائيًا.
لجعل كائناتك تشغل الأصوات ، فأنت بحاجة إلى مصدر صوتي ومقطع صوتي. 
يمكن إرفاق مصدر الصوت بأي كائن GameObject ، بينما مقطع الصوت هو مجرد ملف صوتي.
اسحب صوت التصوير من مجلد الأصوات في نافذة المشروع إلى حقل Fire Sound .

تصميم لعبة على برنامج محرك الالعاب Unity

ستلاحظ أن نص Ion Cannon يحتوي على حقل رصاصة. مهمتك هي إنشاء كائن رصاصة.
 لا تقلق إذا لم تكن فنانًا - فالمجال البسيط يكفي.
انقر فوق الزر " إنشاء" في التسلسل الهرمي. من القائمة ، حدد 3D Object ،
 ثم حدد Sphere .

تصميم لعبة على برنامج محرك الالعاب Unity

حدد Sphere في التسلسل الهرمي ، ثم استخدم المفتش لتعيين Scale إلى
 (X: 0.47 ، Y: 0.47 ، Z: 0.47) . 
حدد المجال في التسلسل الهرمي مرة أخرى وقم بتسميته رمز نقطي .
نظرًا لأن الرصاصة الخاصة بك ستتحرك عبر المشهد ، فإنها تحتاج إلى الاشتراك في محرك الفيزياء أيضًا. 
هل تتذكر ما عليك القيام به؟ اعطها دوامة وإذا كنت عالقًا ، تحقق من عملك .


ملاحظة :
(حدد الرمز النقطي من التسلسل الهرمي وانقر فوق الزر إضافة مكون في Inspector. 
حدد Physics / Rigidbody لإضافة مكون Rigidbody).
سوف الرصاصة تحتاج سرعة في التحرك، وذلك للتأكد هل الحركية هو دون رادع . 
أيضا، تأكد من استخدام الجاذبية هو دون رادع .
ستستمر الرصاصة في التحرك حتى بعد أن تطير خارج الشاشة ،
 تمامًا كما فعلت سفينة الفضاء الخاصة بك في الأصل.
 اسحب البرنامج النصي Bullet من نافذة Project إلى Bullet GameObject .
 الآن ، عندما تطير الرصاصة خارج الشاشة ، سيتم تدميرها تلقائيًا.
أخيرًا ، اسحب كائن Bullet إلى مجلد Prefab لنافذة المشروع. 
يؤدي هذا إلى إنشاء معمل جاهز للرصاص ، والذي يسمح لك بإنشاء الكثير من
 الرموز النقطية باستخدام برنامج نصي. 
الآن بعد أن تم إنشاء الرمز النقطي الخاص بك كمعمل جاهز ، 
احذف مثيل الرمز النقطي من التسلسل الهرمي .
حدد سفينة الفضاء الخاصة بك مرة أخرى ، واستخدم Inspector لإضافة
 Bullet Prefab إلى حقل Bullet .
 يجب أن يبدو Inspector كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity


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

تصميم لعبة على برنامج محرك الالعاب Unity

وضع الحطام في الحطام الفضائي
حتى الآن لديك سفينة يمكنها إطلاق النار ، ولكن سيكون الأمر أكثر إثارة للاهتمام
 إذا كان هناك شيء لإطلاق النار عليه. 
حان الوقت لكي تضيف بعض الكويكبات إلى هذا المزيج.
ابحث عن ملف rock_d_05.obj في الملفات التي تم تنزيلها و
اسحبه إلى مجلد النماذج في نافذة المشروع.
انقر بزر الماوس الأيمن فوق rock_d_05.obj وأعد تسميته Asteroid .

تصميم لعبة على برنامج محرك الالعاب Unity




يحتوي هذا الملف فقط على معلومات حول النموذج نفسه. 
لا تحتوي على أي رسوم متحركة مدرجة.
اسحب نموذج الكويكب إلى عرض المشهد لإنشاء مثيل له. سترى أن الكويكب حاليًا أبيض عادي
بينما يمكنك تقديم الحجة القائلة بأنه جزء من مذنب أبيض ، 
يجب أن تتعلم كيفية تركيب نماذجك ... إلا إذا كنت ترغب في إنشاء مهنة في إنشاء ألعاب ذات طابع ثلجي.
قم بتوسيع Asteroid GameObject وحدد الكائن الفرعي المسمى rockLP001 . 
في Inspector ، سترى أن هذا الكائن الصغير GameObject به مكون Mesh Renderer مرفق به.
 يرسم العارض الكائن إلى الشاشة ، لكنه يحتاج إلى القليل من المساعدة للقيام بذلك - وهنا يأتي دور المواد.
تحدد المواد مظهر الأشياء الخاصة بك. 
على سبيل المثال ، سيبدو القميص القطني مختلفًا كثيرًا عن الجدار الجصي.

Unity يحقق هذا عن طريق التغليف و تظليل مع كل مادة.

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

تصميم لعبة على برنامج محرك الالعاب Unity

يتيح لك خيار Shader الاختيار من بين العديد من أدوات التظليل المعبأة مسبقًا.
 يتمتع Standard Shader الافتراضي بمرونة هائلة ، لذا اتركه محددًا.
عند اصطدام كويكب ما ، سترغب في جعله يتلاشى ، لذا اضبط Rendering Mode على Fade .
و البياض الملكية تحمل الملمس الفعلي. يمكنك تلوينها من خلال توفير لون.
اسحب صورة flint_like_rock_4787 من مجلد Textures في نافذة Project إلى خاصية Albedo :

تصميم لعبة على برنامج محرك الالعاب Unity




بالنظر إلى معاينة مادة الكويكب أسفل نافذة Inspector ، ستلاحظ أن المادة تبدو
 ناعمة جدًا ، كما لو كانت مصقولة.
 (إذا كنت لا ترى معاينة المواد ، فحاول سحب شريط عنوان Asteroid لأعلى من أسفل Inspector .
تحت خاصية Metallic ، سترى منزلقين. يحدد شريط التمرير الأول المظهر المعدني للمادة ،
 بينما يحدد الآخر مدى خشونة النسيج.
في الوقت الحالي ، اضبط شريط التمرير المعدني على 0.219
تعيين النعومة المنزلق إلى 0.149 .
مع كل المواد التي تم تكوينها ، تحتاج الآن إلى إضافتها إلى الكويكب. 
اسحب مادة الكويكب من نافذة المشروع إلى Asteroid GameObject في عرض Scene .

تصميم لعبة على برنامج محرك الالعاب Unity


رائع! لديك كويكب جاهز لإحداث الكثير من المتاعب. لكن عليك أولاً إضافة بعض السلوك إليها
اسحب البرنامج النصي Debris من نافذة Project في مجلد Scripts إلى Asteroid .
أضاف البرنامج النصي Debris تلقائيًا Sphere Collider و
 Rigidbody و Audio Source إلى الكويكب. الآن قم بإعداد جميع الخصائص المطلوبة.

تصميم لعبة على برنامج محرك الالعاب Unity


1- اضبط مركز مصادم الكرة على (X: 0.01 ، Y: -0.09 ، Z: 0.89) .
2- اضبط نصف القطر على 1.49 .
3- حدد خانة الاختيار Is Trigger .
4- بالنسبة لـ Rigidbody ، قم بإلغاء تحديد خانة الاختيار Use Gravity .
5- حدد خانة الاختيار Is Kinematic .
6- بالنسبة لبرنامج Debris النصي ، اضبط Min Speed على 15 .
6- اضبط السرعة القصوى على 30 .
7 اسحب ملف صوت الانفجار من مجلد الأصوات إلى حقل صوت الانفجار .
8- لتحويل الكويكب GameObject ، اضبط المقياس على
 (X: 3.02 ، Y: 3.02 ، Z: 3.02) .
أدت إضافة مكون Debris أيضًا إلى إضافة مكون Renderer Fade المطلوب . 
عندما تصطدم رصاصة بكويكب ، يجب أن يتلاشى الكويكب بعيدًا بدلاً من الاختفاء ببساطة من الشاشة.
 لا يتطلب المكون سوى وقت خبو ، لذا اضبط Fade Time على 0.5 .
عندما تنجرف الكويكبات عن الشاشة ، يجب أن تلتف تمامًا مثل سفينة الفضاء.
من مجلد البرامج النصية في نافذة المشروع ، اسحب نص التفاف الشاشة إلى الكويكب . 
تمامًا كما فعلت مع Spaceship ، ستحتاج إلى تكوين Screen Wrap باستخدام العارض الصحيح.
الكويكب لديه طفل GameObject اسمه rockLP001 . 
اسحب كائن GameObject الفرعي هذا إلى خاصية Renderers لمكون
 Screen Wrap في المفتش الخاص بـ Asteroid GameObject.


تصميم لعبة على برنامج محرك الالعاب Unity

أخيرًا ، اسحب الكويكب من التسلسل الهرمي إلى مجلد Prefab في نافذة المشروع. 
انقر فوق Original Prefab عندما يُطلب منك إنشاء المبنى الجاهز.
 الآن بعد أن انتهيت من إنشاء Asteroid Prefab ، احذف مثيل Asteroid من التسلسل الهرمي.
آخر شيء تحتاجه هو نقطة تفرخ لجميع الكويكبات. انقر فوق الزر 
" إنشاء" في التسلسل الهرمي وحدد " إنشاء فارغ" . قم بتسمية نقطة الولادة Debris .
سترغب في أن تكون نقطة التكاثر هذه على نفس مستوى اللاعب.
 خلاف ذلك ، سوف يطير اللاعب فوق الحطام أو تحته. كائن GameObject 
الجيد لاستخدامه كمرجع هو صاروخ R_0 ، لأنه يقع في وسط النموذج.
سحب الحطام GameObject وجعلها الطفل من missile_R_0 .
 ستكون إحداثيات التحويل الخاصة بـ Debris مرتبطة بعد ذلك بكائن GameObject الأصلي.
لمطابقة إحداثيات الوالد ، اضبط موضع الحطام على X: 0 ، Y: 0 ، Z: 0) .
 مع هذا قليل الحيلة يمكنك أن تتأكد من أن سفينة الفضاء و الحطام على نفس الطائرة.
بعد ذلك ، انقل الحطام إلى أسفل العرض الهرمي حيث كان في الأصل.

تصميم لعبة على برنامج محرك الالعاب Unity

حرك Debris GameObject 7.5 نقطة إلى اليمين.
 في حالة عدم قدرتك على الحصول على نفس الشيء تمامًا ، 
يجب أن يكون موضعه الجديد (X: 20.0 ، Y: 1.72 ، Z: 7.06) .

ضع كل شيء معا

الآن بعد أن تم تكوين سفينتك وكويكب ، فأنت بحاجة إلى جمع كل العناصر معًا وإنشاء لعبة بسيطة.
انقر فوق الزر " إنشاء" في التسلسل الهرمي وحدد " إنشاء فارغ" .
 في Inspector ، انقر فوق اسم GameObject الجديد وقم بتسميته GameManager .
مع تحديد GameManager في التسلسل الهرمي ،
 انقر فوق الزر Add Component ، وحدد Scripts ، ثم حدد GameManager .
سترى أن هذا الإجراء أضاف مصدرًا صوتيًا أيضًا. أيضًا ، 
يحتوي مكون GameManager على العديد من الحقول التي تحتاج 
إلى تعيينها لاستخدامها في تكاثر الكويكبات.
ابدأ بحقل الحطام . تأكد من تحديد GameManager في التسلسل الهرمي ، 
واسحب Asteroid Prefab إلى حقل Debris .
إذن ماذا فعلت هنا؟ و GameManager مسؤولة عن وضع البيض الكويكبات . 
يستخدم حقل الحطام لتحديد الكائنات التي سيتم نشرها. لقد أخبرتها أن تستخدم مبنى الكويكب الجاهز.
بعد ذلك ، ما زلت في GameManager :
تعيين الوقت الحد الأدنى لـ 2 و الوقت ماكس إلى 5 .
 هذا يخبر البرنامج النصي بالسرعة التي يجب أن تفرخ بها الكويكبات.
اضبط إجمالي العناصر التي تظهر على الشاشة على 5 .
 هذا يحد من عدد الكويكبات إلى 5 حتى لا يغرق اللاعب.
اسحب Debris GameObject من التسلسل الهرمي إلى حقل Screen Debris . 
هذا يحدد أن GameManager يجب أن تفرخ الكويكبات على Debris GameObject.
و GameManager ينبغي أن ننظر عنصر كما يلي:

تصميم لعبة على برنامج محرك الالعاب Unity

أخيرًا ، في مكون مصدر الصوت ، أضف موسيقى خلفية إلى حقل AudioClip ،
 وتأكد من تحديد مربع اختيار الحلقة .

تصميم لعبة على برنامج محرك الالعاب Unity


قم بتشغيل لعبتك وتحقق من كيف يبدو كل شيء.
تهانينا - لقد قمت ببناء أول لعبة لك في Unity!
في البرامج التعليمية اللاحقة ، ستتعرف على الأقسام الفرعية المختلفة في 
Unity التي تتيح لك حقًا متابعة هذه اللعبة. 
ستتعلم أيضًا كيفية كتابة البرامج النصية الخاصة بك للاستفادة من واجهة برمجة تطبيقات Unity المرنة.
هل تذكرت حفظ عملك. صح ؟ 

لمعرفة المزيد حول Unity ، تحقق من مقالاتنا الأخرى .
 لدى Unity أيضًا الكثير من المحتوى الرائع والمجاني على YouTube.
كما هو الحال دائمًا ، استمر في التحقق من هذا الموقع لمزيد من برامج Unity التعليمية.

جدول المحتويات