unity3d: partículas. unity3d objetos especiais para efeitos objetos resumidos = propriedades...
TRANSCRIPT
Unity3D:Partículas
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;}