clase iv animaci n n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Clase IV : Animación PowerPoint Presentation
Download Presentation
Clase IV : Animación

Loading in 2 Seconds...

play fullscreen
1 / 50

Clase IV : Animación - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

Clase IV : Animación. Visualización II - 2009. Animación Principio. Como convertir un conjunto de vértices y caras en un objeto con movimiento ?. Contenido. Sistemas Dinámicos: Animaciones procedurales Partículas y simulación Springs Transformaciones a objetos complejos Morphing

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Clase IV : Animación


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
clase iv animaci n

Clase IV : Animación

Visualización II - 2009

animaci n principio
AnimaciónPrincipio
  • Como convertir un conjunto de vértices y caras en un objeto con movimiento ?
contenido
Contenido
  • Sistemas Dinámicos:
    • Animaciones procedurales
    • Partículas y simulación
    • Springs
  • Transformaciones a objetos complejos
    • Morphing
    • Keyframing
  • Modelos articulados y cinemática:
    • Jerarquías
    • Forward Kinematics
    • Inverse Kinematics
  • Algunas aplicaciones
animaci n y simulaci n
Animación y Simulación
  • Animación

“Hacer que los objetos cambien su comportamiento de acuerdo a acciones prefijadas”

  • Simulación

“Predecir como los objetos cambian su comportamiento de acuerdo a leyes físicas”

“Son transformaciones espaciales a puntos u objetos, dependientes del TIEMPO”

consideraciones en la implementaci n de animaciones
Consideraciones en la implementación de animaciones
  • Responder con Tiempos variables de acuerdo a la velocidad de la PC
  • Eficiencia de los métodos
  • Espacio utilizado por las estructuras intermedias
  • Relación de los objetos con el entorno
animaci n procedural
Animación Procedural
  • Describe el movimiento de forma algorítmica
  • Se expresa la animación por medio de funciones con ciertos parámetros
  • Ej 1: un reloj
    • Las manecillas rotan sincronizadas
    • Los movimientos se basan en el cambio de una variable expresada en “segundos”
  • Ej 2: una pelota que rebota
    • Height = Abs(sin(wt+q0))*e-kt
animaci n procedural funciones param tricas
Animación ProceduralFunciones paramétricas
  • Puedo definir la posición de un objeto/primitiva con una función dependiente del tiempo:
    • P(t) = (x(t), y(t), z(t))
  • Para controla la velocidad de actualización, puede re-parametrizarse
    • P(u) = (x(u), y(u), z(u)) y U es función de t
    • Ej: una órbita de un planeta
  • x(t) = - 0.2 + cos t
  • y(t) = - 0.2 tan t + sin t
animaci n procedural pros y cons
Animación ProceduralPros y cons
  • Ventajas:
    • Muy simple de implementar
    • Animación fluida
  • Desventajas:
    • Aplicable a muy pocos casos
    • Es independiente del entorno
sistemas de part culas
Sistemas de Partículas
  • Las partículas son objetos atómicos
  • Se aplican reglas simples para moverlas
  • Pueden ser renderizadas de distintas formas de manera de simular diferentes fenómenos:
    • Fireworks
    • Waterfalls, spray, foam
    • Explosiones
    • Clouds
    • Crowds
sistemas de part culas definici n
Sistemas de PartículasDefinición
  • Una partícula tiene:
    • Una posición y un tiempo de vida
    • Una regla de movimiento
    • Características para renderizar
  • Un sistema de partículas:
    • Controla la creación/destrucción de partículas
    • Actualiza el estado de cada partícula cada cierto tiempo
    • Las partículas internas conservan las fuerzas dentro del sistema de partículas
    • Los sistemas funcionan como emisores
un sistema simple
Un sistema Simple
  • Cada particula tiene :
    • Pos, Vel y Ac, son vectores en el espacio
  • En cada instante de tiempo, se actualizan los atributos de las partículas
  • Ppos = Ppos + Pvel * T
  • PVEL = PVEL + PAC * T
  • Se computa la colisión con otros objetos, y se calcula la dirección de la velocidad y la aceleración
sistemas de part culas aplicaciones
Sistemas de Partículas Aplicaciones
  • Variando los parámetros, se pueden crear muchos efectos diversos
    • Con variantes, se puede simular comportamientos de grupos de personas (Crowd Simulation)
  • Para dibujar una partícula la técnica más común es billboarding
  • Constantemente se agregan partículas
  • Se aplican diversas fuerzas a cada una:
    • Gravedad,Repulsion
