دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • دی

جلسه ۱۲ : مفهوم prefabs و Instantiation در Unity

  • دسته‌بندی‌ها :
جلسه ۱۲ : مفهوم prefabs و Instantiation در Unity
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      سلام و درود خدمت دوستان عزیز و علاقمندان به مباحث آموزشی وب سایت پی وی لرن. با آموزش Unity در خدمتتون هستیم. مفهوم prefabs و Instantiation در یونیتی رو در این بخش بیان می کنیم.

      مفهوم prefabs و Instantiation در یونیتی

      Instantiating و destruction اشیاء در طول گیم پلی بسیار مهم تلقی می شود. Instantiating به معنای به وجود آوردن است. آیتم ها در بازی ظاهر می شوند یا به وجود می آیند، دشمنان می میرند ، عناصر گرافیکی از بین می روند و صحنه ها بارها در بازی بارگیری می شوند. دانستن چگونگی به درستی خلاص شدن از شر اشیاء غیرضروری و چگونگی آوردن مواردی که نیاز داریم ، ضروری است. بگذارید در ابتدا بفهمیم که prefab ها چه هستند.

      prefabs برای درک چگونگی عملکرد Instantiation در یونیتی، مهم تلقی می شوند.

      prefabs مانند طرح های GameObject هستند.

      prefabs به نوعی کپی از GameObject است که می تواند تکثیر شود و به صحنه بیاید ، حتی اگر هنگام ساخت صحنه وجود نداشت.

      به عبارت دیگر ، از prefabs می توان برای تولید پویا GameObjects استفاده کرد.

      برای ایجاد یک prefab ، شما فقط باید GameObject مورد نظر را از scene hierarchy خود به Assets پروژه درگ کنید.

       

      مفهوم prefabs و Instantiation در یونیتی

      مفهوم prefabs و Instantiation در یونیتی

      حال ، برای instantiate یک GameObject ، ما متد ()Instantiate را در اسکریپت خود فرا خوانی می کنیم. این روش که در MonoBehaviour تعریف شده است ، یک GameObject را به عنوان یک پارامتر در نظر می گیرد ، بنابراین می داند که GameObject را برای ایجاد / تکثیر قرار می دهد.

      همچنین دارای موارد مختلفی برای تغییر ترنسفورم آبجکت تازه instantiated شده به خوبی والدین بودن است.

      اجازه دهید هر زمان که کلید Space فشرده می شود، instantiating یک شش ضلعی جدید را امتحان کنیم.

      یک اسکریپت جدید با نام Instantiator ایجاد کنید و آن را باز کنید. در روش Update ، کدی را که در زیر آورده شده تایپ کنید.

      در این جا ، ما با استفاده از متد GetKeyDown از کلاس Input برای بررسی این که آیا بازیکن در آخرین فریم، دکمه خاصی را فشار داده است یا خیر. از آن جا که می خواهیم آن را به طور مداوم بررسی کند ، ما آن را در Update قرار می دهیم که ۶۰ بار در ثانیه اجرا می شود. اگر کلید مشخص شده توسط KeyCode enum (که لیست تمام کلیدهای ممکن در یک صفحه کلید استاندارد را نشان می دهد) در آن فریم فشرده شود ، روش GetKeyDown درست یا true را باز می گرداند.

      مثال : 

      اعلام عمومی GameObject در بالا یک اسلات ایجاد می کند.

      با این حال ، این اسلات فقط prefabs (در زمان ویرایشگر) و gameObjects (در زمان اجرا) را می پذیرد.

      اسکریپت را ذخیره کنید و بگذارید آن را کامپایل کند.

      پس از اتمام کار ، با انتخاب گزینه Create Empty ، یک GameObject جدید و خالی ایجاد کنید.

       

      مفهوم prefabs و Instantiation در یونیتی

      مفهوم prefabs و Instantiation در یونیتی

      این Object را به عنوان چیزی قابل تشخیص مانند Instatiator Object نام گذاری کنید و اسکریپت تازه ایجاد شده مان را به آن اتچ کنید.

      در اسلاتی که برای GameObject نشان داده می شود ، prefab ی را که ایجاد کرده ایم درگ کنید.

       

      مفهوم prefabs و Instantiation در یونیتی

      مفهوم prefabs و Instantiation در یونیتی

      اگر اکنون بازی را اجرا کنیم ، با فشردن Spacebar ، یک شیء شش ضلعی جدید مشابه با موردی که برای ایجاد prefab استفاده کردیم ، ایجاد می کند.

      می توانید هر شش ضلعی را که در object hierarchy ایجاد می شود مشاهده کنید.

      دلیل عدم حضور آن ها در بازی ، این است که در حال حاضر ، همه آن ها دقیقاً یکی روی دیگری ایجاد می شوند.

       

      مفهوم prefabs و Instantiation در یونیتی

      مفهوم prefabs و Instantiation در یونیتی

      کلام پایانی

      حال که مفهوم prefabs و Instantiation در یونیتی رو متوجه شدیم،

      در درس بعدی مفهوم destruction شی را درک خواهیم کرد.

      QR:  جلسه ۱۲ : مفهوم prefabs و Instantiation در Unity
      به اشتراک بگذارید