Fazendo uma explosão no Unity
Antes de começar
Primeiro baixe um efeito de bola de fogo (Por exemplo o Standard Assets na Unity Store)
Passo a passo
Em sua cena crie uma
ParticleSysteme a chame de ExplosionClique no componente
Particle Systemde sua ExplosionNo grupo
Shape:- Mude a propriedade
ShapeparaSphere - Mude a propriedade
Radiuspara0.1
- Mude a propriedade
No grupo
Renderer:- Mude a propriedade
Materialpara o material de sua explosão (No Standard Assets do Unity seria o FireBallCloud) - Deixe as propriedades
CastShadowseReceive Shadowsdesligadas
- Mude a propriedade
No grupo
Emission:- Mude a propriedade
RateOverTimeem0 - Crie um novo
Burstcom os valores:Time Count Cycles Interval Probability 0 100 0 0.0010 1.00
- Mude a propriedade
No grupo Explosion:
- Mude
durationpara2 - Mude
StartLifetimepara2 - Na seta das propriedades
StartSizeeRotation, mude para o valorRandom Between Two Constants - Mude os valores da propriedade
StartSizepara entre0.5e1.5 - Mude os valores da propriedade
Rotationpara entre0e360
- Mude
Crie um script ExplosionAction em Explosion, e o preencha:
public class Explosion { void Start() { var explosion = GetComponent<ParticleSystem>(); var main = explosion.main; main.loop = false; explosion.Play(); Destroy(gameObject, main.duration); } }Torne Explosion um Prefab e o use a vontade
Exemplo de uso da Explosion
- No script de um Inimigo:
public class Enemy { public GameObject explosion; private void OnDestroy() { var newExplosion = Instantiate(explosion); newExplosion.transform.position = transform.position; } }