-->
random

آخر المواضيع

random
recent
جاري التحميل ...
recent

شرح تصميم العاب بمحرك اليونيتي Unity Engine

 تصميم العاب بمحرك اليونيتي Unity Engine 


سلام عليكم ورحمة الله
سوف احاول في هذا الموضوع شرح ما يمكنني حول تصميم العاب باليونيتي
كما ذكرنا في الموضوع السابق محرك العاب اليونيتي يمكنك تحميل نسخة مجانية من الموقع الرسمي مباشرة 

بعد تحميله وتثبيته تفتح البرنماج وتضغط على تسجيل الدخول وتدخل بواسطة جووجل google او تتسجل بحسابك بالموقع ثم بعد دخولك لاول مرة سيكون عليك الضغط على INSTAL EDITOR تضغط عليها وسيعطيك خيارات كثيرة وتختار منها اولا تضع علامة على محرر الاكواد Visual studio ثم تختار نوع الاضافات الاخرى التي تريد لديك مثلا جمل فيها كلمة Android معنها تريده لتصميم العاب اندرويد
وهناك سطر اخر مكتوب عليه Windows support كي يدعم تصميم العاب الحاسوب بعد اختيارك تضغط install وسيحمل الادوات حجمها بين 8 و 10 جيكا

الان قبل ان نباشر بالدخول للبرنماج لبد من تعلم الاساسيات في لغة برمجة C#
لان اليونيتي يقوم باستعمال هذه اللغة لانشاء وتطوير الالعاب داخل البرنماج 
ولبدء تعلمها بكل سهولة تتجه الى اليوتيب تكتب دروس او اساسيات لغة C# وسوف تجد فديوهات لدروس التعلم من البداية للاحتراف تتعلم اساسيات وتفهم طريقة عمل الاكواد فقط انت لا تحتاج الى التعمق فيها ولكن حتى اذا تعمقت فيها ستفيدك اكثر لا مشكلة في ذلك لانها لغة تستخذم كذلك في انشاء وتطوير تطبيقات والبرامج 

لغة برمجة سي شارب C#
تعتبر سي شارب C# لغة مشابهة جدا ومشتاقة من لغة جافا مع تغييرات بسيطة 
تتميز عن لغات اخرى انك لازم تعلن عن هذا المتغايير  وليس انك تكتب المتغايير وتعطيه قيمة فقط بل لبد ان تعطيه نوع الداتا data type
هذه اللغة تستعمل فيها وسيط بين الاكواد وجهازك 

 الان لبدى تعلم اي لغة برمجة ستحتاج الى تحميل برنماج Visual studio
وذلك من الموقع الرسمي

ستجد عدة نسخ للبرنماج تختار نسخة Community هي النسخة المجانية 
تقوم بتحميله وتثبيته ثم سيعطيك قائمة لاختيار اضافات اخرى مهمة حسب احتياجاتك تضع علامة على unity و اي شئ مكتوب فيه C# بالوصف او فقط اضافات بسيطة على اي حال حين تتابع اي دورة سيشرحون لك هذه الامور كبداية المهم ثم تضغط Install
سيبدا تحميل الاضافات حجمها سيكون بين 5 و 19 جيكا نعم حجم الاضافات يكون كبير وسياخذ بعض الوقت لتحميلها وتثبيتها قبل بدء العمل على البرنماج 
ولكن هناك طريقة سريعة وجميلة بدون تحميل هذه الملفات الكبيرة فقط باستعمال نسخة Visual studio code وتنزيل اضافات اللغة عليه وتكون فيه بحجم صغير جدا فقط اكتب  شرح تتبيث C# على Visual studio code وهناك شروحات كثيرة نفس الطريقة للغات البرمجية الاخرى اذا الفرق بيننهما هو ان الاول يحتوى على اضافات ومساعدة قوية من البرنماج اما الاخير فهو يملك اضافات مساعدة كذلك ولكن ليست بقوة البرنماج الاول ولكنها تفي بالغرض طبعا


طريقة عمل C# 


ويتكون سي شارب c# من عدة classes كل class له وظائف معينة وكل مجموعة من الكلاسات لهم اسم معين مثل مجموعة namespace هي التي تكون لنا ملف بصيغة exe او dll او غيرها




