الفصل الأول: الأشكال الأساسية وخصائصها

بالإضافة إلى إمكانية استيراد نماذج ثلاثية الأبعاد من معظم برامج التصميم المعروفة، يحتوي محرك Unity أيضا على مجموعة من الكائنات (game objects) والتي تمثل أشكالا هندسية أساسية، مما يمكّنك من بناء مشهد بسيط والتفاعل معه. من الأمثلة على هذه الكائنات المكعب (cube) والكرة (sphere) واللوح (plane) والأسطوانة (cylinder). فباستطاعتك بناء المشهد بإضافة عدد غير محدد من هذه الأشكال والتغيير في خصائصها مثل الموقع (position) والحجم (يسمى أيضا القياس) (scale) والدوران (rotation).

يمكنك إضافة هذه الأشكال بالدخول إلى قائمة Game Object ثم Create Other، ستجدها في القسم الثالث من القائمة ابتداء من Cube وانتهاء بـQuad

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

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

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

الشكل1: مشهد بسيط تم بناؤه باستخدام الأشكال الأساسية المتوفرة في محرك Unity3D

الشكل1: مشهد بسيط تم بناؤه باستخدام الأشكال الأساسية المتوفرة في محرك Unity3D

يمكنك تغيير موقع وحجم ودوران الأشكال من خلال المشهد مباشرة عن طريق اختيار الأداة المناسبة من الأزرار 1a الموجودة أعلى يسار نافذة Unity، كما يمكنك أيضا إدخال القيم مباشرة عن طريق المكوّن Transform والذي يظهر في نافذة الخصائص Inspector (الشكل 2)

الشكل 2: مكوّن Transform

الشكل 2: مكوّن Transform

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

  1. لبناء الأرضية قم بإضافة لوح إلى المشهد، موقعه في نقطة الأصل (0 ,0 ,0) بينما حجمه واستدارته تبقى على قيمها الافتراضية وهي (1 ,1 ,1) بالنسبة للحجم و (0 ,0 ,0) بالنسبة للدوران. ببقائه على الحجم الأصلي، سيغطي اللوح مساحة 100 (10 * 10) وحدة مربعة على المستوى (x, z) والذي يمثل المساحة الأرضية بينما يمثل المحور y الارتفاع.
  2. لبناء الأعمدة قم بإضافة أربع أسطوانات إلى المشهد بحيث تتوزع حول نقطة الأصل على شكل مستطيل. للحصول على التوزيع المطلوب يجب أن تأخذ الأعمدة أربع مواقع على المستوى (x, z) وهي (3.5 ,2) و (3.5 ,2-) و (3.5- ,2) و (3.5- ,2-) بينما ترتفع وحدة واحدة على المحور y (أي y = 1 لمواقع جميع الأعمدة) وذلك حتى يكون سطحها السفلي ملامسا للأرضية. لجعل الأعمدة أقل سماكة، قم بتغيير الحجم على المحورين x و z إلى 0.5 بالتالي يقل قطرها إلى نصف قيمته الأصلية.
  3. لبناء العوارض فوق الأعمدة قم بإضافة مكعبين للمشهد في المواقع (3.5- ,2 ,0) و (3.5 ,2 ,0) ثم قم بتكبير حجمهما على المحور x إلى 6 وتصغير الحجم على المحورين y و z إلى 0.5
  4. بقي الآن الصناديق الثلاثة في منتصف الأرضية، وهي عبارة عن مكعبات بالحجم الافتراضي اثنان منها على الأرضية (y = 0.5) والثالث موضوع فوقهما (y = 1.5). بعد تحديد المواقع عموديا يمكن استخدام أدوات التحريك والتدوير من المشهد للوصول لنتيجة مشابهة للتي في الصورةـ، مع مراعاة كون الدوران على المحور y فقط بزوايا تتراوح بين 20- إلى 45 درجة.

يمكن الاطلاع على النتيجة في المشهد scene1 في المشروع المرفق. لاحظ أن كل ما قمنا به لبناء هذا المشهد هو تغيير الخصائص الموجودة في المكوّن Transform لجميع الأشكال التي قمنا بإضافتها. لعلك لاحظت أيضا وجود مكوّنات أخرى غير Transform مثل Mesh Filter و Mesh Renderer وغيرها. وجود هذه المكوّنات وانتماؤها لكائن بعينه يلخص طريقة تعامل محرك Unity مع بيانات المشهد؛ حيث يتكون المشهد الكامل من مجموعة من الكائنات، ويحتوي كل منها على عدد غير محدد من المكوّنات التي تتفاعل فيما بينها لتعطي الشكل والسلوك المطلوب لهذا الكائن. خذ على سبيل المثال المكوّن Transform الذي تعاملنا معه آنفا، والذي اتضح لدينا أنه المسؤول عن تحديد موقع وحجم ودوران الكائن في الفضاء ثلاثي الأبعاد، بالإضافة إلى وظائف أخرى سنأتي على ذكرها لاحقا إن شاء الله. مثال آخر هو المكوّن Mesh Renderer والذي سنناقشه في الفصل الثالث من هذه الوحدة، وهو المسؤول عن تصيير الكائن في المشهد ويختص بكل ما يتعلق بعملية التصيير من معالجات. جرّب تعطيل هذا المكوّن في أحد الأشكال الموجودة في المشهد، ما النتيجة التي ستحصل عليها؟

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

إذا كنت لا تزال ملتبسا حول بناء المشهد، والفرق بين الكائن والمكوّن وما الذي تراه في نافذة الخصائص وهرمية المشهد، لاحظ الشكل 3 والذي يلخص بناء المشهد في محرك Unity3D.

الشكل 3: العلاقة بين المشهد والكائنات والمكوّنات في محرك Unity

الشكل 3: العلاقة بين المشهد والكائنات والمكوّنات في محرك Unity

السابقالتالي

تعليقات واستفسارات