Vous êtes sur la page 1sur 34

Modelagem e Animação

parte I

COS600
Animação e Jogos

Ricardo Marroquim
modelagem
● definir geometria dos objetos
● formas básicas para iniciar
● esfera
● cubo
● plano
● cilindro
● …
● [space] → add → mesh
● objetos são inserido na posição do cursor
modelagem

controle de visão
● botão do meio do mouse
– zoom [scroll]
– girar
– pan ([shift] e [control])

numpad
– topo [7]
– frente [1]
– lateral [3]
– invertida: [control] + [1,3,7]
modelagem

controle de visão
● ortogonal/perspectiva [5]

wireframe/sólido [z]
● visão do objeto câmera [0]

wireframe solid
modelagem
● transformações básicas
● rotação [r]
● translação [g] (grab)
● escala [s]
● manipuladores
● eixos
● transformação + [x,y,z]
● definindo valor exato
● transformação + (eixo) + valor + [enter]
modelagem

modos [tab]
● objeto

edição
– permite manipular individualmente

vértices
● arestas
● faces
modelagem

subdivisão de geometria
● em modo edição [tab]
– Specials [w] → Subdivide
– pode subdividir
● objeto inteiro
● faces selecionadas
● arestas selcionadas
– subdivisão adaptativa
modelagem

subdivisão de superfícies
● Catmull-Clark (1978)

algoritmo simples muito utilizado até hoje
– para cada face

adicionar um ponto de face no centroide da face
– para cada aresta
● adicionar um ponto de aresta na média entre vértices da
arestas e dois pontos de faces vizinhos
– mover vértices P
● F: média de todos pontos de face incidentes em P
● R: média de todos pontos médios das n arestas incidentes em P
modelagem

Catmull-Clark
● conectar novos vértices
– cada ponto de face
● conectar aos pontos de arestas das suas arestas
– cada novo ponto
● conectar aos pontos de arestas das arestas incidentes
modelagem

Catmull-Clark

malha original pontos de face pontos de aresta pontos movidos

nível 1 de subdivisão
modelagem

Catmull-Clark
● Add Modifier → Subsurf

nível 1 nível 2 nível 3


modelagem

Catmull-Clark (subsurf modifier)
animação

keyframe
● modelar alguns quadros da animação
– interpolar os demais
● tradicionalmente
– animador chefe: quadros principais (keyframe)
– assistentes: quadros intermediários (tweening)
– manter consistência dos desenhos sem sobrecarregar um
artista
animação

interpolação entre os quadros
● linear (não suave)

suave
– bezier
– hermite
– splines
– ...
animação

interpolação linear
● mais simples

double LinearInterpolate(double y1, double y2, double t)


{
return( y1*(1-t) + y2*t );
}
animação

interpolação cúbica
double CubicInterpolate(double y0,double y1,
double y2,double y3,double t)
{
double a0,a1,a2,a3,t2;
t2 = t*t;
a0 = y3 - y2 - y0 + y1;
a1 = y0 - y1 - a0;
a2 = y2 - y0;
a3 = y1;
return(a0*t*t2 + a1*t2 + a2*t + a3);
}
animação
● Bézier
● uma das mais usadas
● interpolação suave do Blender
● Bézier linear → equivalente à interpolação linear
– dois pontos
● Bézier quadrática → fontes TrueType
– três pontos
● Bézier cúbica → fontes PostScript
– quatro pontos
– mais usada
animação

Bézier cúbica
● 4 pontos de controle

geralmente não passa por P1 e P2
animação

Bézier
● propriedades
– curva dentro do fecho convexo
– pode ser generalizada para qualquer grau
– na verdade, não interpola
● aproxima

mais controle e flexibilidade

interpolação aproximação
animação

Bézier
● construção de uma cúbica
– reduzir para graus menores
– pontos Q variam linearmente entre dois pontos P
– pontos R variam linearmente entre dois pontos Q
– ponto B varia linearmente entre R0 e R1
animação

Bézier
● construção de uma cúbica
– variação linear
animação

Bézier
● construção de uma cúbica
– quadrática
● duas variações lineares
● P0 → P1
● P1 → P2
animação

Bézier
● construção
animação

keyframes no Blender
● inserir keyframe [i]
animação

hierarquia de animação rígida
● personagem
– coleção de partes rígidas
● funciona para máquinas e equipamentos

muitos problemas com deformações não rígidas
– ex: personagens feitos de carne & osso
animação
● como obter mais controle
● ex: animar só o braço
● como manter consistência da malha
● problema do método anterior
● uma solução
● animação por vértice
● vantagem: pode produzir qualquer deformação imaginável
● problemas (graves!)
– artista tem que modelar cada pose individualmente
– posição de cada vértice precisa ser armazenada para cada quadro de
animação
animação

morph targets
● solução um pouco melhor

guardar apenas alguns quadros
● realizar morphing entre quadros

ex: usado para animação facial
– animar rosto humano é uma tarefa extremamente
complexa
– aproximadamente 50 músculos
animação

esqueletos
● rigging
– mecânica do esqueleto
● skinning
– influência do esqueleto no malha
animação
● hierarquia do esqueleto
● cada osso (ou junta)
– um pai
– [0, n] filhos
● geralmente existe um osso raiz da hierarquia
– em alguns casos particulares existem mais
● posição e rotação de cada osso
– possivelmente escala (não muito utilizada)
– matriz 4x4 ou 4x3
– SQT (scale, quaternion, vetor de translação)
● pose de um osso é definida em relação a pose do pai
animação

pose de referência
● T-pose
animação
● jogos
● ciclos curtos de animação
– andar
– correr
– pular
– ...
● movimentação
● cinemática direta (FK- forward kinematics)
● cinemática inversa (IK – inverse kinematics)
animação
● cinemática direta
● mais simples
● um osso só afeta os filhos
● os movimentos são restritos pelo pai
– tipo de junta
● exemplo
– mexer o braço
● mexe antebraço e dedão
– mexer antebraço
● mexe o dedão
● fixo pela posição do pai
animação
● cinemática inversa
● problema mais complicado
● necessário métodos numéricos
– processo de minimização de erro
● dado um filho em determinada posição
– calcular onde devem estar o pai
– e todos antepassados
● pai do pai
● pai do pai do pai …
● pode ter
– uma solução, várias ou nenhuma
Blender
● http://wiki.blender.org/
● http://oogtech.wordpress.com/tag/panda3d/
● http://www.blendermodels.org/

http://sourceforge.net/projects/chicken-export/

http://www.blendertips.com/

Vous aimerez peut-être aussi