A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Animação de Personagens

Apresentações semelhantes


Apresentação em tema: "Animação de Personagens"— Transcrição da apresentação:

1 Animação de Personagens
Bruno C. de Paula Animação de Personagens 1º Semestre 2010 > PUCPR > Pós Jogos

2 Autodesk FBX; Nós já vimos que ...
2 25/03/2017 Modelos 3D possuem: meshes (malhas de polígonos), texturas, animações e bones (esqueleto); O Unity 3D trabalha com arquivos nos formatos: Autodesk FBX; DAE / Collada; 3DS (só meshes); OBJ (só meshes); DXF (só meshes).

3 Técnicas para produção de modelos animados
Software 3D: Maya, 3D Max, Blender, etc; Motion Capture (mocap); Fonte da imagem:

4 Representação dos arquivos de animação
Arquivo único; Definição dos quadros para cada animação; Arquivos em separado: Nome WrapMode indica o tratamento do tempo

5 Importação de modelos Assets > Import New Asset; OU
Assets > Import Package; Cuidados na importação: Configuração da Escala; Associação da textura com o material.

6 Escala deve ser configurada

7 Associação da textura com o material

8 Componente Animação Controle das animações disponíveis para o modelo;
Teste das animações.

9 Componente Animação Propriedades
Animation: animação padrão; Animations: lista de animações acessíveis via script; Play Automatically: toca automaticamente quando o jogo inicia; Animate Physics: animação interage com a física; Animate Only If Visible: só anima se estiver na câmera.

10 Blending de animações Essencial para transição suave entre uma animação e outra; Por exemplo, se o personagem está parado e vai começar a andar, a transição entre as duas animações deve ser natural; Mistura entre 2 ou mais animações; Deixar wrap mode em loop, para que quando chegue no fim continue do início. Video Fonte da imagem:

11 Comandos script para interagir com animações
Diversas opções! Executar a animação padrão sem blending: animation.play(); Tocar uma animação específica: animation.play("jump"); Transição para uma animação aos poucos (fade) fazendo blending: animation.CrossFade("walk");

12 Script Transição simples entre walk e idle
function Update () { if (Input.GetAxis("Vertical") > 0.2) animation.CrossFade ("walk"); else animation.CrossFade ("idle"); }

13 Layers de animação Necessário utilizar layers quando é necessária a priorização das animações; Por exemplo, walk (andar) e idle (parado) podem ter uma transição suave entre elas, mas a animação shoot (de tiro) deve ser prioritária, substituindo imediatamente;

14 Script Exemplo com layers (1/2)
function Start () { // Todas as animações com loop animation.wrapMode = WrapMode.Loop; // menos o tiro animation["shoot"].wrapMode = WrapMode.Once; // As animações por padrão estão no layer 0, //shoot tem maior prioridade animation["shoot"].layer = 1; // Pára as animações que estão rodando animation.Stop(); }

15 Script Exemplo com layers (2/2)
function Update () { if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1) animation.CrossFade("walk"); else animation.CrossFade("idle"); if (Input.GetButtonDown ("Fire1")) animation.CrossFade("shoot"); }

16 Dicas Para usar um modelo como personagem do jogador, associe:
Rigidbody: precisão física; Character Controller. O Character Controller possui o isGrounded para indicar se está no solo ou não; O script SmoothFollow é útil em jogos de 3a Pessoa para que a câmera siga o personagem; O estágio da animação pode ser controlado: animation["jump"].time = 0.5;

17 Leitura complementar Manual sobre animação de personagens:
Projeto com exemplos de animação de personagens: Ótimo artigo sobre implementação de animation blending:


Carregar ppt "Animação de Personagens"

Apresentações semelhantes


Anúncios Google