شرح GameObject و Collider2D على Unity Game Engine
الاصطدامات هي طريقة Unity لفهم التفاعل المادي بين جسمين صلبين ،
وفي الواقع ، كائنين من ألعاب gameObjects بشكل عام.
في الحياة الواقعية ، عندما نقول أن جسمين اصطدموا ، فإننا نعني أنهما لامسا بعضهما البعض جسديًا.
في Unity ، لا يتم تعريف الاصطدامات بواسطة الأجسام الصلبة نفسها ،
ولكن بدلاً من ذلك بواسطة مكون جديد يسمى Collider2D
. Collider2Ds هي مكونات تحدد المنطقة التي يحدث فيها تفاعل التصادم بين كائنات gameObjects.
بعبارات بسيطة ، المصادمات هي ببساطة المناطق المحددة حيث
تكون كائنات gameObject صلبة بالنسبة إلى كائنات gameObjects الأخرى.
نحن نشدد على حقيقة أنها مناطق لأن ليست كل المصادمات تتشكل تمامًا مثل
كائن اللعبة الذي يحددها. في الواقع ، بالنسبة للنماذج المفصلة للغاية ،
يستخدم معظم المطورين الأشكال الأساسية التي تشكل شكلًا تقريبيًا .
في الصور أعلاه ، لاحظ الحدود الحمراء.
هذه الحدود هي التي تحدد منطقة الاصطدام في كائنات gameObject ذات الصلة.
في المثلث ، تتناسب الحدود مع شكل كائن gameObject بشكل مثالي لأننا استخدمنا مثلثًا بسيطًا.
في المربع ، جعلنا منطقة الاصطدام أكبر من الشكل الفعلي للعبة ،
بحيث نوضح مرة أخرى أن المصادم هو منطقة مستقلة عن كائن اللعبة.
الحالة الأكثر إثارة للاهتمام هي كائن Gear .
لاحظ كيف أن المصادم لا يلتف حول أسنان الترس بشكل مثالي ،
ولكن بدلاً من ذلك ، قامت Unity بعمل تقديرات تقريبية لمناطق الاصطدام بالشكل ،
مما أدى إلى منطقة تصادم أبسط.
(لم نصنع منطقة التصادم هذه ، لقد أنشأتها Unity تلقائيًا.
سنوضح لك كيفية القيام بذلك بنفسك قريبًا جدًا).
لذا ، دعنا نستخدم هذه المعرفة عن المصادمات.
ليس علينا حتى استخدام البرمجة النصية ، رائع! في مشروعك ، افتح شخصيتك الرئيسية ،
وأضف Box Collider 2D بالانتقال إلى
Add Component → Physics 2D → Box Collider .
ستلاحظ الآن ظهور مكون جديد ، مصادم الصناديق ، في جزء المراقب .
بالطبع ، قد تختلف قيمة الحجم اعتمادًا على كيفية تشكيل صورتك.
ترى خيار تحرير المصادم الذي أبرزناه في الصورة أعلاه.
إذا قمت بالنقر فوق هذا الزر ، فستلاحظ أن صورتك تحتوي الآن على عدد قليل من المقابض
التي يمكنك استخدامها لضبط حجم منطقة المصادم.
إذا قمت بتشغيل اللعبة الآن ، فلن تلاحظ أي فرق حقًا.
ستستمر شخصيتك في التحرك كالمعتاد باستخدام مفاتيح الأسهم.
لذا ، دعونا نختبر السحر الحقيقي للمصادمات من خلال إعطاء شخصيتنا الرئيسية شيئًا للتصادم معه.
للقيام بذلك ، انقر بزر الماوس الأيمن في منطقة الأصول وانتقل إلى Create → Sprites .
تمنحك هذه القائمة الكثير من الأشكال الأساسية التي يمكنك استخدامها كعناصر
نائبة أو لاختبار التفاعلات. انقر فوق مربع وسوف يقوم بإنشاء شكل مربع جديد لتستخدمه.
اضغط على Enter ، ثم اسحب المربع وأفلته في التسلسل الهرمي ، تمامًا كما أضفنا الكائن .
استخدم المقابض الزرقاء لتغيير حجم المربع إلى حجم مناسب ، بحيث يمكنك اختبار التصادمات.
يجب أن يكفي شيء مثل الصورة التالية.
إذا قمت بتشغيل اللعبة الآن ، فسترى أن صورتك لا يهتم حقًا بالعقبة التي تقف في طريقه ،
وسوف ينزلق بسلاسة تحت الكتلة البيضاء .
كيف يمكننا إصلاح ذلك؟ وإليك الطريقة:
بدون تغيير أي شيء آخر ، أضف Box Collider 2D إلى الكائن المربع الجديد أيضًا.
نظرًا لأنه كائن أساسي مستطيل الشكل ، ستضيف Unity تلقائيًا منطقة مصادم تمامًا .
الآن مرة أخرى ، حاول تشغيل اللعبة.
تتصادم شخصيتنا الآن مع الكتلة البيضاء كما نريدها!
ولكن بمجرد أن تحاول قلب الشخصية حول زاوية الكتلة بينما تضغط عليها ،
تبدأ الأمور في الانحراف قليلاً.
حسنًا ، دعنا نلقي نظرة على السيناريو بأكمله من وجهة نظر Unity .
أثناء لعب اللعبة ، ما عليك سوى النقر فوق علامة التبويب Scene لمعرفة ما يحدث خلف الكواليس .
هناك مشكلة!
لقد حاولت دفع المصادم المربّع باتجاه إحدى الزوايا ، وبالتالي قم بتدويره.
في الواقع ، إليك طريقة يمكنك من خلالها اختبار ذلك في الحياة الواقعية ،
دون النهوض من مقعد الكمبيوتر .
حاول دفع الشاشة (برفق!) في المنتصف.
سوف يتحول للوراء قليلاً ، أليس كذلك؟ لكن حاول دفعها في الزاوية. ماذا حدث؟ شاشتك تدور.
إذا كنت قد درست القليل من الفيزياء المتقدمة ،
فستعرف أن ما تفعله هو تطبيق عزم دوران على شاشتك ، مما يجعلها تدور.
بالعودة إلى اللعبة ، كيف نصلح شخصيتنا من الالتفاف حول الزاوية؟ انه سهل.
ما عليك سوى فتح شخصيتك الرئيسية ، وفي خصائص Rigidbody2D ، افتح قسم القيود .
إذا فتحت تلك القائمة (بالنقر فوق المثلث) ، فسترى خيارات لتعطيل
(أو تجميد ، كما تسميه Unity) حركة الكائن وتدويره.
فقط ضع علامة في المربع Freeze Rotation Z ، وأنت على ما يرام.
لكنها لا تزال غير مرضية تمامًا.
هناك فجوة مكانية كبيرة بين المصادمين حيث لا يمكنك التحرك بسبب شكل الصندوق لمناطق الاصطدام.
كيف نجعل شكل المصادم أكثر واقعية؟ حسنًا ، بدلاً من مصادم الصناديق ،
دعنا ننتقل إلى الإصدار الأكثر تعقيدًا قليلاً منه ، وهو Polygon Collider.
لإضافة Polygon Collider 2D ، دعنا أولاً نتخلص من
مصادم الصندوق الذي تم ملاحظته بالفعل لشخصيتنا.
ببساطة انقر على التروس (إلى إعدادات مفتوحة) على اليمين العلوي من العنصر
(لقد سلط الضوء في الصورة)، وحدد الخيار، إزالة المكونات .
الآن اتبع نفس الخطوات التي اتبعناها أثناء إضافة Box Collider ،
ولكن هذه المرة ، حدد Polygon Collider بدلاً من ذلك.
إذا كانت شخصيتك ذات شكل بسيط إلى حد ما ، فلن تواجه Unity الكثير من المشاكل ف
ي تحديد منطقة تصادم ذات شكل مماثل تلقائيًا نيابة عنك.
إذا لم يحدث ذلك ، كما كان الحال بالنسبة للصورة او الكائن ، فسيتعين علينا القيام بذلك بمفردنا.
ما عليك سوى النقر فوق الزر Edit Collider لتحرير منطقة حدود المصادم.
بعد قليل من التحرير على مصادم الكائن او الصورة ، هذا هو المنتج النهائي الذي توصلنا إليه
ثم جرب اختبار المصادم الجديد في اللعبة.
الآن ، قد ترغب في حفظ عملك.
يمكنك ببساطة حفظه عن طريق الضغط Ctrl + S، وإنقاذ بأنها المشهد .
لقد شرحنا كيفية عمل المشاهد في الدروس السابقة ، وسنعلمك أيضًا كيفية العمل بمشاهد متعددة.
التدريب العملي
حاول أن تجعل اللاعب مقيدًا داخل اللعبة ، حتى لا يتجول خارج الشاشة.
استخدم المصادمات عن طريق صنع نقوش متحركة جديدة.
تلميح :
الكاميرا الرئيسية ثابتة ، لذلك لديك فكرة جيدة إلى حد ما عن مكان
وضع المصادمات من خلال الحكم على حواف الكاميرا.
بمجرد أن تتعود على ذلك ، اصنع أول لعبة قابلة للعب بالفعل!
اصنع متاهة من المصادمات والشخصيات ، وحاول أن تجد شخصية رئيسية طريقها للخروج!
يمكنك محاولة حتى من استيراد الصور
مع بدء و إنهاء النص فيها ووضعها في المباراة لمساعدة لاعب.