المعقوفتين برقم 1 هي حدود namespace
الرقم 2 حدود ال class
الرقم 3 كود عبارة عن امر لتنفيد الاوامر سطرا بسطر
الرقم 4 هو ال method اول كود لنا فيه كما بالصورة كود اظهار كلمة hello world
حجم الحروف شيئ مهم جدا في كتابة الاكواد فاذا عندك كود بحرف كبير وكتبته بحرف صغير فلن يعمل الكود 
لمعرفة مكان ظهور الملف الذي تعمل عليه في قائمة الجانبية لدينا solution explorer تضغط عليها بالماوس وتختار open folder in file explorer ثم تدخل الى ملف Bin ثم debug ثم net فتجده باسم مشروعك بصيغة EXE 



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


في المتغييرت فقط يتم كتابة التسميات بشكل الحرف الاول يكون صغير والحرف الاول في الكلمة الثالية تكون بحرف كبير اما في الclass و methodes و namspace
فيتم تكبير الحرف الاول من كل كلمة ليس عليك الالتزام بالكتابة بهذه الطريقة لكنه الاسلوب الذي يعتمده كل مبرمج ولا يجب استخذام كلمات العمل كاسماء المتغييرات وكلمات التي يعمل بها البرنماج هي class و namespace و using و string



كنا تحدثنا في السابق عن طريقة الاسماء في المتغييرات Variables 
الان لدينا الحجم وقبل الحديث عن الحجم لبد ان نكتب اولا نوع المتغييرDataType ثم نعطيه الحجم مثلا لدينا المتغيير sring يقبل النصوص فقط واحيانا يتعامل مع الارقام كانها نصوص عند وضعها بين المعقوفتين 


وتسمى مرحلة انشاء المتغايير ب Declaration والمرحلة الثانية اعطاء قيمة له وتسمى Assign value 
وتنقسم انواع المتغييرات DataTypes الى نوعين
Primitive Types و Non-primitive types
سنشرح اكثر على الprimitive types لانها الاكثر استعمالا 
لدينا الstring شرحناه سابق 
ولدينا inter اختصار كلمة integer وهذا النوع يقوم باخذ مساحة من الذاكرة تساوي 4bytes والارقام المقابلة لكل متغايير هي مقدار الارقام التي يستطيع التعامل معها
ولدينا متغايير من نوع Boolean يكتب على شكل bool ويكون اما True او False
ولدينا char هو يقوم باخذ مساحة من الذاكرة بمقدار 2bytes فقط ويحتوي الا على حرف واحد فقط 
ولدينا Long ياخذ هو كذلك مساحة من الذاكرة تعادل 8bytes 
ولدينا short يستعمل كذلك مساحة من الذاكرة تعادل 2bytes 
ولدينا byte يستعمل كذلك مساحة من الذاكرة تعادل 1byte


ولدينا double يستعمل كذلك مساحة من الذاكرة تعادل 8bytes ويستعمل عند كتابة الارقام العشرية 
كما لدينا مجموعة من متغييرات اخرى datatypes

1. **Integral Types**:
   - `sbyte`: متغير عددي موقع بالبايت مع الإشارة.
   - `byte`: متغير عددي بالبايت بدون إشارة.
   - `short`: متغير عددي قصير.
   - `ushort`: متغير عددي قصير غير موقع.
   - `int`: متغير عددي صحيح.
   - `uint`: متغير عددي صحيح غير موقع.
   - `long`: متغير عددي طويل.
   - `ulong`: متغير عددي طويل غير موقع.
   - `char`: متغير يحتوي على حرف Unicode.

2. **Floating Point Types**:
   - `float`: متغير عائم بدقة واحدة 32 بت.
   - `double`: متغير عائم بدقة مزدوجة 64 بت.

3. **Decimal Type**:
   - `decimal`: قيم عددية دقيقة بدقة 128 بت مع 28-29 أرقام معنوية.

4. **Boolean Type**:
   - `bool`: يمثل قيمة منطقية صحيحة أو خاطئة.

5. **String Type**:
   - `string`: يمثل سلسلة من الأحرف.

6. **Enum Types**:
   - `enum`: يمثل تعدادًا، والذي يتكون من مجموعة من الثوابت المسماة.

7. **Nullable Types**:
   - يمكن إنشاء إصدارات قابلة للتطبيق من كل نوع عددي، عائم بنقطة عائمة، وقيمة منطقية عن طريق إضافة `?` إلى اسم النوع (مثل `int?`, `float?`, `bool?`).

