Aula particulas
-
Author
marcos-batista -
Category
Education
-
view
224 -
download
4
Embed Size (px)
Transcript of Aula particulas

Projeto de jogos RAD:Partículas
Augusto Bülow

Unity3D
• Objetos especiais para efeitos• Objetos resumidos = propriedades diferentes• Renderização diferente• Centenas / milhares de partículas por FX• = Performance (necessidade)
• Uso geral• Fumaça, faíscas, água, spray, sangue,
rastros, fogo, etc

Unity3D
• Partículas: objetos “mais leves”
• Sem componentes normais (não objeto)
• Feito para exibir e desaparecer rapidamente - Lifetime *
• Animações ou efeitos simples
• Com velocidade e direção

Unity3D
• Sistema de partículas, três componentes:
• Particle Emitter• Fonte, como / onde são emitidas
• Particle Annimator• Animação das partículas comportamento
• Particle Renderer• Renderizador / mostrar partículas

Unity3D
• Partículas:
essencialmente imagens 2D renderizadas no mundo 3D.
• Imagem simples 2D
• Seqüência = Animação

Unity3D
• Adicionar Partículas:• Necessita os 3 componentes: emitter,
animator e renderer
• Emitter• Ellipsoid
• Mesh

Unity3D
• Emitter : Ellipsoid
• Partículas geradas dentro da esfera (área)
• Tamanho regulável
• Opções de emissão = Emitter• Tamanho partículas• Velocidades iniciais• Quantidade• Direção inicial

Unity3D
• Min/Max Size: tamanho inicial das partículas
• Min/Max Energy: lifetime, tempo que vivem (desaparecem)
• Min/Max Emission: quantidade de partículas emitidas
• World / Local / Rnd : velocidades iniciais das partículas
• Emitter Vel Scale: recebe velocidade do emitter diretamente

Unity3D
• Tangent Vel: velocidade inicial em relação a superfície do emitter
• Simulate in World Space• Sim = ficam no mundo 3D
• Não = movem-se junto ao emitter
• One Shoot : única vez (emissão)
• Ellipsoid : tamanho
• Min Emitter Range: espaço no interior que não são criadas partículas

Unity3D• Emitter: Mesh
• Cria partículas seguindo o mesh do objeto
• Maior controle complexidade
• Opções adicionais:
• Interpolate Triangles: geradas entre faces, senão somente dos vértices do mesh
• Systematic: na ordem dos vértices no modelo

Unity3D
• Emitter sem Renderer = não funciona
• Renderer = gera / apresenta partículas na tela
• Renderer = propriedades visualização partículas
• Render - Definição inicial:• Material das partículas (Textura / imagem)
• EX: Fire Ad (Standard Assets)

Unity3D
• Material = textura usada (em cada partícula)
• Cam. Vel. Scale: quanto da velocidade da câmera é passada para Stretch da partícula• Esticada : efeito tipo faísca
• Combinado com modo Stretch

Unity3D
• Stretch: modo de exibição
• Billboard: virado para câmera
• Stretch: orientados pela direção do movimento (escala na direção)
• Sorted Billboards: ordenadas por profundidade (blend)

Unity3D
• Vertical Billboard: alinhados em X/Z
• Horizontal Billboard: alinhados em X/Y
• Lenght Scale: se Stretch, determina quanto esticam
• Velocity Scale: se Stretch, quanto esticam de acordo com sua velocidade

Unity3D
• UV Animation: Efeito animado (quadros)
• Vários quadros em um BMAP
• Criar material com BMAP
• Definir (Particle Render: UV Animation)• X Tile : quadros em X (presentes no bmap)
• Y Tile : quadros em Y
• Cycles : velocidade da animação

Unity3D
• Tipo material (shader) :
• Partículas - gerais
• FX - Flare • Preto = transparente

Unity3D
• Particle Animator• Determina movimento,
comportamento das particulas
• Mudanças de cor, simulação vento (move adicional)

Unity3D
• Animate Color:
• Varia entre cores definidas ao longo da Lifetime
• Definição de ALPHA nas cores = transparência• Ideal = últimas e primeiras
cores mais transparentes = melhor integração, desaparecem

Unity3D
• Animate Color:
• ALPHA • transparência
• Cores • ciclo automático

Unity3D
• WORLD / LOCAL Rotation Axis• Rotação adicional a partícula
• Eixo sobre qual ela rota
• Size Grow• Quanto a partícula pode crescer no lifetime
• Rnd Force• Força adicional random para partículas

Unity3D
• Force• Força definida para partículas (move)
• Ex: forca Y = sobem
• Damping• Quanto diminuem a força por ciclo
• 1 = sem damping, de 0..1 = menor mais diminui
• Auto Destruct• Partículas removidas no final da lifetime

Unity3D• Trail Renderer
• Efeito de trajetória• Rastro do percurso
• Material
• Tempo de duração
• Tamanho inicial / final
• Cores (animação)

Unity3D• Particles Collider
• Partículas colidem com objetos / cena
• Mandam mensagem específica na colisão
• Rebatem (Bounce)• Perdem energia (Loss)• Utilizar com cuidado:
• Colisões: Requer Processamento

Unity3D• Partículas via Script , ex:
if (Input.GetKeyDown("p")) {
if (particleEmitter.emit) {
particleEmitter.emit = false;
}
else { particleEmitter.emit = true; }
if (Input.GetKeyDown("o")) {
GetComponent("ParticleAnimator").sizeGrow += 1;
}

Unity3D• Partículas via Script , ex:
if (Input.GetKeyDown("p")) {
if (particleEmitter.emit) {
particleEmitter.emit = false;
}
else { particleEmitter.emit = true; }
if (Input.GetKeyDown("o")) {
GetComponent("ParticleAnimator").sizeGrow += 1;
}