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
ParticleSystem
e a chame de ExplosionClique no componente
Particle System
de sua ExplosionNo grupo
Shape
:- Mude a propriedade
Shape
paraSphere
- Mude a propriedade
Radius
para0.1
- Mude a propriedade
No grupo
Renderer
:- Mude a propriedade
Material
para o material de sua explosão (No Standard Assets do Unity seria o FireBallCloud) - Deixe as propriedades
CastShadows
eReceive Shadows
desligadas
- Mude a propriedade
No grupo
Emission
:- Mude a propriedade
RateOverTime
em0
- Crie um novo
Burst
com os valores:Time Count Cycles Interval Probability 0 100 0 0.0010 1.00
- Mude a propriedade
No grupo Explosion:
- Mude
duration
para2
- Mude
StartLifetime
para2
- Na seta das propriedades
StartSize
eRotation
, mude para o valorRandom Between Two Constants
- Mude os valores da propriedade
StartSize
para entre0.5
e1.5
- Mude os valores da propriedade
Rotation
para entre0
e360
- 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; } }