soheil moonesi
soheil moonesi
خواندن ۱ دقیقه·۹ ماه پیش

Unity Partical System

خوب اینجا میرسیم به مبحث پارتیکل ها

خوب کلیتش رو توی این عکس بالا میبینید این دون دون های باحال میشن پارتیکل ها و اون قسمتی که هم که با مربع سیر نشون داده میشه emitter یا جایی که پارتیکل ها ازش به بیرون پرتاب میشن.

توی این قسمت فقط یه نکته ی مهم وجود داره که ممکنه وقتی که دارید برای بار اول پیاده سازیشون میکنید بهشون برخورد کنید.

خوب ببنید مشکل از این قراره که وقتی که شما میاید و particle ها رو stop میکنید دیگه start نمیشن. حالا این یعنی چی ؟ من میخواستم فقط موقعی که دکمه ی space رو زدیم و موشک داره شتاب میگیره یه سری پارتیکل ازش خارخ بشه و موقعی هم که دستمون رو از Space برداشتیم پارتیکل ها قطع بشن ولی اتفاقی که می افتاد این بود که وقتی که از systemParticle.stop استفاده میکردم کلا پارتیکل ها کار نمیکردند.

توی فروم های یونتی هم این موضوع بیان شده و یه راه حل هایی هم براش نوشتن که من تا اونجایی که تست کردم برای کار خودم هیچ کدوم جواب نداد اسم تاپیک این هستش:

Particle system won’t restart emitting before last particle has died

خوب حالا راه حلش چیه ؟

راه حلش اینه که بیایم از isPlaying برای این که چک کنیم ببینیم particleSystem در حال اجراست یا خیر و در صورتی که در حال اجرا نبود بیایم اجراش کنیم و بعد هم برای متوقف کردن پارتیکل ها از particleSystem.stop استفاده میکنیم ، فقط یادتون باشه که به کار بردن اون if باعث میشه که اون باگ که بالاتر گفتم برطرف بشه.

مواردی دیگه این هستش که حواستون به play on awake , loop, start life time باشه.


نوشتن تست
C# enthusiast
شاید از این پست‌ها خوشتان بیاید