کامپوننت‌های مبتدی یونیتی

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

در این بخش به بررسی کامپوننت‌های مبتدی یونیتی و پراپرتی‌های مهم آن‌ها که دانستن عملکردشان برای شروع طراحی بازی حیاتی است می‌پردازیم. این بررسی (به جز برای کامپوننت Transform) به تفکیک گروه‌بندی مرورگر کامپوننت (پنجره‌ای که پس از کلیک بر روی دکمه‌ی Add Component موجود در Inspector نمایش داده می‌شود) صورت گرفته است.

کامپوننت‌های تخصصی‌تر در جای خود بررسی می‌شوند.

 

کامپوننت Transform

این کامپوننت موقعیت مکانی، چرخش و اندازه‌ی گیم‌آبجکت را تعیین می‌کند. هرآن‌چه که توسط ابزارهای دگرگونی (Transform Tools) قابل تغییر بود توسط این کامپوننت نیز هست؛ اما اکثر توسعه‌دهندگان استفاده از این کامپوننت را به دلیل دقت بیشتر به استفاده از ابزارهای دگرگونی ترجیح می‌دهند.

تمام گیم‌آبجکت‌های یونیتی کامپوننت Transform را دارا هستند. این کامپوننت به صورت خودکار به گیم‌آبجکت‌ها اضافه می‌شود و امکان حذف آن نیز وجود ندارد.

در یونیتی واحد مکان (Position) و ضریب اندازه (Scale) برحسب واحد یونیتی (که به طور قراردادی متر است) و واحد چرخش (Rotation) بر حسب درجه است.

نکته در تنظیمات اسپرایت‌ها در Inspector گزینه‌ای تحت عنوان Pixels Per Unit وجود دارد که تعیین می‌کند در هر واحد یونیتی چند پیکسل از اسپرایت انتخاب شده قرار بگیرد (در حالتی که Scale گیم‌آبجکت برابر با ۱ باشد). اگر خواستار تغییر اندازه‌ی اسپرایت در صحنه بودیم بهتر است تنظیمات آن از طریق پراپرتی Pixels Per Unit تغییر داده شود و نه پراپرتی Scale کامپوننت Transform. چرا که استفاده از این پراپرتی باعث افت کیفیت شده و پردازش را سنگین می‌کند؛ به دلیل آن که در هر فریم باید تاثیر پراپرتی Scale بر اندازه‌ی اسپرایت محاسبه شود.

در صورت نیاز به برگشت به تنظیمات پیش‌فرض این کامپوننت (مکان در مبدا مختصات، بدون چرخش و بدون تغییر اندازه) که به کرات پیش می‌آید بر روی آیکون چرخ‌دنده‌ی کامپوننت Tranfrom کلیک کرده و از منوی باز شده Reset را انتخاب نمایید.

 

گروه Audio

کامپوننت وظیفه پراپرتی عملکرد
Audio Listener
از این کامپوننت برای افزودن قابلیت درک صدای جهان بازی به گیم‌آبجکت استفاده می‌شود. این کامپوننت در حکم گوش پلیر در جهان بازی بوده و بدون اضافه کردن آن به حداقل یک گیم‌آبجکت، فارغ از پخش هر صدایی در جهان بازی پلیر قادر به شنیدن آن‌ها نخواهد بود. این کامپوننت به صورت پیش‌فرض به گیم‌آبجکت Main Camera اضافه شده است.
Audio Source
از این کامپوننت برای اضافه کردن صدا به گیم‌آبجکت استفاده می‌شود. Audio Clip فایل asset صدای مدنظر
Play On Awake پخش خودکار صدا به محض اجرای بازی
Loop تکرار مجدد پس از پایان پخش

 

گروه Physics 2D

کامپوننت وظیفه پراپرتی عملکرد
Box/Circle/Polygon* Collider ۲D
از این کامپوننت(ها) برای اضافه کردن collider به گیم‌آبجکت استفاده می‌شود.

(پراپرتی‌ها مربوط به کامپوننت Box Collider 2D بوده و ممکن است با پراپرتی‌های سایر کامپوننت‌های collider تفاوت‌های جزئی داشته باشد)

