Как система частиц должна играть, если вы уничтожаете объект, удерживающий его?
Создайте сборку системы частиц с параметром auto-destrut и не делайте ее дочерью объекта для уничтожения.
if (EnemyHealth <= 0) {
Instantiate(particlesPrefab, transform.position, transform.rotation) ;
Destroy(gameObject);
}
Edit: я думал, что системы частиц имел параметр, чтобы автоматически уничтожить себя в конце излучения, но я не могу найти его. Возможно, вам придется добавить скрипт в сборный блок, удерживающий систему частиц, чтобы уничтожить его после заданной задержки, используя второй параметр Destroy function.
private void Start()
{
ParticleSystem ps = GetComponent<ParticleSystem>();
Destroy(gameobject, ps.main.duration) ;
}
Вы уничтожили GameObject, который содержит систему частиц, поэтому он также разрушает систему частиц. Вам нужно либо отложить фактическое разрушение объекта до тех пор, пока система частиц не будет проиграна, либо поместите систему частиц в качестве компонента на пустой GameObject и воспроизведите ее оттуда. – Serlite