مكونات فيزياء المحرك على Unity Game Engine
مكونات فيزياء محرك Unity
أحد الأسس الأساسية لمعظم الألعاب ، سواء كانت ثنائية الأبعاد
أو ثلاثية الأبعاد ، هي الفيزياء المستخدمة فيها.
لا يجب أن تكون الفيزياء أشياء معقدة مثل المعادلات الموجية وديناميكيات السوائل.
حتى أبسط الأشياء التي تقوم بها في صنع لعبة ما تتضمن الفيزياء.
على سبيل المثال ، يتضمن تحريك اللاعب عمومًا إما إضافة قوة على الكائن
الذي هو اللاعب ، أو إزاحته بمقدار معين.
كما أن جعلها تطفو أو تغرق في الماء ، أو مجرد الانزلاق إلى أسفل المنحدرات
تشارك أيضًا في كيفية عمل الفيزياء.
الفيزياء في Unity ، وتصميم الألعاب بشكل عام ، مهمان حقًا.
في معظم الأحيان ، تكون فيزياء اللعبة هي التي تسبب "bugs"أو "glitches".
بعض الأمثلة على ذلك قد تكون OoBs (خارج الحدود) وأخطاء القطع.
في هذا القسم ، سننظر في كيفية إضافة خصائص مادية للأشياء في لعبتنا ،
وكيف يمكننا جعلها تعمل بالطريقة التي نريدها أيضًا.
سنتعلم أيضًا المزيد حول الإشارة إلى الأشياء وسحر الجمهور.
Unity : بدءًا من الفيزياء ثنائية الأبعاد
كما يوحي الاسم ، 2D تعني العمل في بعدين.
على هذا النحو ، نحن لا نهتم حقًا بما يحدث في البعد الثالث (أو المحور Z).
بقدر ما نشعر بالقلق ، نحتاج فقط إلى الاهتمام بالمحور X (ما يحدث أفقيًا)
والمحور المحور ص (ما يحدث عموديًا).
في الواقع ، إليك شيء صغير يمكنك تجربته قبل أن نبدأ.
في Unity ، حاول النقر فوق الزر ثنائي الأبعاد في الجزء العلوي الأيسر من عرض المشهد.
ما ستراه هو شيء من هذا القبيل:
ستلاحظ أن Unity في الواقع تجعلنا نعتقد أننا نعمل بتقنية ثنائية الأبعاد
بينما في الواقع نحن في الواقع نصنع لعبة ثلاثية الأبعاد مسطحة!
يمكننا في الواقع استخدام هذه الحيلة التي تستخدمها Unity لصالحنا
، كما سنرى لاحقًا عندما نكتشف تأثيرات الإضاءة.
حسنًا ، حان الوقت للبدء. إليك ما سنعمل معه:
- ثلاثة أبعاد
- أجسام وقوى جامدة
- المصادمات والاصطدامات
- لعبتك الأولى.
سوف نشرح ما ناقلات وقوات Unity هي هنا، ومن الدرس القادم وما بعده،
فإننا سوف تبدأ مع Rigidbodies و التصادم .
في Unity ، لدينا فئتان من البرمجة النصية ، تسمى Vector2 و Vector3
(في الواقع ، هناك Vector4 أيضًا ، لكننا لسنا مهتمين بذلك في الوقت الحالي).
Vector2 و Vector3 هما ما يمكنك استدعائه containers لعدد من القيم الرقمية ،
غالبًا قيم الفاصلة العائمة ، ممثلة بالرقم الموجود في النهاية.
إذن ، Vector2 عبارة عن حاوية لقيمتين فرديتين ، و Vector3 عبارة عن حاوية لثلاث قيم.
عندما نعمل في Unity2D ، تصبح فئة Vector2 بارزة ،
على الرغم من أن Vector3 لا يزال لها بعض الاستخدامات.
نظرًا لأن هذا قد يكون مربكًا بعض الشيء لبعض القراء ، فلنفهم بمثال
لنفترض أن لدينا موقع كائن ، يتم تحديد موقعه في عالم اللعبة ثنائي الأبعاد
بقيمة X (أي أفقيًا) وقيمة Y (عموديًا).
في كتابة التعليمات البرمجية لـ Unity ، بدلاً من إنشاء قيمتين منفصلتين لموضع الكائن ،
نستخدم Vector2 الذي يحمل متغيرين بدلاً من ذلك.
يمكن تعريف هذه المتغيرات أو يمكن تعيينها إلى متغيرات أخرى يحددها المستخدم.
ملاحظة :
لا تقلق بشأن مكان كتابة كود +C الخاص بك ،
فسوف نوضح لك كيفية إضافة البرامج النصية الخاصة بك قريبًا.
بالطبع ، لا يقتصر Vector2 حقًا على تحديد المركز.
يستخدم Vector بشكل أفضل عندما تتعامل مع قيم تعدل (أو تحدد)
موقع شيء ما أو دورانه أو اتجاهه.
ملاحظة :
إذا لم تقم بتثبيت Visual Studio عند تثبيت Unity ،
فمن المرجح أن تفتح البرامج النصية الخاصة بك في
واجهة Unity الافتراضية ، MonoDevelop .
لا تقلق إذا كان الرمز يبدو مختلفًا عن رمزك في اللون أو شيء من هذا القبيل ؛
طالما أنك تتابع ما يحدث ، ستكون بخير .