8. **Reference Types**:
   - `object`: يمثل نوع البيانات الأساسي لجميع الأنواع الأخرى.
   - `dynamic`: يسمح بالكتابة الديناميكية في C#.

9. **Arrays**:
   - يمكن للمصفوفات أن تحمل عناصر من أي نوع بيانات، ويتم تحديد نوعها من خلال نوع العنصر تليها `[]` (مثل `int[]`, `string[]`).

العمليات Operations
هي مجموعة علامات وادوات نستخذمها لتنفيذ مهام معينة كالجمع والطرح والمقارنة بين رقمين من حيث الاكبر او الاصغر او التاكد من قيمة رقم معين هل هي تساوي قيمة اخرى ولا لا وتنقسم هذه العمليات الى انواع مختلفة وسنعرفهم الان بالترتيب
النوع الاول Arithemtic Operator
هذا النوع يحتوي على العمليات الحسابية كالجمع والطرح والضرب والقسمة وخارج القسمة 
كو نوضح استعملاته نكتب التالي داخل وسام static void
;int num1 = 10
;int num2 = 3
;Console.Write("First Number + Second Number : ")
;Console.WriteLine(num1+num2)

سنكرر الكود ونغير العمليات من طرح وضرب والقسمة 

;Console.Write("First Number - Second Number : ")
;Console.WriteLine(num1- num2)

;Console.Write("First Number * Second Number : ")
;Console.WriteLine(num1*num2)

;Console.Write("First Number / Second Number : ")
;Console.WriteLine(num1 / num2)

;Console.Write("First Number % Second Number : ")
;Console.WriteLine(num1 % num2)

كمعلومة المكان اللي كتبنا فيه firs number ليس لها اي تاثير على الكود هو مجرد نص يظهر كي يوضح لنا ما يحدث بالضبط 
الان الفرق بين الاوامر Write و Writeline
Console.Write معناه انك تطلب منه كتابة الكلام في سطر واحد
Console.WriteLine معناه انك تطلب منه كتابة الكلام في اسطر
ثم نضغط ctrl + F5 كي لا ينغلق البرنماج بعد الانتهاء
الجمع والطرح والضرب ليس فيهم اي ملاحظات
في القسمة مثلا اعطنا اجابة غلاط لان المتغيير int لا يقبل الكسور ويقبل الاعداد الصحيحة فقط اذا لنغيير هذا المتغايير نكتب في مكان int نكتب متغيير double وستلاحظ تغيير نتيجة القسمة 
الان لدينا باقي القسمة % او النسبة المئوية وهو الرقم المتبقي من عملية القسمة
 وللتوضيح اكثر 
لو قلنا 10 كم فيها من 3 ؟ فيها 3 والباقي 1
3+3+3+1 = 10
 و 10 كم فيها من 4 فيها 2 ويبقى 2 
4+4+2=10
هذه العمليات مهمة جدا اثناء استعمال الاكواد
نلاحظ انه اعطانا النتيجة 1
نكتب في بداية كلمة consol الامر /* ونهايته */ لاخفاء الكود
لدينا وسام Region يتم استعماله بغرض تقسيم الكود الى اقسام او مجموعات صغيرة لتسهيل القراءة وتنظيم الكود يتم كتابته على هذا الشكل 
#region، اسم المجموعة
الوسط مكان الكود
#endregion ونهايتها بعلامة

توجد عمليتان شائعتان تُستخدمان لزيادة أو تقليل قيمة المتغيرات بمقدار واحد، وهما
النوع الثاني Increment and Decrement operator ++ و --
يتم استعمال هذا النوع من المتغاييرات الرقمية وواظيفتهم يقومون بزيادة او نقصان قيمة المتغيير بمقدار واحد 
;double num1 = 10
;double num2 = 3

