ایـــکســـــ پــــــــــی

فرهنگ گیم و زندگی

ایـــکســـــ پــــــــــی

ساختار بازی ها _ پشت صحنه چه خبره ؟

از نظر کامپیوتر ، مثلا پلیر شما ، یک شیئه .

این شئ میتونه انیمیشن داشته باشه ، جسم داشته باشه ، شکل داشته باشه و...

در حوزه بازی سازی چندین نوع شئ قابل درک برای کامپیوتر وجود داره و اینجا چند تاش رو نوشتم :

اجسام (body,object)

یک جسم ، میتونه با بقیه اجسام برخورد کنه و وارد محدوده ها (area) بشه.

میتونه یک جلوه بصری رو به عنوان زیر مجموعه داشته باشه و به صورت طبیعی ، حتما باید یک شکل هم داشته باشه. البته شما به عنوان گیمر ، شکل اون جسم رو نمیبینید و فقط جلوه بصریش برای شما قابل دیدنه.

وقتی که شما دکمه w رو فشار میدید ، کاراکتر شما راه نمیره ، بلکه جسمش در جهت محور x ها ، حرکت میکنه. چون انیمیشن راه رفتن و اسِتش (Asset) زیر مجموعه اون جسمه ، پس جسم انیمیشن راه رفتن رو هم به دنبال خودش میکشونه.

اون آبیه جسمه ، و پسره هم یک جلوه بصریه.

اینجا ، انیمیشن راه رفتن باعث حرکت نشده ؛ در واقع حرکت باعث پخش شدن انیمیشن راه رفتن شده .

در موتور یونیتی (unity) ، شما بعد از ایجاد یک اسپرایت ، توی قسمت 2D physics میتونید براش یک جسم شکل دار انتخاب کنید . مثلا rectangle collaider ، polygone collaider و... (امیدوارم املاشون رو درست نوشته باشم 😅)

در موتور گودوت (godot) شما اول باید یک جسم انتخاب کنید ؛ مثل rigit body , stutic body , kinematic body و... . بعد از انتخاب جسم ، شما باید براش یک شکل انتخاب کنید (مثلا دایره ، مستطیل ، مثلث و اشکال فانتزی) . در آخر میشه براش اسپرایت ، Asset ، انیمیشن و چیز های دیگه گذاشت.

محدوده ها (Area)

اشیایی به اسم محدوده یا منطقه وجود داره.

اینا شبیه به اجسام هستن ، با این تفاوت که با اجسام دیگه نمیتونن برخورد کنن ؛ ولی اگه یک جسم بهشون وارد بشه ، میتونن واکنش نشون بدن.

مثلا توی بازی های هک اند اسلش دو بعدی ، از یک محدوده غیر فعال استفاده میکنیم. وقتی که دکمه مربوط به حمله فشار داده بشه ، این محدوده برای مدت کوتاهی فعال میشه و هر چیزی رو که واردش شده باشه ، در نظر میگیره .

حالا میتونیم برای این محدوده ، کد بنویسیم (GD script):

:()func on_area_body_entere

()body.take_damage

اگه جسمی وارد این محدوده شد ، تابع take_damage یا همون ضربه خوردن رو اجرا بکنه.

محدوده ها کاربرد های مختلفی دارن ، ایجاد خط پایان ، ایجاد سیستم ضربه زدن ، تیر ها تو بازی های شوتر ، ساختن موانع و تله های کشنده و خیلی کاربرد های دیگه.

کنترل ها و بقیه اشیا (controls)

نوار جون و خط استامینا ، نمایش تعداد تیر ها ، دکمه های قابل کلیک کردن (button) و خلاصه اینجور چیزای مربوط به رابط کاربری ، توی گودوت انجین ، کنترل نامیده شدن.

اشیای یا گره های(node) دیگه ای وجود دارن و تعدادشونم خیلی زیاده ، مثلا تایمر ، ری کاست ، پخش کننده صدا و انیمیشن و ویدئو (برای کات سین ها ) و...

خب ، این پست هم تمام شد ، مبارک خیلیا ...(🤣)

کامنت نزاری امشو میام محلتان یه شری بر پا مکنم

سوشیانس
یکشنبه چهاردهم مرداد ۱۴۰۳
12:54
دندان روی جگر بگذار.