-->
random

آخر المواضيع

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

شرح تصميم العاب بمحرك Unreal Engine

السلام عليكم



بداية تصميم الالعاب يتم بطريقتين 

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

لهذا كي تسهل على نفسك احتراف مجال الالعاب بشكل خاص عليك ان تتعلم التصميم بواسطة محركات الالعاب ومن اشهرها اليونيتي Unity و unreal Engine

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

  1. 1- Unity يونيتي (C#): يونيتي هو أحد أشهر محركات الألعاب لتطوير الألعاب ثلاثية الأبعاد. يدعم لغة C# كلغة برمجة رئيسية لديه. تُعرف C# بقراءتها وسهولة استخدامها، مما يجعلها خيارًا جيدًا لكل من المبتدئين والمطورين ذوي الخبرة.


  2. 2-محرك أنريلUnreal engin (C++): محرك أنريل هو محرك لعب آخر قوي يُستخدم على نطاق واسع لإنشاء ألعاب ثلاثية الأبعاد. يستخدم بشكل رئيسي لغة C++ للبرمجة. بينما قد تكون C++ أكثر تعقيدًا مقارنةً بـ C#، فإنها توفر أداءً عاليًا ومرونة، خاصة للمشاريع ذات المقياس الكبير.


  3. 3-محرك جودو Godot Engine (GDScript): جودو هو محرك لعب مفتوح المصدر يقدم لغة برمجة خاصة به تُسمى GDScript. تشبه GDScript Python وصُممت لتكون سهلة التعلم والاستخدام. يكتسب محرك جودو شعبية بين المطورين المستقلين والفرق الصغيرة بسبب بساطته وتنوعه.


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


  5. 5-كراي إنجن CRY Engine (C++/Lua) : كراي إنجن هو محرك ألعاب قوي يُستخدم لإنشاء ألعاب ثلاثية الأبعاد عالية الجودة. يدعم كل من C++ و Lua للبرمجة. بينما يُعتبر Lua أسهل للتعلم مقارنةً بـ C++، فإن C++ يوفر المزيد من التحكم وخيارات تحسين الأداء.

6- Java مع LibGDX: LibGDX هو إطار تطوير ألعاب مفتوح المصدر شائع مكتوب بلغة Java. يوفر مجموعة شاملة من الأدوات والمكتبات لتطوير ألعاب متعددة المنصات، بما في ذلك ألعاب RPG عالم مفتوح، لمنصات سطح المكتب والهواتف المحمولة والويب.

7-JavaScript مع Phaser أو Babylon.js: يُستخدم JavaScript بشكل شائع لتطوير ألعاب RPG عالم مفتوح على الويب. تعتبر Phaser و Babylon.js إطارات JavaScript ومحركات ألعاب شهيرة توفر ميزات قوية لإنشاء ألعاب ثنائية وثلاثية الأبعاد على التوالي.

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




بامكانك تحميل اليونتي unity من الموقع الرسمي وعندهم نسخة مجانية 

اما المحرك الثاني Unreal Engine تقوم بتحميله من خلال برنماج Epic Games تقوم بتحميل البرنماج وتثبيته وبعد ذلك تحمل البرنماج من داخله وهو برنماج يشبه الستيم يمكنك تحميل من خلاله الالعاب وكذلك هذا البرنماج 

وسنحتاج الى تحميل وتتبيث برنماج Visual Studio حسب المطلوب

بعد اختيارك لنوع التصميم الذي تريده سيطلب منك اختيار واحد من الاثنين بين

C++ وهو عبارة عن طريقة استعمال اكواد برمجة للعبتك

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

Blueprint هو منظور هرمي مصنوع للاشخاص للذين لا يعرفون استخذام اكواد البرمجة هو عملية بناء مكونات دون كتابة الاكواد  

كي تسهل عليك عملية انشاء الالعاب تستخذم مواقع اخرى لتحميل الاشياء التي تحتاجها للعبتك وهناك مواقع تشتري منها وهناك كذلك مواقع كثيرة مجانية مثل موقع

Megascans 

وهناك مواقع اخرى تعطيك دروس مجانية لامكانية تعلم تطوير الالعاب

LearnCPP.com

SoloLearn

CPlusPlus.com 

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

لدينا مختلف اعدادات بالشاشة الضغط select باستعمال حرف W

التدوير Rotate ب E

التحكم في الحجم Scale ب R

ويمكنك التبديل بينهم ب espace

تضغط على Play لرؤية شخصيتك وتحريكها يعني اختبار اللعبة وتضغط Echap للرجوع لوضعية التطوير 

لدينا contente browser تجد بها اي اضافات متواجدة بالشاشة وتكون فيها كذلك كل اضافات التي انت ستحملها من مواقع اخرى ومن خلالها تستطيع بكل سهولة حمل المكونات بالموس ووضعها في المشهد مباشرة 

تحريك الكاميرة تبقي اصبعك على الماوس وتحرك وللتحريك للامام ترفع الماوس للاعلى وتتحكم في سرعة تحريك الكاميرة بالقائمة العلوية camera speed

وايضا لتحريك للاعلى والاسفل نضغط يمين الماوس ثم اليسار ونحرك فوق تحت

ضع اصبعك على يمين الماوس وتحرك بالحروف WSDA

للنزول وطلوع يمكن استعمال الماوس مع E للاعلى و Q للاسفل


لانشاء الجبال او الخريطة سنضغط على edit ثم new level تحذف تلك الارضية ثم تضغط landcsap في قائمة Modes فيعطيك بالجانب خصائص الارض وادوات التعديل عليها يتم الاشارة بحجم الخريطة ب Quads يعطوك كبداية حجم 63x63

بالاعلى هناك كلمة استخراج ملف import from هنا تضغط لرفع ارضية كنت حملتها من مواقع اخرى ثم تضغط انشااء create تضغط على اللاعب وترفعه للاعلى كي يظهر فوق الارضية ثم في اعدادات landscap لدينا sculpt لانشاء الجبال وتتحكم في حجم الاداة من brush settings ثم تبني بالماوس و ctrl

كي نضيف النباتات للارضية نحدد بالماوس الارضية او في قائمة الجانبية نختار landscap ثم ننزل قائمة تفاصيل الارض details ونذهب الى خانة اسمها landscap material نضغط جانب المربعة ويعطينا لائحة نبحث عن كلمة العشب grass وسوف يظهر اختيار ground grass عشب الارض نختاره وسوف يظهر مباشرة بالارضية اذا ظهرت كتابة حمراء بالشاشة تضغط build ليقوم بالمعالجة 

شاشة العمل يطلق عليها view port

لدينا بجانب الشاشة قائمة scene outliner

تجد فيها كل مكونات المتواجدة عندك في المشهد 

اسفلها قائمة التفاصيل Details اي شيء تضغط عليه سيعطيك تفاصيله

اهم هذه التفاصيل هي التعديل transform نجد بها خيارت الموقع location موقع الشكل و الدوران Rotate و تلاعب بالحجم Scale

ctrl+z للرجوع للوراء كما هو معروف دائما 

لانشاء لعبة هاتف نختار في البداية خيار Side scroller

بعد الدخول علينا اولا الذهاب الى قائمة تعديل Edit ثم تعديل المشروع Project setting ثم في المنصات Platforms نختار Adriod 

ونغير طريقة الشاشة اللعب في خيار Orientation 

landscap الشاشة العريضة و portrait الشكل المستطيل

الان ندخل الى edit peferences وندهب الى Play ونغيير اعدادات الحجم common window size الى portrait 

سنختار شرح اخر حول لعبة المنظور الثلاثي

نختار في بداية الدخول Blueprint third persone

الان نذهب الى file ثم new level بعد ثم Basic وسوف يعطينا مساحة فارغة جاهزة في خانة content browser يمكنا انشاء ملف جديد ونسميه اسم اللعبة

وننشي ملف اخر نسميه المستويات Levels داخل الملف الاول ثم نسجل فيه البرنماج من file ثم save current level as 

ctrl+space لاضهار او اخفاء النافذة المحتويات content browser

لتحديد مكان بدء اللعب نضغط actors لاعلى ثم place actor ثم playerstart هذا حسب اصدار البرنماج Unreal engine 5 

ملاحظة كنت استخذم اصدار unreal engine 4.0 الان سوف اكمل الشرح في اصدار Unreal engine 4.27 اخير اصدار للجزء الرابع قبل خروج الاصدار ال5 وهذا لانني جربت الاصدار الخامس وكان لا يعمل في جهازي فهو يتطلب مواصفات قوية ليشتغل معك بدون مشاكل

في الاصدار الاخر عندي انا تجدها في تضغط سهم بالاعلى ثم play option ثم تختار current camera location ثم يعطيك اسهم لتحريك وتحديد البداية

لاضافة الاشكال ستجد بالاعلى قائمة modes فيها Geometry وbasic ستجد فيها مختلف الاشكال لاضافتها ثم تعدل عليها اذا كنت تريد شكل محدد اما في الاصدار الجديد لدينا ملف اسمه starter contente ثم shapes وستجد به مختلف الاشكال وملفات اخرى داخله

لصناعة لعبة ثنائية الابعاد تختار 2D في بداية الدخول اما بالاصدار 5 و 4.27 تقوم بالدخول الى edite ثم project setting ننزل للاسفل نختار 2D نضع علامة امام layer snaing كي تحافظ على ااشكال على احداثيتها دون ان تتعب نفسك بالمحاولة ترتيب الاشكال على نفس المحوار تعدل على الارقام حسب ما يناسبك

نعود ونفعل الخيار بالضغط Foreground لتفعيل الميغناطيس والضغط عليه يعطينا ثلاث خيارات deffault و background و foreground

سندخل الى ملف الذي سميناه plat2d سنجد داخله الملف levels الذي انشانا داخله ثم ننشىء ملف جديد نسميه actors ثم ندخل الى ملف levels ونضغذ يمين الماوس ونختار create blueprint class ثم نختار actor ثم دوبل كليك لفتحه

سيفتح لنا الbleuprint editor تافذة تعديل خاصة ب البلوبرينت

لفتح النوافذ في صفحات نذهب الى edit ثم نختار edit prefrences ثم امام خيار asset editor open location نغييرها الى main window

 وتتكون من view port للتعديلات و نافذة العناصر component تضع فيها العناصر التي ستستعمل للتعديل ولدينا نافذة my bleuprint تجد فيها العناصر التي يستعملها الblueprint مثل الgraphs و fonctions و variabls ثم نافذة التفاصيل details لكل شيء تضغط عليه 

الان ليس لدينا في المشهد سوى sceneRoot التي لا تعني سوى مركز المساحة الbleuprint الان نضغط اضافة ADD كي ننضيف عنصر ونختار static mesh

سناحظ اننا اضفنا عنصر ولكن لا يظهر على مساحة العمل وهذا لاننا لبد ان نعطيه قيمة اي نحدد النوع اولا في التفاصيل سنجد كلمة NON كانه قمت بانشاء متغايير ولكن لم تحدد نوعيته اذا نضغط non ونختار الارضية floor 400x400 الان يمكننا الرجوع لصفحة الlevels وسنجد الارضية بالاسفل عند الملفات نسحبها ونضعها بالمشهد وهكذا اي تعديل عليها تجربه في الصفحة الثانية

لصناعة لعبة ثنائية الابعاد تختار 2D في بداية الدخول اما بالاصدار 5 و 4.27 تقوم بالدخول الى edite ثم project setting ننزل للاسفل نختار 2D نضع علامة امام layer snaing كي تحافظ على ااشكال على احداثيتها دون ان تتعب نفسك بالمحاولة ترتيب الاشكال على نفس المحوار تعدل على الارقام حسب ما يناسبك

نعود ونفعل الخيار بالضغط Foreground لتفعيل الميغناطيس والضغط عليه يعطينا ثلاث خيارات deffault و background و foreground

سندخل الى ملف الذي سميناه plat2d سنجد داخله الملف levels الذي انشانا داخله ثم ننشىء ملف جديد نسميه actors ثم ندخل الى ملف levels ونضغذ يمين الماوس ونختار create blueprint class ثم نختار actor ثم دوبل كليك لفتحه

سيفتح لنا الbleuprint editor تافذة تعديل خاصة ب البلوبرينت

لفتح النوافذ في صفحات نذهب الى edit ثم نختار edit prefrences ثم امام خيار asset editor open location نغييرها الى main window

 وتتكون من view port للتعديلات و نافذة العناصر component تضع فيها العناصر التي ستستعمل للتعديل ولدينا نافذة my bleuprint تجد فيها العناصر التي يستعملها الblueprint مثل الgraphs و fonctions و variabls ثم نافذة التفاصيل details لكل شيء تضغط عليه 

الان ليس لدينا في المشهد سوى sceneRoot التي لا تعني سوى مركز المساحة الbleuprint الان نضغط اضافة ADD كي ننضيف عنصر ونختار static mesh

سناحظ اننا اضفنا عنصر ولكن لا يظهر على مساحة العمل وهذا لاننا لبد ان نعطيه قيمة اي نحدد النوع اولا في التفاصيل سنجد كلمة NON كانه قمت بانشاء متغايير ولكن لم تحدد نوعيته اذا نضغط non ونختار الارضية floor 400x400 الان يمكننا الرجوع لصفحة الlevels وسنجد الارضية بالاسفل عند الملفات نسحبها ونضعها بالمشهد وهكذا اي تعديل عليها تجربه في الصفحة الثانية الان في نافذة التعديل نضغط materials ونختار لون الشكل نختار مثلا الحجر stone ليعطيني لون الحجر وهكذا كلما قمت بسحب الشكل الى داخل المساحة سيكون بنفس اللون هذا الفرق بين تعديل الbleuprint وتعديل الاشكال العادية التي نضعها مباشرة في المشهد سيكون عليك تلوين كل واحدة منهم على عكس هذه الطريقة 

عند الضغط على اي شكل لدينا قائمة transform التي تتحكم من خلالها بدقة الارتفاع والهبوط وغير ذلك بالارقام فمثلا لدينا اعدادات موقع الشكل Location

ثم التدوير Rotation وخيار تكبيروتصغير Scale فمثلا اذا كنت لا تريد ان تزعج نفسك بتحديد الموقع يدويا فتقوم بذلك باستعمال هذه الارقام

طريقة البحث عن مكان الشخصية ندخل للتجربة بالضغط play او Alt+p 

ثم نضغط shift + F1 لاظهار الماوس ونبحث عنها في outliner ان لم نجد الشخصية هناك سنجدها بالاسفل من قائمة content browser  ثم ThirdPersonBP ثم bleuprints ومن هنا سنضغط على ايقونة الشخصية وسيعطينا نافدة جديدة تتكون من ثلاث عناصر ال Event Graph وهو المكان الذي يوجد فيه الكود على شكل نودس وهذه القائمة من العناصر هي التي يمكنك بها بناء اللعبة دون كتابة اكواد C++ فهده الطريقة مبتكرة لمن يصعب عليهم الاكواد 

اذا اللائحة التي يكون لونها احمر هي دائما تعبر عن اعدادات الاولى للعب او بداية الفعل او بداية الكود تصل بخط بين كل فعل والفعل الذي يليه فمثلا كما تلاحظ امامك عند النزول قلبلا سنلاحظ camera input يعني هذه هو مربع المسؤول عن تحريك الكاميرة باللعبة ..كي تفصل خط معين عن مربع اخر نضغط Alt وتضغط على الخط 

لا يهم اين تضع هذه النوافذ المهم ان تصل بينها بخط بشكل صحيح وبما يناسب كل واحدة كما يمكنك انشاء عدد لا نهائي من النوافد حتى تنهي لعبتك بشكل كامل 

لدينا نافذة view port 

سنجد ان الشخصية تتكون من capsule component 

الشيء الذي يمنعها من الدخول في الحاط وغير ذلك

ثم arrow compenent لتحديد لاي اتجاه يجب ان تنظر الشخصية 

ثم ال Mesh ويعني شكل الشخصية مثل الشكل العادي لكنه يختلف من حيث انك يمكن تضيف له animation الحركة

ثم ليدينا الكاميرة تتكون من شيئين cameraboom نظر الكاميرة وfollowcamera مكان الكاميرة اذا ضغطنا عليها سنظهر اعدادات الكاميرة بالجانب مثلا معدل التقريب والتبعيد في Target Arm lengt

اذا قمت بتعديل على التدوير rotation عند اختيار cameraboom ستلاحظ انها لا تتحرك وذلك لانه عليك اولا ازالة خيار pawn cotrole في اعدادات الكاميرة camera settings بالاسفل حتى يسمح لك بتحديد اتجاه الكاميرة يدويا واذا ازلنا كل هذه الخيارات الاربع ستمنع الكاميرة من اتباع الشخصية تماما

 

شرح صناعة لعبة هاتف بسيطة

اول مل ندخل نختار games ثم side scroller ثم في علامة الشاشة نختار الهاتف ثم نضغط على maximum quality ونختار scalable 2D or 3D

في خانة name نكتب اسم المشروع ثم نضغط انشاء Create

الان ندخل الى اعدادات المشروع project settings ثم المنصات Platforms

ونضغط android في خيار orentition وهو طريقة شاشة اللعب نختار portrait الشكل الطولي وlandscap هو شكل الشاشة العريضة 

ثم ندخل الى edit ثم prefereces ونختار play ثم نضغط على ايقونة امام خيار game view port setting هذا سيجعل اللعبة تعمل بالشكل المستطيل بالهاتف

الان لرؤية مشهد اللعبة في الهاتف نضغط على الاسهم ثم active play mode ثم new editor window اضغط على الشاشة اولا ثم حرك الشخصية بالازرار

سنقم بجعل الشخصية تقفز وتمر عبر السور اولا سنقوم بانشاء السور داخل ملف bleuprints نضغط الماوس ونختار انشاء قسم bleuprint class ثم actor ثم دوبل كليل لفتحه سنختار اضافة عنصر add compenent ثم الصندوق cube

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

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

نشرح وظيفة On compenent

دالة "On Component" تستخدم عادة في إطارات العمل (frameworks) مثل Unreal Engine و Unity للتفاعل مع مكونات معينة في اللعبة. في كل من الأنظمة، تحدث هذه الدالة عندما يحدث حدث معين مرتبط بمكون معين.

على سبيل المثال، في Unreal Engine، يمكنك استخدام دالة "On Component" في كلاسات الأكتور (Actor) أو الكلاسات المشتقة منها. يمكنك استخدامها للتفاعل مع الأحداث المتعلقة بمكون معين مثل الاصطدام (collision)، أو التحرك (movement)، أو التحميل (loading)، وغيرها. عندما يحدث الحدث المرتبط بالمكون، يتم تشغيل الدالة "On Component" المرتبطة به.

في Unity، يمكنك أيضًا استخدام دوال مماثلة مثل "OnCollisionEnter"، "OnTriggerEnter"، وغيرها. تُستخدم هذه الدوال لتنفيذ العمليات المرغوبة عندما يحدث اصطدام أو تفاعل مع مكون معين.

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


الان ننزل للاسفل في قائمة events نضغط الخيار الثاني on compenent begin overlap نجر السهم الاول ثم نبحث عن خيار cast to side Scroller character ونسحب other actor الى object الان مربع cast to سنسحب منه as side scroller الى خيار نبحث عنه هو Get velocity وهذا الخيار يستعمل للحصول على سرعة الكائنات داخل اللعبة وتساعد في تحريك الشخصيات والاشياء في اللعبة بطريقة واقعية وسلسة يمكن استعمالها لحساب سرعة الحركة او سرعة التغير في الموقع انها وظيفة مهمة لاضفاء الحيوية والديناميكية على اللعبة 

نضغط عليها يمين الماوس ونختار split struct pin 

نربط الان event tick مربع اخر موجود بالاعلى ونربطه مع مربع cast to في الخيار الاول ايقونة السهم 

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

تُستخدم Event Tick أيضًا لتنفيذ العمليات التي تحتاج إلى متابعة مستمرة، مثل تحديث العدادات، وإدارة الوقت، ومعالجة الأحداث الديناميكية التي قد تحدث في اللعبة.

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

الان نسحب السهم الخلفى لمربع cast to ونبحث عن print string

دالة "Print String" في محرك Unreal Engine تُستخدم لعرض رسائل نصية على الشاشة أثناء تشغيل اللعبة أو تطويرها في محرك Unreal Engine. تُستخدم هذه الدالة عادة لأغراض تصحيح الأخطاء (debugging) وفحص سير العمليات في اللعبة أثناء التطوير.

عند استخدام "Print String"، يمكنك تمرير نص (string) كمدخل لهذه الدالة، وسيتم عرض هذا النص على الشاشة خلال تشغيل اللعبة. يمكنك استخدام هذه الدالة لعرض معلومات مختلفة مثل قيم المتغيرات، ورسائل التحذير، ونتائج العمليات، وغيرها.

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

الان من مربع getvelocity نسحب من Z الى مربع print string في خيار البنفسجي in string 

نمسح print string ونقوم بفصل event thick بالضغط على الخط ثم ALT لالغاء الربط ثم نقوم بسحب خط من السهو الخلفي لمربع cast to ونبحث عن خاصية Branch

دالة "Branch" في محرك Unreal Engine تُستخدم لاتخاذ قرار بناءً على قيمة متغير محدد. تُستخدم هذه الدالة بشكل أساسي في بناء منطق البرمجة (programming logic) داخل اللعبة.

عند استخدام "Branch"، يتم تحديد قيمة متغير معينة كمدخل لهذه الدالة. إذا كانت قيمة المتغير تُفي بشرط معين (مثل تكون أكبر من صفر أو تساوي قيمة معينة)، يتم تنفيذ إحدى الفروع (branches) الذي تم ربطه بالدالة. وإذا لم تكن الشرطية صحيحة، يتم تنفيذ الفرع الآخر.

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

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

ثم نسحب من الcondition ونبحث عن خاصية float >float

في محرك Unreal Engine، "float" تعتبر نوعًا من البيانات (data type)، وهو يُستخدم لتخزين الأرقام العشرية (أي الأرقام الذاتية الفاصلة). تُستخدم الأرقام العشرية لتمثيل القيم التي يمكن أن تكون غير صحيحة أو متغيرة بين الأرقام الصحيحة.

فيما يلي بعض الاستخدامات الشائعة لـ "float" في Unreal Engine:

تمثيل الإحداثيات: تُستخدم أحيانًا الأرقام العشرية لتمثيل إحداثيات الأشياء في العالم الافتراضي، مثل مواقع الكائنات أو الزوايا.

الرياضيات: يمكن استخدام الأرقام العشرية لأغراض حسابية مثل الرسم، والتحويلات، والعمليات الحسابية الأخرى.

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

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

وبشكل عام، يعتمد استخدام "float" في Unreal Engine على الحاجة إلى تمثيل الأرقام العشرية في سياق اللعبة أو التطبيق المحدد.

ثم نسحب من حرف Z من مربع Getvelocity الى النقة العلوين من مربع float

ثم نسحب من خيار true في branch ونربطه مع print string ونسحب واحد اخر من false ونضع له print string اخر

نسحب خط اخر من cast to من خيار As side scroller ونربطه مع launch character 

دالة "Launch Character" في محرك Unreal Engine تُستخدم لإطلاق (launch) كائن معين في اللعبة، مثل شخصية اللاعب أو كائن آخر، في اتجاه محدد بقوة محددة.

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

عند استخدام "Launch Character"، تحتاج إلى تحديد الكائن الذي تريد إطلاقه (مثل الشخصية الرئيسية) وكذلك اتجاه الإطلاق والقوة المطلوبة. تقوم Unreal Engine بتطبيق القوة المحددة على الكائن المحدد، مما يؤدي إلى إطلاقه في الاتجاه المحدد.

هذه الدالة تُستخدم عادة في سياق البرمجة (Blueprints) في Unreal Engine لتحديد السلوك المطلوب للكائنات في اللعبة بناءً على مجموعة متنوعة من الظروف والأحداث.

ثم نربط print string الخاص ب false مع مربع launcher character نربطه بالسهم العلوي سانهي هذا لشرح هنا وننتقل لشرح اخر

شرح صنع لعبة بالاصدار الاخير من unreal engine 4 وهو يشبه الاصدار الخامس في الواجهة والخصائص 

لبد ان نعرف بان البرنماج يعتبر كل شكل على انه Actor نبدا مشروع جديد ونختار منظور الثلاثى Third Person 

في اعلى المشهد لدينا قائمة اعدادات المشهد view port options ولدينا عدة اوامر فيها سنشرح بعضها لاحقا وبالاسفل من نافذة content browser اذا ضغطنا اسم الملف content ثم startercontent ثم Particls سيعطينا بعض النيران والتفجيرات لاضافتها في مشهدك لدينا اظهار المعلومات show stats و show fps نستعملها اثناء العمل على اللعبة واكذلك لدينا stat اذا دخلنا advanced ثم chaos يعطينا كذلك نافذة نستعملها اثناء تطوير اللعبة ثم لدينا field of view تحدد تبعيد او تقريب المشهد ولدينا far view plan تستعمل هذه الخاصية غالبا لتحديد معدل نظر الشخصية عن البعد مثلا تحدد على بعد كم مسافة لا تستطيع الشخصية رؤية اشجار بعيدة 

المنظور prespectiv لرؤية المشهد من زوايا مختلفة ثم لدينا Lit هذه الخيارات لاخفاء مثلا الاضاءة وغيرها ورؤية المشهد باشكال اخرى

 unlit تختفي الانارة و الضلال

wireframe شكل الخطوط لا نهائية

detail lighting دقة الانارة 

lighting only الانارة فقط

Reflections الانعكاس 

Player collision الشيء الذي سيتصادم مع اللاعب 

Visibility collision لاضافة حدود وهمية لا تظهر بالمشهد 

وانواع اخرى من المشاهد

Show لاظهار او اخفاء العناصر بالمشهد 

surface snaping اذا كانت صفر يعني ان الشكل فوق الارضية مباشرة

ال 10 الموجودة بقرب المربع تعني معدل تحرك الشكل اثناء عملية تحريكه

ال 10 مع نصف دائرة معناه معدل الدوران الشكل اثناء تدويره

scaling option نفس الشىء معدل تصغير وتكبير الشكل 

cameraa speed سرعة تحرك الكاميرة بالمشهد 


الان سنقوم بتحميل ملفات التي سنستعملها في مشروع لعبة اطلاق النار عالم مفتوح

نفتح برنماج Epic games وندهب الى المتجر marketplae ونبحث عن modular Building Set الان نضغط FREE ثم Add to project ونختار اسم مشروعنا ثم ننتظر تحميل هذه الملفات وسوف نجدها مباشرة داخل البرنماج او نقوم بانشاء خريطة مع العلم ان هناك عدة برامج تساعدك على انشاء خريطة

لانشاء لعبة عالم مفتوح لبد من التركيز على تفاصيل دقيقة بمعالم واضحة وخريطة متقنة سنشرح انشاء لعبة ذات عالم مفتوح وااسع ويمكن انشاء خريطة يدويا كذلك يمكنك كذلك انشاء الخريطة في برامج اخرى مثل world machine لبد من ان تتعب قليلا في انشاء الخريطة واضافة العناضر اذا كنت طبعا لا تريد تحميلها من مواقع اخرى او حتى شرائها هناك احجام مختلفة للخريطة لذلك لابد من معرفة هذه الاحجام كي تختار الحجم المناسب للعبتك يمكنك كتابة Recommended landscape sizes in unreal engine في محرك البحث وسوف تظهر لك ونحن سنستعمل حجم 1009X1009 

سنشرح اولا عن طريق الفوتوشوب سندخل للبرنماج ونضغط file ثم new ثم في الحجم نضع الارقام 1009 وفي resolution نتركها في 72 ونختار 16 bitو  inches نختار  Pixels وفي مكان color mode نختار Grayscal ثم نضغط reate 

ثم سنذهب الى filter ثم render ثم clouds ثم سنظغط ctrl+L وسيعطينا قائة Levels سنتلاعب فيها على مدى تباين الاسود والابيض التي هنا على شكل غيوم ولبد ان يكون ابيض واضح ولاسود واضح ولاسود هنا يعبر عن هضاب وجبال والاقل وضوح معناها سهول  يمكنك الذهاب الى نفس الائحة render ثم deffrence clouds سيعطيك شكل اخر من الخريطة يتم استخذام هذا النوع لانشاء العاب فيها عدة خرائط او العاب استراتيجية وغيرها  هنا نضغط ctrl+L ويعطينا قائمة التعديل على التباين وغير ذلك حاول انك لا تخفي الابيض بشكل كامل ولاسود كذلك اجعلهم متساويين الان نتجه الى file ونختار save as ثم نختار صيغة الصورة PNG 

نفتح البنماج انرل ونختار third person ثم نضغط file ,نختار new level ونختار الارضية deffault ثم نحذف الارضية ثم نضغط landscap ونختار من hightmap file ثم نبحث عن الصورة التي انشاءنها في الفوتوشوب وقبل ان نضغط على import نقوم بتغيير اعدادات الZ الى 30 حتى يقوم بتخفيض مستوى الارتفاع الخشن الان نضغط import نضغط على place ونغيير سرعة الكاميرة الى 8 كي نلعب فيها نضغط فوق الخريطة يمين الماوس ثم Play from here العب من هنا كي تبدا التحرك فيها 

الان ننتقل الى طريقة انشاء خريطة اخرى

باستعمال برنماج اخر يطلق عليه world machine ولكن مع الاسف البرنماج ليس مجاني تحتاج الشراء كي تستطيع استخراج الخريطة بعد صنعها 

ندخل للبرنماج نضغط على generator ثم advanced perlin ونسحب هذه الايقونة الى الوسط المساحة الفارغة ثم نضغط بالاعلى على ايقونة project settings كي تقوم بتغيير الاعدادات حسب رغبتك ثم تضغط اوك الان نضغط naturel ثم نختار erosion ونسحب الايقونة الى قرب الايقونة الاولى في المساحة ثم نقوم بتوصيلهما بالخط مثلما نفعل في تقنية النود في بليندرلتفقد شكل الخريطة داخل البرماج تضغط بالاعلى على 3D view ستلاحظ كلما اضفنا مربع جديد ستتغير تضاريش الخاريطة للعودة نضغط على device workview  نضغط مرتين على مربع الاول وسوف يعطينا الاعدادات الخاصة به في خانة style يمكنك اختيار اي شكل يناسبك نفس الطريقة بالضغط على المربع الثاني وتعديل الاعدادات الى ما يناسبك الان نضغط في الاعلى على filter ثم نضغط terrace ونسحبها قرب المربع الثاني ونربطه معها ونفس الشء دوبل كليك عليها ونغيير الاعدادات الان نضغط outpot ونسحب ايقونة height outpot ونربطها مع المربع الثالث ثم دوبل كليك عليها ونختار صيغة الى PNG16 ونحدد مسار وضع الخريطة بعد اخراجها الان سنضيف كذلك ما يلي نضغط على selector ونختار select slop ونضع منها ثلاث مربعات ونربطها كلها مع المربع الثالث الان في المربع الاول مثلا من هذه الثلاثة الاخيرة سنختار في الاعدادا صفر وثلاثين ونختار exponsiel ونضغط على الثاني ونختار ثلاثين وخمسة وستين ونفس الخيار الاول والثالث 65 الى 100 الان نضع ثلاث ايقونة outpot امام الثلاث المربعات الاخيرة ونربطها مع بعضها الان نسجل كل واحد من الثلاث الاخيرة بصيغة PNG الان بعد الانتهاء لحفظ الملف نضغط على build tile world 




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

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


التعليقات



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

إتصل بنا

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

Yassine Agourram

2016