لو كتبنا على سبيل المثال
;Console.WriteLine(num1++)
;Console.WriteLine(num2--)
اذا شغلنا البرنماج سيعطينا النتيجة 
10
3
نلاحظ انه كتب القيمة وزودها في الذاكرة فقط ولم اقول له اكتبها مرة اخرى بعد تزويدها واذا اضفنا سطر بدون زيادة 
;Console.WriteLine(num1++)
;Console.WriteLine(num1)
;Console.WriteLine(num2--)
ستظهر النتيجة 
10
11
3
نلاحظ انه في الاول 10 كتب قيمة المتغيير ثم زاد عليه واحد
 فنزل للسطر التاني كي يقوم بتنفيد سطر الكود الموالي 11 وجد باني طلبت منه كتابة القيمة المتواجدة في المتغيير الثاني لهذا كتب القيمة الجديدة بعد زيادة واحد عليها
اذا نفترض اننا نريد زيادة اثنان وليس واحد في هذه الحال لا يجب استعمال increment ولكن سنقول له 
;Console.WriteLine(num1+2)
وستكون النتيجة هي 
12
اذا من المفروض انه يعطيني 10 اذا لماذا جمع الاول وبعدها كتب الرقم الجديد 
اذا هنا عليك الفهم بان ال increment و decrement لهم اسلوب حساب خاص بهم مختلف عن باقي العمليات العادية لانهم يؤثرون بشكل مباشر على المتغيير نفسه في الذاكرة اما الجمع والطرح العادية فتؤثر على القيمة الموجودة بالمتغيير فقط 
اذا كيف يتم ذلك ؟
عندما قلنا له في الاول زود واحد على قيمة المتغايير 
وبعدها في السطر الثاني اكتب قيمة هذا المتغايير فكتب القيمة الجديدة للمتغيير لاني استخذمت الicrement 
اذا تعال نطلب منه بعدما يقوم بزيادة اثنان 
اكتب مرة اخرى القيمة المتواجدة في المتغيير 
;Console.WriteLine(num1+2)
;Console.WriteLine(num1)
ونشغل البرنماج ويعطينا النتيجة 
12
10
سنلاحظ انه كتب 10 التي هي القيمة الاصلية ولكن كيف ذلك ؟ المفروض اننا زودنا عليه 2 ! ساقولك لا لاننا قلنا للبرنماج اعطي القيمة المتواجدة في المتغيير ثم زد عليها اثنان في دماغك  واعرض لي القيمة الجديدة ولم نقول له غيير القمة الموجودة بالمتغيير 
من ضمن العمليات الخاصة ب incremnt و decrement 
هي اشياء اسمها البوسطوفيكسPostfix والبريفيكسPretfix
مثل المثال الاول حين طلبت منه كتابة ++1 فكتب الرقم ثم زود عليه واحد وهذا اسمه Postfix
اذا ماذا سيحدث لو طلبنا منه 
;Console.WriteLine(++num1)
ستظهر النتيجة
11
لانه ببساطة طلبت منه زيادة واحد ثم اكثب القيمة الجديدة للمتغيير 
كذلك لو قلنا له 
;Console.WriteLine(--num2)
سيعطينا 
وكما اتفقنا انه يقوم بتغيير القيمة الفعلية للمنغيير بداخل الذاكرة مباشرة وهذه العملية هي التي تسمى Pretfix
ملحوظة كلما قمت بتشغيل البرنماج يعيد كل شيء للبداية ويعيد انشاء المتغييرات من جديد ومن البداية بالقيمة التي احددها 

النوع الثالث عمليات Comparison Operator 
وهذه مجموعة من المتغييرات نستخذمها للمقارنة بين قيمتين يعني ببساطة اسال البرنماج هل القيمة هذه اكبر من او اصغر من او تساوي القيمة هذه او لا وتكون الاجابة اما صح True او خطاء False 
كمثال بسيط سوف نكتب سؤال
;Console.WriteLine(num1>num2) اكبر من 
;Console.WriteLine(num1<num2) اصغر من 
سيعطينا بالنتيجة 
True
False
ولدينا كذلك 
;Console.WriteLine(num1 == num2) يساوي
;Console.WriteLine(num1 != num2) لايساوي
والنتيجة
False
True
ولدينا كذلك 
;Console.WriteLine(num1 >= num2) اكبر من او يساوي
;Console.WriteLine(num1 <= num2) اصغر من او يساوي
وكذلك يعطي النتيجة صح او خطاء
سيتم العمل بهذه الاشياء كثيرا مستقبلا فتذكر هذه الامور جيدا

 النوع الرابع عمليات Assignment Operator
