الإعلانات

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

هذا الدليل متاح للتنزيل كملف PDF مجاني. قم بتنزيل برمجة لعبة مع الوحدة: دليل المبتدئين الآن. لا تتردد في نسخ ومشاركة هذا مع أصدقائك وعائلتك.

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

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

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

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

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

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

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

§1 - إصدارات الوحدة

§2 - تثبيت الوحدة

§3 - مقدمة موجزة للنموذج الكينوني

§4 - أساسيات الوحدة

§5 - مثال: العناصر الأساسية للعبة

§6 - البرمجة النصية في الوحدة

§7 - مثال: البرمجة النصية بونغ

§8 - استكشاف التوثيق / التعلم أكثر

§9 - بناء لعبتك / تجميعها لتطبيق مستقل

§10- ملاحظات ختامية

1. إصدارات الوحدة

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

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

1.1 التسعير

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

الإصدار الاحترافي للوحدة هو $75 شهر أو $1500 للحصول على ترخيص دائم ، وليس له حدود على ما يمكنك القيام به مع الألعاب التي تم إنشاؤها باستخدامها. هناك أيضًا إصدار تجريبي مجاني لمدة 30 يومًا متاحًا ، والذي سنستخدمه في هذا الدليل ، لنقدم لك نظرة عامة كاملة حول الميزات المتاحة قدر الإمكان. يتوفر أيضًا ترخيص طالب لمدة عام من خلال ستوديكا إلى عن على $129.

1.2 الميزات

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

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

2. تثبيت الوحدة

الوحدة سهلة التركيب. يمكنك تنزيل الملف التنفيذي من union3d.com/get-unity/download.

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

تهانينا! لديك الآن إصدار تجريبي لمدة 30 يومًا من Unity Pro. عند انتهاء الفترة التجريبية ، إذا كنت لا ترغب في شراء الإصدار المحترف ، يمكنك التبديل إلى الإصدار المجاني والاحتفاظ بالمحتوى الحالي الخاص بك.

3. مقدمة موجزة للنموذج الكينوني

قبل البدء في تطبيق Unity ، من المهم أن نراجع الأساسيات قليلاً. الوحدة تدعم كليهما ج # و جافا سكريبت إلى عن على برمجة اللعبة 7 لغات تطوير لعبة الوحدة للتعلم: أيهما أفضل؟هل تريد بدء تطوير اللعبة في Unity؟ ستحتاج إلى الإلمام بإحدى هذه اللغات المتوافقة مع الوحدة. قراءة المزيد ; سنعمل مع C # لهذا البرنامج التعليمي.

أولاً ، إذا لم تكن قد قمت بالبرمجة من قبل ، ضع هذا البرنامج التعليمي جانبًا وقضى بضعة أيام في العمل من خلال Microsoft C # اللغة التمهيدي حتى تشعر بالراحة عند استخدام اللغة لمهام بسيطة.

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

إذا كنت قد برمجت من قبل بلغة حتمية أو موجهة للكائنات مثل C أو Java ، فقم بتفريغ البرايمر والتعرف على كيفية اختلاف C # عن اللغات الأخرى التي استخدمتها في الماضي. في كلتا الحالتين ، لا تستمر في البرنامج التعليمي حتى تشعر بالراحة في حل المشكلات البسيطة باستخدام C # (على سبيل المثال ، إذا كنت سأطلب لك كتابة برنامج يطبع أول مائة رقم أولي ، يجب أن تكون قادرًا على كتابة هذا البرنامج دون استشارة جوجل).

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

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

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

يبدو إرفاق نص برمجي جديد بكائن كالتالي:

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 1

أول، حدد الكائن وانتقل إلى مفتش. اضغط على إضافة مكون زر.

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 2

اذهب إلى نص جديد، أدخل الاسم الذي تريده ، وانقر إنشاء وإضافة.

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 3

الآن لديك نص برمجي جديد يمكنك تحريره بالنقر المزدوج عليه!

يشبه ملف الفصل ما يلي:

باستخدام UnityEngine ؛ الفئة العامة Mook: MonoBehaviour {الصحة العائمة الخاصة؛ بداية خالية () {health = 100؛ } void Update () {if (health> 0) {/ * ابحث عن لاعب إذا واجهت لاعبًا على الطريق ، اقتله إذا تم إطلاق النار عليه ، وأزل كمية عشوائية من الصحة * /}} }

