O documento discute animações em Unity3D, incluindo como criar e editar animações usando keyframes no Animation Window, controlar animações via código usando a classe Animation, e adicionar eventos a keyframes para acionar funções durante a animação.
2. Unity3D
• Animações (modelos):
• Produzidas em softwares de criação 3D
• Motion Capture (Mocap)
• Outras técnicas de animação (vídeo)
• Exportadas junto ao modelo
• Animações via Unity3D
• Modificar / criar animações gerais
• Possível animar componentes / bones
3. Unity3D
• Animações Unity:
• Window-> Animation (Ctrl+6)
• Editor de animações
• Linha do tempo + Keyframes
• Key Frame = posição chave (quadro chave)
• Quadros intermediários = criados (auto)
5. Unity3D
• Criar Objeto Cubo para animação
• Re-nomear objeto = Animado
• Iniciar Animator (Window->Animator)
• Botão Gravar (Rec) = nova animação
• Arquivo externo: anima-cubo.ANIM
• Ou Click sobre o nome anima (Create Clip)
6. Unity3D
• Cria-se Keyframes:
• Posições desejadas (chaves) em relação ao
tempo
• Transforma-se posições e/ou rotações do(s)
objeto(s)
• Edição pelo animator e Inspector (entrada
direta de parâmetros)
7. Unity3D
• Criar animação -> o que mudar?
• Planejamento prévio da animação
• Click sobre a propriedade e Add Curves
8. Unity3D
• Keyframes = planejar a animação antes
de desenvolvê-la
• Identificar partes da animação
• Relacionar Keys com tempo
• Criar keys (modificações) = animação
9. Unity3D
• Animar cubo
• 0’30 = rotar 180o em Y
• 1’00 = rotar 90o em X
• 1’30 = rotar 180o em Z
• Criar Anima
• Click no tempo
• Add Key
• Inserir modificação
• Novo parâmetro
11. Unity3D
• Modificar Curvas
• tipo transformação
• como chegam ao keyframe
• suavidade = smooth
• modificação livre
• curvas pré-prontas e
editáveis
• Broken: lados da curva
independentes
12. Unity3D
• Completar a animação proposta
• Desligar a gravação (Play = teste)
• Ligar o game = animação roda uma vez default
• Animação pode ser Física
• RigidBody = Checando colisões
13. Unity3D
• Wrap mode: como animações são cortadas
(continuadas)
• Animator (abaixo)
• Once (roda única vez)
• Loop (volta ao começo)
• Ping Pong (vai e volta)
• Clamp forever
• Fica no último quadro
14. Unity3D
• Criar nova animação para o cubo
• Animator : Create Clip : anima-cubo2.anim
• Animar giro completo
• 1’00 = rotação X 180
• 2’00 = rotação X 360
15. Unity3D
• Rodando animações por script
• Classe animation
function Update () {
if (Input.GetKeyDown("1")) {
animation.Play ("anima-cubo");
}
if (Input.GetKeyDown("2")) {
animation.Play ("anima-cubo2");
}
}
16. Unity3D
• Stop:
if (Input.GetKeyDown("0")) {
animation.Stop();
}
• IsPlaying:
function OnMouseEnter() {
if (!animation.IsPlaying(“anima-cubo2“)){
animation.Play("anima-cubo2");
}
}
17. Unity3D
• AnimationState : Classe
• Controles sobre a animação
• Controles de Blend (mistura) animações (peso)
• Uso: animation[“nomedaanima”].propriedade
if (Input.GetKeyDown("4")) {
animation["anima-cubo2"].speed = 0.3;
animation.Play ("anima-cubo2");
}
if (Input.GetKeyDown("5")) {
animation["anima-cubo2"].time= 0;
}
18. Unity3D
• AnimationState : Classe
• Mudando o wrap mode da anima por código:
animation["Walk"].wrapMode = WrapMode.Loop;
19. Unity3D
• Incluindo eventos na animação
• Keyframe = roda função pré-programada
• Criar a função desejada, exemplo:
var velo_anima = 0.5;
function aumenta_velo() {
velo_anima += 0.2;
animation["anima-cubo2"].speed = velo_anima;
}
• Aumenta velocidade da anima
• Atribuir essa função a keyframe (animator)