Material فایل asset متریال فیزیک مدنظر
Is Trigger امکان نفوذ سایر گیم‌آبجکت‌ها به درون collider (در حالت عادی تنها برخورد به collider ممکن است)
Offset فاصله‌ی collider نسبت به گیم‌آبجکت در راستای محورهای x و y
Size طول و عرض collider
Rigidbody 2D
این کامپوننت قوانین فیزیک دوبعدی را بر روی گیم‌آبجکت اعمال می‌کند. برای مثال به منظور افزودن امکان سقوط گیم‌آبجکت از ارتفاع بالا باید این کامپوننت را به گیم‌آبجکت اضافه کرد.

 

collider

شکلی هندسی و مخفی است که مرز بیرون از درون گیم‌آبجکت را تعیین می‌کند. این شکل لزوماً بر شکل گیم‌آبجکت منطبق نیست:

برای مثال به این کاراکتر یک collider مستطیلی (Box Collider 2D) داده شده است. این بدین معنی است که موتور فیزیک بازی این گیم‌آبجکت را به صورت یک مستطیل در نظر گرفته و پردازش می‌کند و سایر اشیا به این مرزهای سبزرنگ برخورد می‌کنند و نه به اسپرایت. همچنین رویدادهای مرتبط با فیزیک گیم‌آبجکت مثل حرکت، غلتیدن (در collider دایره‌ای)، سر خوردن (در collider مستطیلی) و… بر مبنای مرزهای collider صورت می‌پذیرد. collider قابلیت تشخیص برخورد و داخل/خارج شدن سایر colliderها به خودش را داراست. این رویدادها متدهایی را فراخوانی می‌کنند که می‌توان در کدنویسی از آن‌ها استفاده کرد.

استفاده از colliderهای هندسی ساده و غیرمنطبق بر اسپرایت‌ها به دلیل سنگین شدن پردازش هنگام استفاده از colliderهای پیچیده صورت می‌پذیرد. در صورت استفاده از colliderهای مناسبِ اسپرایت کاربر نهایی متوجه تفاوتی نخواهد شد.

موتور فیزیک دوبعدی تنها به شکل collider اهمیت می‌دهد و درک شکل اسپرایت برایش ممکن نیست.

به طور پیش‌فرض با کلیک بر روی یک گیم‌آبجکت و فعال کردن آن، در صورتی که آن گیم‌آبجکت collider داشته باشد، collider آن در نمای صحنه و با رنگ سبز مشاهده خواهد شد. از آن‌جایی که این اشکال سبز رنگ از نشانه‌های راهنمای یونیتی (Gizmoها) به حساب می‌آیند با استفاده از دکمه‌ی Gizmos موجود در نوار کنترل پنجره‌های Scene و Game می‌توان نسبت به نمایش/پنهان کردن آن‌ها در این پنجره‌ها اقدام کرد. Gizmoها تنها برای راهنمای توسعه‌دهنده هستند و در خروجی برای پلیر نمایش داده نخواهند شد.

بسته به نیاز خود و شکل اسپرایت کامپوننت مناسب خود را از میان کامپوننت‌های Box Collider 2D و Circle Collider 2D و یا حتی Polygon Collider 2D انتخاب کنید. از کامپوننت Edge Collider 2D نیز برای ایجاد پستی و بلندی در زمین استفاده می‌شود.

 

متریال فیزیک

متریال فیزیک (Physics Material) یک asset است که می‌تواند خصوصیات فیزیکی مرتبط با جنس را بر روی collider اعمال کند. برای مثال یک توپ با جنس پلاستیک بعد از برخورد به زمین مجددا به هوا خواهد رفت؛ در صورتی که برای یک توپ با جنس فلز چنین اتفاقی نخواهد افتاد.

برای ساخت متریال فیزیک (دوبعدی) در پنجره‌ی Project از نوار کنترل بر روی دکمه‌ی Create کلیک کرده و گزینه‌ی Physics Material 2D را انتخاب می‌کنیم. با کلیک بر روی متریال فیزیک ساخته شده در پنجره‌ی Inspector دو پراپرتی نشان داده می‌شوند. Friction میزان اصطکاک را تعیین می‌کند و Bounciness مقدار جهش را. پس از تنظیم مقادیر دلخواه متریال فیزیک را بر روی پراپرتی Material کامپوننت کولایدر drag and drop می‌کنیم.

برگه‌ها : 1 2