Unity: уничтожить объект VFX после того, как он закончит рендеринг - PullRequest
0 голосов
/ 04 января 2019

Я следую этому уроку Unity (с C #): Space Shooter , где у нас есть космический корабль, который разрушается, когда астероид поражает его.Астероид разрушается, и Взрыв VFX успешно рендерится.Тем не менее, объекты взрыва, которые в данный момент невидимы, сохраняются на сцене навсегда.Я хочу очистить их.Я знаю, что это сработает:

void DestroyObjectDelayed()
{
    // Kills the game object in 5 seconds after loading the object
    Destroy(this.gameObject, 5);
}

Но я хочу знать, есть ли способ заставить объект уничтожить себя, когда он заканчивает рендеринг эффекта взрыва вместо того, чтобы я установил несколько секунд.

1 Ответ

0 голосов
/ 04 января 2019

Вы можете просто использовать продолжительность системы частиц.Поместите это в любую систему частиц, которую вы хотите уничтожить, когда закончите играть.

 public class DestroyParticles : MonoBehaviour
 {
     void Start()
     {
         Destroy(this.gameObject, GetComponent<ParticleSystem>().main.duration); 
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...