sistemas de part culas pros y cons
Sistemas de PartículasPros y cons
  • Ventajas:
    • Simulan la física real del efecto
    • Animación continua
    • Tiene en cuenta el entorno
    • Se pueden aplicar efectos visuales en la GPU
  • Desventajas:
    • Para encontrar un efecto adecuado se requieren miles de partículas
  • Costo x Frame = O(#Partículas)
springs
Springs
  • Los springs unen una o más partículas
  • Ciertas fuerzas intentan mantener una distancia constante entre ellas
  • Si una partícula se mueve, se generan oscilaciones numéricas
springs de superficie tela
Springs De superficie : Tela
  • El truco es establecer la rigidez de los springs para lograr un movimiento real
    • Siempre se afecta solo a los vecinos
  • Fuerzas externas
    • Gravedad
    • Viscosidad
    • Viento
    • Generalización de estos métodos dio lugar a los MOTORES FISICOS
simulaci n de fluidos
Simulación de fluidos
  • Discretización del espacio
    • Con volumen
    • Con grillas
    • Con partículas
  • Resolución del movimiento
    • Ecuaciones de Navier Stokes
    • Elementos finitos
    • Autómatas celulares / Boltzmann
sistemas de part culas fluido din mica y springs pros y cons
Sistemas de Partículas, Fluido dinámica y SpringsPros y cons
  • Ventajas:
    • Simulan la física real del efecto
    • Animación continua
    • Tiene en cuenta el entorno
  • Desventajas:
    • Por cada caso, hay que encontrar el modelo adecuado
    • Su visualización puede ser muy costosa y demandar mucho cálculo (existen simplificaciones al problema para hacerlo en tiempo real)
keyframing principios
KeyframingPrincipios
  • Define las poses de un personaje en determinados puntos de tiempo llamados : “keyframes” (análogo a la animación cuadro por cuadro)
keyframing principios1
KeyframingPrincipios
  • El animador crea los keyframes, y el programa interpola entre ellos (tanto en 2D como 3D)
  • Los keyframes tienen la información del estado de la animación en un punto del tiempo ( posición de Vértices o transformaciones )
  • Para tener una animación fluida necesito muchos Frames
        • => mayor espacio en memoria

// Seudo-código Animación con Keyframing

If (Repetir_Animacion)

_Actual= Frames[Tiempo mod #Frames]

Else

_Actual= Frames[Tiempo]

Costo x Frame = O(constante)

keyframing principios2
KeyframingPrincipios
  • La creación de estados intermedios es conocido como “in-betweening”
  • El diseñador debe definir los keyframes estáticos y la duración del lapso de tiempo
  • Para los estados intermedios, las variables se calculan por interpolación lineal (lerp) o aproximación con splines
  • Puede servir para realizar transformaciones de forma
keyframing in between
KeyframingIn-between

Fr N-1

fr N

  • Para modelos 3D representados con vértices

N =getActualFrame(TiempoActual)

For i=0 ; #Vertices

{

ultPosi = Vertices_Frames[N-1,i]

proxPosi = Vertices_Frames[N,i]

Vertices[i] = lerp(ultPosi , proxPosi , TiempoActual)

}

Costo x Frame = O(#Vertices)

Frames Interpolados

keyframing un ejemplo
KeyframingUn ejemplo
  • Keyframing x Vértice
motion blur
Motion – Blur
  • While (rendering)
    • Render Scene(T)
    • Store Buffer to Texture(T)
    • Render Texture(T * Texture[T-1])

Buffer[T-1]

Buffer[T]

Render[T]

+

=

keyframing pros cons
KeyframingPros/Cons
  • Pros:
    • El “inbetweening” es simple de implementar
    • Control robusto de la animación
    • Menos tedioso y poco técnico
  • Cons
    • Crear la animación requiere mucho aporte del diseñador
    • Costo de almacenamiento alto
modelos articulados
Modelos Articulados
  • Es una forma de mejorar el diseño de los Frames
  • Las poses del personaje se describen por un conjunto de cuerpos rígidos (bones) unidas por articulaciones (joints)
    • Cada bone, se encuentra recubierto por una piel (Skin)
modelos articulados jerarqu a del esqueleto
Modelos ArticuladosJerarquía del esqueleto
  • Cada transformación a un bone es relativa al padre en la jerarquía :
    • La posición final de un bone es el resultado de la acumulación de transformaciones al recorrer el árbol
modelos articulados1
Modelos Articulados
  • Los ángulos de las articulaciones pueden variar en el tiempo de forma de crear una animación

Θ(t)

modelos articulados forward kinematics fk
Modelos ArticuladosForward Kinematics (FK)
  • Dado un esqueleto, con sus parámetros
    • Cuál es la posición del efector Vs en las coordenadas de locales?

Vs

Vs = ( L1cosΘ1 + L2cos (Θ1 + Θ2) , L1sinΘ1 + L2sin (Θ1 + Θ2) )

modelos articulados forward kinematics
Modelos ArticuladosForward Kinematics
  • Los cálculos se basan en los parámetros de entrada (Θ1, L1, Θ2, L2)
  • Para cada paso de tiempo, es posible usar interpolación para calcular el ángulo actual:
    • Θt = Θ1/#Frames

Costo x Frame = O(#Joints)

modelos articulados inverse kinematics ik
Modelos ArticuladosInverse Kinematics (IK)
  • Dado un esqueleto, un conjunto de parámetros iniciales VO y un resultado VD :
    • Cuáles son los parámetros del esqueleto para alcanzar VD ?

VD

modelos articulados inverse kinematics
Modelos ArticuladosInverse Kinematics
  • Significa buscar una pose p, que es una configuración de un esqueleto “real”
  • Requiere encontrar la inversa de una función no lineal: encontrar p tq. S(p)VO = VD
  • Es un problema no-determinístico con varias soluciones posibles
    • Se busca que la solución también minimice otros parámetros, como desviación respecto a la postura natural, rigidez de las uniones, consumo de energía, etc.

Costo Solución= O(#Joints !)

fk ik
FK & IK
  • Las técnicas trabajan en conjunto
  • Inverse kinematics
    • Movimiento basado en objetivo
    • Los parámetros iniciales son el “vector” Origen y el Destino
    • Calcula las transformaciones necesarias para alcanzar el resultado
  • Forward kinematics
    • Tiene parámetros pre definidos
    • Se calcula el “vector” posición por cada tiempo, en función de las transformaciones existentes
fk ik pros cons
FK & IKPros/Cons
  • Pros:
    • Mejora el modelo de keyframing, al automatizar el proceso de los movimientos
    • Control robusto de la animación
    • Añade “inteligencia” al comportamiento
  • Cons
    • Requiere un control preciso de la deformación (blend)

Algunos problemas comunes al aplicar la deformación

animaci n c mo calcular los frames morphing
Animación: Cómo calcular los frames?Morphing
  • Consiste en convertir una imagen original, basándose en puntos de control, en una nueva
  • Los puntos de control son usados para recalcular los valores de los píxeles en un tiempo t con una transformación
    • También es aplicable en 3D
  • Técnicas de deformación
    • Punto a punto
    • Mediante funciones matemáticas
    • Con puntos de control (Free Form Deformation)
free form deformation
Free Form Deformation
  • Pasos
    • Se mueven los puntos de la malla de control
    • Se vuelve a remallar
    • En los pasos intermedios se utiliza interpolación
c mo calcular los frames captura de movimiento
Cómo calcular los frames?Captura de Movimiento
  • Motion capture es una de las técnicas más usadas para calcular los Frames de animación
    • Problemas: Una vez que los datos se capturaron, es difícil modificarlos para otro propósito
  • Técnicas de adquisición
    • Ópticas (pasivas y activas)
    • Mecánicas
    • Magnéticas
    • Acústicas
que se captura
Que se captura ?
  • Lo que necesitamos es:
    • Posición y orientación de los segmentos
    • Ángulos de las uniones
    • Largo de cada unión
    • Conectividad del esqueleto
    • Deformación de la piel
  • El sistema brinda
    • Posición de las marcas sobre la piel
    • Posición y orientación de las marcaciones
como se hace en las pel culas y en los juegos
Como se hace en las películas y en los juegos?
  • Mayormente Keyframing
    • Modelos articulados + IK
  • Skinning
    • Skin compleja, musculos, movimiento
como se hace en las pel culas y en los juegos1
Como se hace en las películas y en los juegos?
  • Controles jerárquicos
    • Gestos, sonrisas, pestañeo, etc.
    • IA
  • Simulación física para aspectos secundarios
    • Pelo, ropa, agua
    • Sistemas de partículas
  • Se requiere mucho esfuerzo en construir los modelos 3D, los esqueletos y los controles
como se hace en los juegos crowd simulation en juegos
Como se hace en los juegos? Crowd Simulation en juegos
  • Animación con esqueletos + FK
    • Para tiempo real, se usan los Frames ya calculados
como se hace en los juegos crowd simulation en juegos1
Como se hace en los juegos? Crowd Simulation en juegos
  • Se aplican técnicas de IA para el movimiento en grupo : Flocking, Path finding

Age of Empires III

recomendaciones
Recomendaciones
  • Definir a priori el tipo de animación que vamos a usar para cada tipo de objeto “Mantener lo simple, simple”
  • La visualización depende de la animación, pero deberìan estar desacopladas
    • Animar y luego visualizar (esquema serial)
    • Tener en cuenta el Framerate en la animación
    • Balancear la carga del CPU y del GPU
links
Links
  • http://www-etud.iro.umontreal.ca/~clavetsi/physicsingraphics-details.html
  • http://www.pixar.com
  • http://www.renderman.org