وهي تستخذم لتغيير قيمة المتغيير  
كمثال عندي متغايير هذا وقيمته تساوي 10 ماذا سيحدث لو قلنا له
;num1 = 15
هكذا اكون قمت بتغيير القيمة للمتغيير الذي استعملناه في البداية للشرح
وهكذا البرنماج سيركز على هذه القيمة الجديدة التي وضعتها 
يمكننا كذلك ان نطلب منه على سبيل المثال 
نفترض لدينا
;int num3 = 20
وكتبنا له
;num3 = num3 +5
وسيفهم على اننا طلبنا منه تغيير قيمة المتغيير num3 بنفس قيمته الاصلية ولكن تزيد عليها 5 وسيعطينا 25 في الاجابة 
 ويمكن مثلا نقول له 
;num3 += 5
;num3 -= 2
وسيعطينا كنتيجة
20
23
للتوضيح قمنا في البداية بانشاء المتغايير رقم num3 قيمته 20 ثم طلبنا منه زيادة 5
اذا اصبح 25 ثم بعد ذلك طلبنا منه ينقص اثنان -= اصبحت القيمة 23 
اذا لو اردت ان ابقى محتفظ بال20 السابقة سنستعمل متغايير اخر اسمه newVar
وسنقول له القيمة التي بداخلك هي نفسها قيمة num3 ثم تزيد اعداد كما تريد
مثلا
;int newVar=num3 + 5
وهكذا القيمة بداخله ستصبح 28 

بامكانك تعلم هذه اللغة بسهولة اليوم من اليوتيب فقط اكتب دورة تعلم لغة C# 
او على سبيل المثال قناة Tbset
ورابط الدورة من هنا


شرح في برنماج الUnity


