اسکریپت نویسی در یونیتی
تاریخ انتشار : مرداد ۲۳, ۱۴۰۰ تاریخ به روز رسانی : مرداد ۹, ۱۴۰۲ نویسنده : پشتیبانی مکتب تی وی زمان مورد نیاز مطالعه : دقیقه تعداد بازدید : 4.01هزار بازدیدیونیتی موتور بازیسازی حرفهای است که باقابلیتهای بیشمار خود به شما در طراحی بازی کمک خواهد کرد؛ اما گاهی ممکن است امکانات و ابزارهای یونیتی برای پیاده کردن طرح شما کافی نباشد. در این زمان از نوشتن اسکریپت یونیتی کمک میگیریم. در این آموزش یونیتی به اسکریپت نویسی در یونیتی خواهیم پرداخت و گامبهگام مراحل و نحوه ایجاد اسکریپت را طی خواهیم کرد.
همین الان با وارد کردن اطلاعات خود در فرم، دوره اصول اولیه طراحی موشن گرافیک را به صورت رایگان دریافت کرده و 10/000 تومان شارژ هدیه دریافت نمایید.دوره رایگان اصول اولیه طراحی موشن گرافیک
نقش و کاربرد اسکریپت نویسی در یونیتی
همانطور که گفته شد درزمانی که قابلیتهای یونیتی در پیادهسازی ساختار طرحی کافی نباشد، سراغ اسکریپت نویسی روی یونیتی میرویم. درواقع اسکریپت نویسی یک عنصر اساسی در بیشتر برنامههایی است که در Unity ایجاد میکنید. اکثر برنامهها نیاز به اسکریپت دارند. از اسکریپتها بهمنظور طراحی جلوههای گرافیکی، کنترل رفتار فیزیکی اشیاء یا حتی پیادهسازی یک سیستم هوش مصنوعی سفارشی برای شخصیتهای بازی میتوان استفاده کرد. معمولاً به زبان شی گرای C# اسکریپتها نوشته میشوند.
هدف از نوشتن اسکریپتها در یونیتی متفاوت است. یکی از این اهداف ایجاد component ها و مؤلفههای اختصاصی برای Game Object ها است. اسکریپت MonoBehaviour امکان تبدیل به کامپوننت و اتصال به گیم آبجکت را دارد. در ادامه مقاله اسکریپت نویسی در یونیتی به ایجاد این اسکریپت و استفاده از آن بیشتر خواهیم پرداخت.
نحوه ایجاد و استفاده از اسکریپتها
رفتار GameObjects توسط اجزای متصل به آنها کنترل میشود. درحالیکه اجزای داخلی Unity میتوانند بسیار متنوع باشند. یونیتی به شما امکان میدهد اجزای خود را با استفاده از اسکریپت ایجاد کنید، رویدادهای بازی را اجرا کنید، ویژگیهای جزء را در طول زمان تغییر دهید و به هر نحوی که میخواهید به ورودی کاربر پاسخ دهید.
ساخت اسکریپت
در مقاله اسکریپت نویسی در یونیتی خواهید دید اسکریپتها برخلاف سایر asset ها معمولاً بهصورت مستقیم در یونیتی ایجاد میشوند. از منوی بالا سمت چپ Create و پنل Project را انتخاب کنید؛ و یا با انتخاب Assets به Create روید و C# Script را از طریق منوی اصلی ایجاد کنید. اسکریپت جدید در هر پوشهای که در پنل پروژه انتخاب کردهاید ایجاد میشود. نام فایل اسکریپت جدید را به انتخاب خود تغییر دهید.
ساختمان یک فایل اسکریپت
در این بخش از اسکریپت نویسی در یونیتی به بررسی ساختمان یک فایل اسکریپت می پردازیم.اگر روی script Asset در یونیتی دو بار کلیک کنید، یک ویرایشگر متن باز میشود. بهصورت پیشفرض، یونیتی از ویژوال استودیو استفاده میکند، اما میتوانید ویرایشگر موردنظر خود را از پنل External Tools در preferences یونیتی انتخاب کنید (به Unity و سپس Preferences بروید). محتویات اولیه فایل مشابه تصویر زیر خواهد بود:
یک اسکریپت با پیادهسازی کلاسی که از کلاس داخلی بنام MonoBehaviour نشأت میگیرد، با عملکرد داخلی Unity ارتباط برقرار میکند. شما میتوانید یک کلاس را نوعی طرح برای ایجاد یک نوع کامپوننت جدید در نظر بگیرید که میتواند به GameObjects متصل شود. هر بار که یک جزء اسکریپت را به GameObject وصل میکنید، یک نمونه جدید از شیء تعریفشده توسط نقشه ایجاد میکند. نام کلاس برگرفته از نامی است که هنگام ایجاد فایل ارائه کردهاید. نام کلاس و نام فایل باید یکسان باشد تا قسمت اسکریپت بتواند به GameObject متصل شود.
توابع مهم اسکریپت نویسی در Unity
مهمترین نکاتی که باید به آن توجه شود، دو تابع تعریفشده در داخل کلاس هستند.
- عملکرد Update مکانی برای قرار دادن کدی است که بهروزرسانی فریم برای GameObject را مدیریت میکند. این ممکن است شامل حرکت، راهاندازی اقدامات و پاسخ به ورودی کاربر باشد، اساساً هر چیزی که باید در طول زمان در طول بازی انجام شود. برای اینکه عملکرد Update بتواند کار خود را انجام دهد، اغلب مفید است که بتوانید متغیرها را تنظیم کنید، تنظیمات برگزیده را بخوانید و با سایر GameObjects ارتباط برقرار کنید.
- تابع Start قبل از شروع بازی توسط Unity (قبل از فراخوانی اولین بار تابع Update) فراخوانی میشود و مکانی ایده آل برای انجام هرگونه راهاندازی اولیه است.
توجه: شاید تعجب کنید که مقداردهی اولیه یک شی با استفاده از تابع سازنده انجام نمیشود. این به این دلیل است که ساخت اجسام توسط ویرایشگر انجام میشود و همانطور که انتظار دارید در ابتدای بازی انجام نمیشود. اگر سعی کنید یک سازنده برای یک جزء اسکریپت تعریف کنید، عملکرد عادی Unity را مختل کرده و میتواند مشکلات عمدهای را در پروژه ایجاد کند.
کنترل GameObject
همانطور که در مقاله اسکریپت نویسی در یونیتی ذکر شد، یک اسکریپت فقط یک نقشه برای یک کامپوننت تعریف میکند و بنابراین تا زمانی که نمونهای از اسکریپت به GameObject متصل نشود، کد آن فعال نمیشود. میتوانید یک اسکریپت را با کشیدن script asset به GameObject در hierarchy panel یا inspector از GameObject که در انتخابشده است، ضمیمه کنید. همچنین یک منوی Scripts در منوی Component وجود دارد که شامل همه اسکریپتهای موجود در پروژه، ازجمله مواردی است که خودتان ایجاد کردهاید. نمونه اسکریپت بسیار شبیه به سایر اجزای Inspector است:
طبق مقاله اسکریپت نویسی در یونیتی؛ پس از پیوست شدن، اسکریپت با فشار دادن Play و اجرای بازی شروع به کار میکند. میتوانید این مورد را با افزودن کد زیر در عملکرد Start بررسی کنید:
Debug.Log یک فرمان ساده است که فقط یک پیام را در خروجی کنسول Unity چاپ میکند. اگر Play را فشار میدهید، باید پیام را در پایین پنجره اصلی ویرایشگر Unity و در پنجره Console مشاهده کنید. در پایان مقاله اسکریپت نویسی در یونیتی انتظار میرود در مورد اسکریپت ها بیشتر از پیش اطلاعات داشته باشید.
اسکریپت نویسی در Unity به چه شکل است؟
در این مقاله نحوه ایجاد و استفاده اسکریپت ها در یونیتی را شرح دادیم و ساختمان یک فایل اسکریپت را بررسی کردیم. همچنین توابع مهم اسکریپت نویسی در Unity را معرفی کردیم.
دیدگاه کاربران
بدون دیدگاه