دوره آموزشی ساخت بازی چرخش توپ با یونیتی – (قسمت نهم -ایجاد کردن سیستم ذرات)
دوره آموزشی ساخت بازی چرخش توپ با یونیتی – (قسمت نهم -ایجاد کردن سیستم ذرات)
در قسمت قبلی (قسمت هشتم) دوره آموزشی ساخت بازی چرخش توپ با یونیتی، اضافه کردن صدا به بازی را آموزش دادیم.
در این قسمت (قسمت نهم دوره آموزشی بازی سازی با یونیتی) ما به مطالب زیر می پردازیم:
- ایجاد کردن Particle System در صحنه بازی
- تغییر نام Particle System به ps و تغییر دادن تنظیمات
- اضافه کردن ps به prefabs
- ویرایش کردن اسکریپت PlayerController
- ایجاد کردن اسکریپت Timer و اضافه کردن به ps
دوره آموزشی ساخت بازی چرخش توپ با یونیتی – (قسمت نهم -ایجاد کردن سیستم ذرات)
همانند تصویر زیر در منوی Hierarchy روی Create می رویم و Particle System را انتخاب می کنیم.
به ps تغییر نام می دهیم و آن را بیرون از محیط بازی قرار می دهیم تا کار کردن روی آن راحت تر شود.
در منوی Inspector تنظیمات مربوط به ps را می بینیم.
طیق تصویر زیر Duration(مدت زمان اجرا سیستم ذرات) را به ۱ ثانیه، گزینه Looping(ایجاد حلقه یا اجرا بی نهایت) را غیر فعال می کنیم، Start Speed(سرعت اولیه اجرا سیستم ذرات) را ۰.۵، Start Size(اندازه اولیه اجرا سیستم ذرات) را ۰.۰۸ و Start Rotation(چرخش سیستم ذرات) را بین دو مقدار مورد نظر، تنظیم می کنیم.
Start Rotation را بین دو مقدار ۰ تا ۳۶۰ قرار می دهیم، Gravity Modifier(اندازه جاذبه) را روی ۰.۳ و Max Particles(حداکثر تولید پارتیکل در صحنه بازی) را روی تعداد ۲۰ تنظیم می کنیم.
Emission(نحوه انتشار پارتیکل ها) را طبق تصویر تنظیم می کنیم و
مقادیر Shape(شکل تولید پارتیکل ها)، Shape را روی Sphere(کره) و Radius(شعاع) را روی ۰.۲ قرار می دهیم.
Size over Lifetime(تغییر اندازه در حالت اجرا) و Rotation over Lifetime(چرخش پارتیکل ها در حالت اجرا) را به
اندازه مورد نظر تنظیم می کنیم.
Colision(برخورد) را روی World و در تنظیمات Renderer مقادیر Render Mode را روی Mesh و Mesh را روی مقدار
Cube(یعنی پارتیکل های تولید شده به شکل مکعب مربع با متریال رنگ زرد باشند)
تنظیم می کنیم و برای متریال، متریال زرد رنگ points را اضافه می کنیم.
اکنون می توانیم برای نگاه کردن به حاصل کارمان در منوی Scene،
در پنجره Particle Effect روی اجرا می زنیم و آن را امتحان می کنیم.
دوره آموزشی ساخت بازی چرخش توپ با یونیتی – (قسمت نهم -ایجاد کردن سیستم ذرات)
سپس ps مورد نظر را به prefabs اضافه می کنیم و ps مورد نظر را از صحنه حذف می کنیم.
اسکریپت PlayerController را باز می کنیم و متغییر public از نوع GameObject با نام ps ایجاد می کنیم.
سپس درون تابع OnTriggerEnter قطعه کد …Instantiate را طبق تصویر زیر قرار می دهیم.
این قطعه کد یک ps (پارتیکل) در موقعیت شیی که توپ با آن برخورد کرده است ایجاد می کند.
یعنی هر جا که توپ با شی با تگ point برخورد کرد یک ps در صحنه بازی و در موقعیت داده شده تولید شود.
ps موجود در prefabs را انتخاب می کنیم و اسکریپت Timer را اضافه می کنیم.
درون اسکریپت Timer مقادیر public float timer یک متغییر از نوع اعشاری با نام timer ایجاد می کنیم.
سپس در تابع Update مقدار timer را از زمان اجرا بازی کم می کنیم
تا وقتی که timer ما به صفر برسد،
آن وقت gameObject را Destroy یا نابود می کنیم تا پردازش بازی سنگین نشود.
اکنون به محیط یونیتی برمی گردیم و مقدار timer را روی ۳ ثانیه تنظیم می کنیم،
یعنی اشیا تولید شده یا ps ها بعد از ۳ ثانیه نابود شوند.
اکنون لازم است که ps را به اسکریپت PlayerController اضافه کنیم، برای این کار Player را انتخاب می کنیم و طبق تصویر
ps را قرار می دهیم.
برای این که کار ما قشنگ تر شود مقدار Start size را به ۰.۲ تغییر می دهیم.
دیگر هیچ کار دیگری نمانده است و بازی را اجرا می کنیم.
اکنون باید نتیجه کار شما همانند کلیپ زیر باشد.
ممنون از توجه شما عزیزان…
لطفا هر گونه نظر و پیشنهاد و انتقادی داشتید حتما با ما در میان بگذارید.