دعونا كسر هذا:

  • باستخدام UnityEngine: يخبر هذا السطر C # أننا نريد استخدام مكتبات Unity ، مما يسمح لنا بالاتصال بمحرك ألعاب Unity.
  • موك الطبقة العامة: MonoBehaviour:يعلن هذا السطر عن الفئة واسمها - أحسنت.
  • الصحة العائمة الخاصة: يعلن هذا عن متغير فئة خاصة (والذي يمكن تغييره فقط من داخل الفصل). يتم إعطاء المتغير قيمة في بداية.
  • ابدأ الفراغ (): يعلن هذا عن طريقة تسمى بداية. ابدأ طريقة خاصة يتم تشغيلها مرة واحدة فقط ، عندما يتم إطلاق اللعبة في البداية.
  • تحديث باطل (): التحديث هو طريقة خاصة أخرى ، تعمل على كل إطار. معظم منطق لعبتك سيذهب هنا.
  • // إذا واجهت اللاعب على الطريق ، اقتله: هذا السطر عبارة عن تعليق (يتم تجاهل أي خط يبدأ بخط مائل مزدوج بواسطة C #). تُستخدم التعليقات لتذكير نفسك بما تفعله أجزاء معينة من التعليمات البرمجية. في هذه الحالة ، يتم استخدام هذا التعليق للوقوف في كتلة أكثر تعقيدًا من التعليمات البرمجية تقوم بالفعل بما يصف التعليق.

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

تعويم عام addTwoNumbers (float a، float b) {return a + b؛ }

يصرح هذا عن طريقة عامة (يمكن الوصول إليها من قبل كائنات أخرى) تقوم بإرجاع تعويم يسمى addTwoNumbersوالذي يأخذ عائمين كمدخل (يسمى أ و ب). ثم تقوم بإرجاع مجموع القيمتين كمخرجاتها.

استدعاء هذه الطريقة من داخل نفس الفصل (على سبيل المثال ، من الداخل تحديث) يشبه هذا:

نتيجة تعويم = addTwoNumbers (1، 2) ؛

استدعاء الأسلوب من فئة أخرى مشابه:

مثيل addTwoNumbers ؛ نتيجة تعويم = example.addTwoNumbers (1، 2) ؛

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

إذا كان النص البرمجي مرفقًا بكائن له خصائص خاصة (مثل باعث الجسيمات) لا يمكن الوصول إليه ضمن المجموعة العادية من معلمات GameObject ، يمكنك اختيار معاملتها كنوع مختلف من كيان اللعبة باستخدام ال GetComponent طريقة.

تبدو صيغة ذلك كما يلي:

GetComponent().لعب()؛

إذا كان أيًا من هذا غير مألوف لك ، فارجع إلى C # التمهيدي. سيوفر لك الكثير من الإحباط أثناء المتابعة.

4. أساسيات الوحدة