في داخل البرنماج نختار 3D ولدينا خمس اهم قوائم او نوافذ داخل البرنماج
Hierarchy و Scene و Game و inspector و project
Hier تجد فيها كل الاشياء المستعملة في ال scene وتعني المشهد حيت تتحكم فيه بالعناصر وتحرك الكاميرة الى اخره واي شيء تضغط عليه في الscene او الHier تظهر لك خصائصه او تفاصيله في قائمة inspector اما القائمة الgame يظهر فيها شكل اللعبة الذي سيراه اللاعبين فقط اما قائمة المشروع project هو مكان وضع الملفات والصوت واي شيئ ستستعمله في التصميم مثل العناصر الخارجية فمثلا بامكانك تحميل شخصيات وخرائط واشياء تسهل عليك عملية تصميم من المواقع الاخرى منها مواقع مدفوعة ومواقع مجانية 
لدينا كذلك طريقة انشاء الاشكال ثلاثية الابعاد وتصميمها من داخل البرنماج من قائمة Hier نضغط يمين الماوس ونختار 3D Object ثم يعطينا الاشكال مربع Cube او دائري الى اخره التحريك يشبه برنماج بلندر blender كذلك نظام ثلاثي الابعاد اي انك تسطيع تحريك الاشكال على شكل ثلاث اتجاهات XYZ يرمز لكل اتجاه بلون معين تضغط على الشكل ثم تقريب وتبعيد ب وسط الماوس تحريك حر بيمين الماوس تضغط على الشكل ولدينا تقريب وتبعيد كذلك بواسطة يمين الماوس مع Alt وكذلك تحريك باستعمال كيك الماوس تترك عليها اصبعك وتستعمل W تبعيد وتقريب بS ويمين A ويسار D والاسفل Q والاعلى E ايضا يمكنك التحريك من خلال نافذة inspecor في خيار الPosition 
ثم لدينا في المشهد ادوات التحكم والبناء علامة اليد view tool حرف Q لتحريك بشكل عمودي افقي  move tool بحرف Z تحرك حسب الاتجاه تقوم بجر الاسهم 
تدوير ب rotate tool حرف ٌE . وتقوم تكبير وتقليص الحجم ب scale tool حرف ٌR . وللتحكم في الحجم بشكل افضل لدينا اداة رائعة وهي rect tool حرف T . وكل هذه الادوات مجتمعة في اداة واحدة وهي transform tool 
تركيز الكاميرة على العنصر بالحرف F ولدينا H لاخفاء الشكل 
ctrl + D لنسخ الشكل 
لتلوين الشكل نضغط على علامة زائد + في نافذة الproject ونختار Material
بعد ذلك يكون على شكل دائرة نحمله بالماوس ونضعه فوق الشكل ثم ستظهر نافذة التلوين على الجانب تختار لونك المفضل ثم تعدل اعدادات المعدن metalic واللمعان Smoothness 
اما الكاميرة دوبل كليك عليها للانتقال الى منظور الكاميرة ثم تتحكم بتحريكها او فقط تضغط عليها في نافذة Hier وتقوم بتحريكها بالاسهم او من الخصائص كذلك
ولدينا خاصية جميلة جدا لتحريك الكاميرة بشكل رائع فمثلا انت قمت بتقريب احد الزوايا تريدها هي التي تظهر فقط فتقم بالضغط على ctrl + shift + F وستنتقل الكاميرة مباشرة للمشهد اللي انت مركز عليه
ستلاحظ عند الضغط play لمشاهدة التحريك سيكون عليك الانتظار في كل مرة تفعل ذلك لهذا للتخلص من هذه المشكلة نضغط على edit بالاعلى ثم project setting
وننزل الى خيار enter play mode ونقوم بتفعيلها بوضع علامة امام الخيار فقط وستلاحظ ان المشكلة انحلت
الان لدينا physics
وهي الخاصية الفزيائية للشكل او العنصر تحريكه وتفاعله مع الجاذبية 
مثلا نقم بانشاء صندوق cube نضغط عليه وفي قائمة الخصائص inspector بالاسفل لدينا شيء اسمه add compenent 
نضغط عليها نختار Rigidbody
هذه الخاصية تمنحك تفاعل الشكل مع الجاذبية وفي خصائصها لدينا ما يلي 
mass كل رقم واحد يعطي لشكل واحد كيلوغرام
drag تقوم بتعديل مقوامة العنصر للجاذبية كلما رفعت الرقم تباطىء سقوط الشكل
angular drag تزود او تعدل سرعة الدوران للعنصر
use gravity استعمال او لتفعيل الجاذبية
is kinematic تنزع الخاصية الفزيائية للعنصر مثلما يحدث حين تلغي الجاذبية  ويتم التعامل بها بالاكواد سنتعرف على ذلك مستقبلا
interpolate يتم استعمال هذا الخيار حين تلاحظ بان حركة العنصر غير ثابتة او فيها مشكلة فتغير الى الخيار التالي
colision detection نستعملها حين يكون العنصر سريع جدا او حين يدخل في الارض ويتجاوزها نختار من الاختيارات حتى نجد المناسب
freeze position تجميد وضعية الشكل حسب الاتجاهات ولكن يتحرك بدوران
freeze rotaion اذا وضعن فيها العلامات فنحن نمنعه من التدوير وبتالي سيتجمد الشكل في مكانه 
ثم لدينا box collider
وهو خاصية تغير بها شكل التصادم اذا ضغط على الشكل ستجد في خصائصه تعديل edit ال collider وهنا سيعطيك شكل شفاف يمثل في داخله نقاط التصادم وهذا الشكل الشفاف تستطيع تكبيره وتصغيره وكذلك تغييره من شكل شفاف صندوق او دائري الى اخره وهذا ميزته انه يمنحك تثبيت الشكل في الهواء او تدوير اي شكل بدوران بكل الانواع ولتغييره تمسح collider box ونضغط اضافة خاصية add compenent ونختار مثلا sphere collider ستلاحظ ان الشكل حتى لو كان مربع سيسقط بشكل دائري sphere لدينا عدة انواع من الcollider اهمها هو mesh collider لانه يحاكي الشكل الذي وضعته عليه مثلا اذا كان لديك نوع من الاشكال ليس مربع او دائري قد يكون اي نوع من الاشكال فهنا تستعمل الmesh
ثم لدينا layers and colision matrix
layers تحدد هذه الخاصية هوية العناصر التي تصطدم ببعضها والتي لا تصطدم ببعضها
مثلا كي نجعل شكل الاول يمر من الشكل الثاني نستعمل الlayer وذلك على جانب الشاشة ستجد كلمة layer وبجانبه قائمة مكتوب عليها default نضغط ونختار بالاسفل add layer ونختار مثلا اثنان من الlayer حسب عدد الاشكال عندك نفترض لدينا شكلن فنقوم بكتابة اسماء الشكل اول وlayer اخر الشكل الثاني ثم نرجع ونضغط على الشكل ونعطيه الlayer اللي وضعنا له الاسم بعد ذلك سنتجه الى اعدادات التصادم من خلال edit ثم project settings ثم physics
هنا ستجد خطاطة التصادم inter colision مثلا لدينا الشكل 1 سننزل الى الاسفل وننزع علامة من الشكل الثاني المقابل له وهذا يعني انك الغيت التفاعل معه وبتالي الشكل سيتداخل في الجسم الثاني وهكذا
لتحريك الشكل او عمل انيميشن له اولا نذهب الى الاعلى نختار window وننزل نختار animation وفي خيارات اخرى نختار ايضا animation 
سنضغط على الشكل ثم نضيف عليه animator من مكان الاضافات add compenent بعد ذلك نقوم ب عمل creat فيعطينا مساحة العمل التحريك نضغط على ايقونة الحمراء لبدء تسجيل الحركة تضغط على الرقم وتحرك وتضغط وتحرك وهكذا حتى تنتهي الحركة 
يمكنك نسخ keyframe حركة الشكل من النقاط بالخط الزمني ب نسخ ctrl + c و لصق في نهاية التحريك ctrl+v  
هنا اذا ضغطنا project سنجد بعض الادوات لدينا ايقونة اسمها cube الذي استعملناه واذا ضغطنا عليه ياخذ لنظام النودس nudes هذا نظام تربط فيه العناصر ببعضها سواء بغرض التحريك او بغرض المؤثرات والاضافات الاخرى 
اللون البرتقالي يشكل عملية التحريك التي قمت بها وستجد بالقائمة ايقونة باسم الشكل تضغط عليه ويعطيك بعض خصائصه مثلا loop time ويعني اعادة الحركة كلما انتهت يعيدها او نسميه تكرار الحركة 
الان يمكننا اضافة شكل اخر وتحريكه بنفس الخطوات ولكن كي يشتغل معك التحريك كلاهما فنعود الى project نذهب لنافذة النودس nudes ثم نقوم بجر اسم الشكل الثاني ونضعه في النافذة وسوف يظهر لك على شكل مستطيل رمادي الان لبد من ربطه حتى يعمل لفعل ذلك نضغط يمين الماوس على البرتقالي ونختار creat transition ويعطيك خط وتربطه بالمستطيل وهكذا سيتحرك الشكل الثاني بعد انتهاء الشكل الاول 
يمكن كذلك من المستطيل الرمادي ان تقوم ب creat transition وتربط سهم اخر للمستطيل البرتقالي وهكذا كي يرجع التحريك للشكل الاول كلما انتهت الحركة في الشكل الثاني 
في نافذة المستطيلات animator لدينا بالاعلى الاعدادات الparametre 
ولدينا فيهم اربع انواع float و int و bool و trigger
تضيف الparametre وتضيفها عند الشروط conditions تضغط على الخط الذي يصل بين الشكل الاول والثاني لرؤية قائمة الشروط حين تضيف الاعدادات parameter ألى الشرط فانت كانك تقول له لا تشغل لي هذا الا اذا توفر هذا الشرط
مثلا في الpara نختار trigger ونعطيه اي اسم ونتجه لجانب الشاشة تحت كلمة condition نضغط + وسيتم اضافة اسم الpara 
بعد ذلك يمكننا جر نافذة animator للاسفل ثم نذهب لنافذة الgame وستلاحظ طريقة تحرك وتضغط الماوس مع shift للتحريك المساحة في نافذة animator
ستجد اسم الpara بجانب الشاشة لتفعيل او الغائها 
نجرب int وهو عدد صحيح نعطيه اسم ثم تحت كلمة condition يعطيك اربع خيارات مثلا كانه يقولك لا تشغل هذه الحركة الا اذا كان العدد اكبر من او يساوي رقم معين greater معناه اكبر من و Less اقل من ويساي كذا Equals و لايساوي NotEqual 

تابعو باقي الدروس من اي دورة على اليوتيب
على سبيل المثال قناة يوتيب Ahmed Sabry
والدورة من هنا

الموضوع قابل للتجديد و سيتم اضافة معلومات جديدة كلما توفرت

تاليف ياسين اكرام




التعليقات



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

إتصل بنا

جميع الحقوق محفوظة

Yassine Agourram

2016