Académique Documents
Professionnel Documents
Culture Documents
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
nível 1 de subdivisão
modelagem
●
Catmull-Clark
● Add Modifier → Subsurf
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/