في هذا القسم ، سنعمل في طريقنا من خلال الآليات الأساسية لمحرك الوحدة. سير العمل في Unity يسير على النحو التالي:

  1. إنشاء كيان لخدمة دور في اللعبة (فارغ أهداف اللعبة يمكن استخدامها للمهام المنطقية المجردة).
  2. اكتب أو ابحث عن ملف فئة ، وأضفه إلى الكيان كنص برمجي (باستخدام إضافة مكون زر في مفتش رأي.
  3. يركض > اختبار > تصحيح الأخطاء > كرر حتى يعمل وينتقل إلى العنصر التالي في اللعبة.

تأتي الوحدة مع عدد من علامات تبويب العرض الأساسية التي يمكن وضعها بطرق مختلفة لتناسب ذوق المستخدم. الخمسة الكبار هم:

  1. لعبه: يعرض نسخة من اللعبة يمكنك التفاعل معها واختبارها.
  2. مشهد: يوفر نسخة ثابتة قابلة للتحرير من عالم الألعاب.
  3. مفتش: يسمح لك بتعديل الكيانات الفردية في عالم اللعبة عن طريق تحديدها في محرر التبويب.
  4. مشروع: يسمح لك بتصفح ملفات المشروع وسحب النماذج والمواد والموارد الأخرى إلى محرر علامة التبويب لوضعها في عالم اللعبة.
  5. التسلسل الهرمي: تعرض علامة التبويب هذه جميع الكائنات في العالم ، مما يسمح لك بالعثور على الكائنات البعيدة في المشهد ، والكيانات الرئيسية لبعضها البعض عن طريق النقر والسحب.

انظر الرسم البياني أدناه لمواقع كل هذه الأشياء:

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 0

4.1 كيانات الوحدة

4.1.1 تنسجم

الشبكات هي الطريق هندسة ثلاثية الأبعاد ممثلة في الوحدة. يمكنك إما استخدام الوحدة المدمجة بدائي الأشياء (المكعبات ، الكرات ، الأسطوانات ، إلخ) ، أو استيراد النماذج ثلاثية الأبعاد الخاصة بك من حزمة النمذجة مثل الخلاط الشروع في استخدام الخلاط: 7 دروس رائعة للمبتدئينتعد النمذجة ثلاثية الأبعاد طريقة ممتازة لممارسة الإبداع مع البقاء على اتصال مع الجانب الفني الخاص بك. إليك بعض الدروس المجانية الرائعة. قراءة المزيد أو مايا تعلم مايا 2016: أين تبدأMaya هي أداة تستخدم للرسوم المتحركة ثلاثية الأبعاد ، ولكنها تأتي مع منحنى تعلم حاد بشكل لا يصدق. ما هي المواد التعليمية الجيدة الموجودة؟ قراءة المزيد . يدعم Unity مجموعة متنوعة من التنسيقات ثلاثية الأبعاد ، بما في ذلك .fbxو .3ds.

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

4.1.2 عناصر واجهة المستخدم الرسومية

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

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

عناصر واجهة المستخدم الرسومية (النصوص والأنسجة) يمكن تعديل حجمها وحجمها باستخدام الحقول ذات الصلة في علامة التبويب المفتش.

4.1.3 المواد

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

لاستيراد نسيج ، قم بتحويله إلى a .jpg, .بي إن جيأو .bmp، واسحبه إلى الأصول مجلد تحت دليل مشروع الوحدة (الذي يظهر في مستنداتي بشكل افتراضي). بعد بضع ثوانٍ ، سيظهر شريط تحميل في المحرر. عند الانتهاء ، ستتمكن من العثور على الصورة كمادة أسفل مشروع التبويب.

4.1.5 الأضواء

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

يمكن وضع الأضواء وتدويرها ولها العديد من الخصائص الداخلية التي يمكنك تخصيصها. ال الشدة يتحكم المنزلق في سطوع الضوء و نطاق يتحكم في سرعة تلاشيها.

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

الأنواع الرئيسية الثلاثة للضوء هي بقعة, نقطةو اتجاهي.

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

أضواء نقطة يكون لها موقع في مساحة ثلاثية الأبعاد ، ويلقي الضوء بالتساوي في جميع الاتجاهات. الأضواء النقطية لا تلقي بظلالها.

أضواء اتجاهيةوأخيرًا ، يتم استخدامها لمحاكاة ضوء الشمس: فهي تعرض الضوء في اتجاه كما لو أنه بعيد جدًا. تؤثر الأضواء الاتجاهية على كل شيء في المشهد ، ويمكن أن تنتج الظلال.

4.1.6 أنظمة الجسيمات

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

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

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

5. مثال: العناصر الأساسية للعبة

في هذا البرنامج التعليمي ، سنقوم بعمل لعبة بسيطة بونغ - شيء قمنا بتغطيته عدة مرات في DIY من قبل:

  • اردوينو كلاسيك بونج كيفية إعادة إنشاء لعبة بونغ الكلاسيكية باستخدام اردوينوكانت Pong أول لعبة فيديو وصلت إلى السوق الشامل. لأول مرة في التاريخ ، تم إدخال مفهوم "لعبة فيديو" إلى منزل العائلة ، بفضل Atari 2600 -... قراءة المزيد
  • اردوينو OLED بونغ Arduino Retro Gaming مع شاشة OLEDهل تساءلت يومًا عن مقدار العمل الذي تستغرقه لكتابة ألعاب الرجعية الخاصة بك؟ ما مدى سهولة رمز بونغ ل Arduino؟ قراءة المزيد

في هذا القسم ، سنستعرض ترتيب العناصر الأساسية - سيأتي البرنامج النصي للبرمجة النصية في وقت لاحق.

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

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 4
برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 5

أولاً ، قم بإنشاء دعامة المكعب على المجذاف.

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 6

قم بقياسه بشكل مناسب ، تكرارها، ووضع جسم كروى بين المجاذيف للكرة.

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 7

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 8

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

برمجة لعبة الوحدة: لعبة برنامج وحدة دليل المبتدئين 9
برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 10

بعد ذلك ، سترغب في ذلك وضع الكاميرا وتدويرها بحيث يؤطر المشهد بشكل صحيح. أثناء تحديد الكاميرا ، يمكنك رؤية معاينة صغيرة لعرض الكاميرا في الركن الأيمن السفلي.

برمجة لعبة الوحدة: لعبة برنامج الوحدة للمبتدئين في دليل 11

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 13
برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 14

إذا قمت بالضغط على اللعب ، يمكنك الآن رؤية العناصر الأساسية في لعبتنا. لن يفعلوا أي شيء بعد ، لكننا سنصل إلى ذلك!

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 12

الآن بعد أن حصلنا على هذا الإعداد ، سنتحدث عن ما ينطوي عليه برمجة هذه العناصر لإنشاء لعبة.

6. البرمجة النصية في الوحدة

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

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 15

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

إذا كنت تريد أن يؤثر نص برمجي على كائن على خصائص كائن مختلف ، يمكنك إنشاء فارغ GameObject المتغير في البرنامج النصي الخاص بك ، واستخدام مفتش لتعيينه لكائن آخر في المشهد.

قائمة العناصر التي قد يحتوي عليها الجسم هي كما يلي (مأخوذة من عرض المفتش لأحد المجاذيف لدينا في المثال أعلاه):

  1. تحول
  2. مكعب (مرشح شبكة)
  3. مصادم صندوق
  4. مش التقديم

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

6.1 التحويل

تتحكم وظائف التحويل في GameObject في الوحدة في المعلمات المادية لذلك الكائن: مقياس، انها موضع، ولها اتجاه. يمكنك الوصول إليها من خلال برنامج نصي مثل هذا:

transform.position = newPositionVector3 ؛ transform.rotation = newRotationQuaternion؛ convert.localScale = newScaleVector3 ؛

في الأمثلة أعلاه ، تكون المتغيرات المسماة من الأنواع المحددة في الأسماء. هناك بعض التفاصيل الرئيسية هنا: يتم تخزين الموضع والقياس ، كما تتوقع ، على النحو Vector3s. يمكنك الوصول إلى X, صو ض مكونات كل منها (على سبيل المثال ، تحويل يمنحك مسافة كائن فوق مستوى الصفر).

ومع ذلك ، لتجنب قفل انحراف، يتم التعامل مع التناوب على النحو رباعيات (ناقلات مكونة من أربعة). نظرًا لأن التلاعب الرباعي اليدوي غير بديهي ، يمكنك معالجة التدوير باستخدام الزوايا Eulerian باستخدام رباعي. أويلر طريقة مثل ذلك:

transform.rotation = رباعي. أويلر (الملعب ، ياو ، لفة) ؛

إذا كنت ترغب في نقل الأشياء بسلاسة من مكان إلى آخر ، ستجد Slerp طريقة للرباعيات و vector3s مفيدة. يأخذ Slerp ثلاث حجج - الحالة الحالية ، والحالة النهائية ، وسرعة التغيير ، ويتم الاستكمال بينها بسلاسة عند السرعة المحددة. تبدو الصيغة كما يلي:

transform.position = Vector3.Slerp (startPositionVector3، newDestinationVector3، 1) ؛

6.2 العارض

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

غير قادر على التقديم = خطأ ؛ العارض.material.color = لون جديد (0 ، 255 ، 0) ؛ تقديم. المواد. mainTexture = myTexture ؛ العارض. material.shader = newShader ،

معظم هذه الوظائف لها وظائف واضحة. المثال الأول يجعل الكائن المعني غير مرئي: خدعة مفيدة في عدد من المواقف. يقوم المثال الثاني بتعيين جديد لون RGB (أي الأخضر) إلى الكائن المعني. يعين الثالث النسيج المنتشر الرئيسي لمتغير نسيج جديد. يغير المثال الأخير تظليل مادة الكائن إلى متغير تظليل محدد حديثًا.

6.3 الفيزياء

تأتي الوحدة بمحرك فيزيائي متكامل - شيء ما ألعاب رمل الفيزياء Smash، Drive & Build: 3 Awesome Physics Sandboxes Simulators قراءة المزيد جميع الاستخدامات. هذا يسمح لك بتعيين الخصائص الفيزيائية للأشياء والسماح لك بتفاصيل المحاكاة الخاصة بها لك. بشكل عام ، بدلاً من محاولة تطبيق الفيزياء الخاصة بك باستخدام كتاب دراسي ونظام التحويل ، من الأسهل والأكثر قوة استخدام محرك الفيزياء Unity إلى أقصى حد ممكن.

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

تتصادم الدعائم الفيزيائية الحركية مع (وتأثير) الدعائم الفيزيائية غير الحركية من حولهم ، ولكنها لا تتأثر بالتصادم بأنفسهم. الدعائم الحركية الثابتة هي الأشياء غير المنقولة المثل ، والأجسام الحركية المتحركة هي قوة لا يمكن إيقافها بالمثل (للسجل ، عندما يتصادمان ، يمران ببساطة من خلال كل منهما آخر).

أبعد من ذلك ، يمكنك ضبط السحب الزاوي للجسم (مقدار الطاقة اللازمة لدوره) ، وتغيير كتلته ، وإملاء ما إذا كان يتأثر بالجاذبية أم لا ، وتطبيق القوى عليه.

أمثلة:

rigidbody.angularDrag = 0.1f ؛ جامدة. mass = 100 ؛ rigidbody.isKinematic = false ؛ rigidbody.useGravity = صحيح ؛ جسم متماسك. AddForce (تحويل إلى الأمام * 100) ؛

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

6.4 الاصطدام

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

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

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

باطل OnCollisionEnter (تصادم آخر) {// يفعل أشياء هنا. }

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

في بعض الأحيان ، قد يكون من المفيد أيضًا القيام بما يسمى صب راي. في البث ، خط رفيع بلا حدود (أ شعاع) يلقي عبر العالم من أصل ما ، على طول ناقل ، وعندما يصطدم بشيء ما ، يتم إرجاع موقع وتفاصيل التصادم الأول. يبدو رمز البث الشعاعي كما يلي:

ضرب RaycastHit. إذا (الفيزياء. Raycast (convert.position، -Vector3.up، out hit)) {مسافة عائمةToGround = hit.distance؛ }

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

يمكن استخدام Raycasts مثل هذا للرماة لتحديد ما تشير إليه البندقية ، أو لتحديد الأشياء عندما تنظر إليها الكاميرا ، أو لأنماط معينة من ميكانيكي الحركة.

6.5 تصحيح الوقت

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

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

6.6 مصادر الصوت والمستمعين

الآن بعد أن غطينا كيفية إنشاء الكائنات وعرضها والتحكم فيها ، فلنتحدث عن المعنى الآخر الذي يمكن أن تخدمه ألعاب الكمبيوتر: صوت. يدعم الوحدة نوعين من الأصوات: ثنائي الأبعاد و ثلاثي الأبعاد اصوات. تختلف الأصوات ثلاثية الأبعاد في حجمها بناءً على المسافة ، وتشوه أثناء تحركها بالنسبة للكاميرا ؛ لا الأصوات 2D.

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

لتشغيل الصوت فعليًا ، ستحتاج إلى إرفاق ملف صوتي مصدر الصوت إلى الدعامة (الدعامة التي تريد أن يصدر الصوت منها ، في حالة الصوت ثلاثي الأبعاد). ثم ستحتاج إلى فتح مقطع صوتي الحقل وحدد ملف الصوت الخاص بك.

يمكنك استخدام myAudioSource. وقفة() و myAudioSource. لعب() للتحكم في تلك الملفات الصوتية. يمكنك ضبط سلوكيات التراجع وحجم الصوت وتحويل دوبلر للأصوات تحت مفتش علامة تبويب لمصدر الصوت.

6.7 الإدخال

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

Vector3 mousePos = Input.mousePosition ؛ bool isLeftClicking = الإدخال. GetMouseButton (0) ؛ bool isPressingSpace = الإدخال. GetKey (KeyCode. الفراغ)؛

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

6.8 تصحيح البرنامج النصي

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 16

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

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

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

7. مثال: البرمجة النصية بونغ

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

أدناه ، يمكنك عرض البرنامج النصي للكرة مع تعليقات توضيحية. تحتاج الكرة إلى تحقيق بعض الأهداف الأساسية: يجب أن ترتد في نمط معقد ، والحفاظ دائمًا الحركة على كلا المحورين ، ويجب أن تتسارع بوتيرة صعبة ولكنها ليست مستحيلة في الأفقي اتجاه.

BallHandler.cs

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

PaddleHandler.cs

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

EnemyAI.cs

أخيرًا ، نحتاج إلى برنامج نصي لتحديث لوحة النتائج وإعادة تعيين الكرة عندما تخرج عن الحدود.

ScoreboardUpdater.cs

مع هذه النصوص المرفقة وملء المراجع ، عندما ندير لعبة Pong الخاصة بنا ، فإننا نختبر أسلوب اللعب!

برمجة لعبة الوحدة: لعبة برنامج وحدة دليل المبتدئين 18

تستطيع تحميل عرض بونغ بلدي، إذا كنت ترغب في رؤية كل ما أشرت إليه في العمل. يتم تشغيله على أنظمة Windows و Mac و Linux.

8. استكشاف الوثائق / التعلم أكثر

الوحدة محرك معقد مع العديد من الميزات أكثر مما يمكن تغطيته بشكل عملي في دليل لهذا الأسلوب ، وذلك قبل أن تقوم بتضمين المساحة الواسعة من ملحقات الوحدة (المجانية والتجارية) المتاحة على الإنترنت. يمنحك هذا الدليل نقطة انطلاق قوية لتطوير لعبة ، ولكن التعليم الذاتي مهارة مهمة في أي مسعى ، ومزدوج هنا.

مورد حاسم هنا هو مرجع البرنامج النصي للوحدة. ScriptReference هي قاعدة بيانات قابلة للبحث ، متاحة لكل من C # و Javascript ، والتي تحتوي على قائمة لكل أمر وميزة الوحدة ، مع وصف وظائفهم وأمثلة موجزة عن بناء الجملة.

إذا كنت تواجه مشكلة مع محرر وواجهة Unity ، أو تمامًا مثل دروس الفيديو على سبيل التفضيل ، فهناك قائمة طويلة من الجودة العالية دروس فيديو الوحدة أفضل دروس 3D الوحدة للمبتدئينهل تريد تطوير ألعاب باستخدام Unity ، ولكن لا تعرف من أين تبدأ؟ جرب أحد برامج Unity 3D الرائعة اليوم. قراءة المزيد متاح. أكثر شمولاً (ولكن أقل اتساعًا) دروس نصية للوحدة متوفرة أيضًا من CatLikeCoding.

أخيرًا ، إذا كانت لديك أسئلة خارج نطاق التوثيق أو البرامج التعليمية ، فيمكنك طرح أسئلة محددة على إجابات. Unity3d.com. تذكر أن الإجابات مقدمة من المتطوعين ، لذا احترم وقتهم وابحث في قاعدة البيانات أولاً للتأكد من أنه لم يتم الإجابة على سؤالك بالفعل.

9. بناء اللعبة الخاصة بك / تجميع لتطبيق مستقل

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

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

برمجة لعبة مع الوحدة: لعبة برنامج وحدة دليل المبتدئين 17

العملية من هناك تفسيرية ذاتية: حدد خياراتك ، واضغط بناء; ستطالبك اللعبة بدليل للتثبيت عليه ، وستضع كلاً من الدليل القابل للتنفيذ ودليل البيانات هناك. يمكن ضغط هذين الملفين معًا وتوزيعهما (فقط تأكد من عدم فرض رسوم على لعبة مضمنة في عرض Unity التجريبي ، لأن هذا ينتهك شروط الخدمة).

10. ملاحظات ختامية

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

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

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

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

Unity هي أداة قوية ، ومع القليل من الاستكشاف ، يمكنك بناء مشاريع رائعة بها بشكل أسرع مما تتوقع. أخبرنا بما بنت في التعليقات أدناه - نود أن نرى!

وكاتب وصحفي مقيم في الجنوب الغربي ، يُضمن أندريه أن يظل يعمل حتى 50 درجة مئوية ، وهو مقاوم للماء حتى عمق اثني عشر قدمًا.