martes, 22 de mayo de 2007

Previo - Práctica 9

1. Investigue acerca de los métodos manuales de animación

- Key frames (cuadros llave)

- Forward Kinematics (cinemática directa)

- Inverse Kinematics (cinemática inversa)

- Motion capture (captura de movimiento)

KEY FRAMES – En animación, los key frames son dibujos que son esenciales para definir puntos de inicio y de fin de cualquier suave transición. Se les llama “frames” (marcos) porque su posición en el tiempo se mide en marcos en un fragmento de filme. Una secuencia de key frames define cuál movimiento verá el espectador, mientras que la posición de los key frames en el filme, video o animación definen el tiempo del movimiento. Como sólo dos o tres key frames sobre la extensión de un segundo no crea la ilusión de movimiento, los frames restantes son llenados con más dibujos, llamados “inbetweens” (intermedios).

FORWARD KINEMATICS – Éste es un método de graficación por computadora en 3D para animar modelos.

El concepto esencial de la animación por cinemática directa es que las posiciones de partes particulares del modelo en un momento especificado son calculadas desde la posición y la orientación del objeto, junto con cualquier información sobre las articulaciones de un modelo con tal atributo. Por ejemplo, si el objeto a ser animado es un brazo con un hombro que debe permanecer en una posición fija, la localización de la punta del pulgar sería calculada desde los ángulos de las articulaciones del hombro, codo, muñeca, pulgar y de los nudillos. Tres de dichas articulaciones (el hombro, la muñeca y la base del pulgar) tienen más de un grado de libertad y deben de ser tomados en cuenta. Si el modelo fuera una figura humana entera, entonces la localización del hombro también tendría que ser calculada desde otras propiedades del modelo.

INVERSE KINEMATICS – La cinemática inversa es el proceso de determinar los parámetros de un objeto articulado y flexible (una cadena cinemática) con tal de lograr una posición deseada. Por ejemplo, con el modelo en 3D de un cuerpo humano, ¿cuáles son los ángulos de la muñeca y el codo requeridos para mover la mano de una posición en reposo a una posición de saludo? Esta pregunta es vital en la robótica, donde los brazos manipuladores son comandados en términos de los ángulos de las articulaciones. La cinemática inversa también es relevante para la programación de videojuegos y la animación 3D, donde un uso común es asegurarse de que los personajes del juego se conecten al mundo físicamente, tal como lo que es aterrizar los pies firmemente sobre terreno, alinear las manos con perillas, etc.

Una figura articulada consiste en un conjunto de segmentos rígidos conectados por articulaciones. El variar los ángulos de las articulaciones provee un número infinito de configuraciones. La solución al problema de animación por cinemática directa, dados estos ángulos, es la pose de la figura. La solución más complicada al problema de la cinemática inversa es hallar los ángulos de articulación dada la configuración deseada de una figura. En los casos generales, no hay una solución analítica para el problema de cinemática inversa. Sin embargo, la cinemática inversa puede ser solucionada a partir de técnicas de programación no lineales. Ciertas cadenas cinemáticas especiales – aquellas con una muñeca esférica – permiten una separación cinemática.

MOTION CAPTURE – La captura de movimiento es una técnica para grabar digitalmente movimientos. Se utiliza en la industria del entretenimiento, en los deportes y en la medicina.

Comenzó como una herramienta de análisis fotogramético en investigaciones de biomecánicas en los 1970s y 1980s y se expandió a la educación, entrenamiento de deportes y, recientemente, a la animación por computadora para el cine y los videojuegos, al madurar la tecnología. Un actor utiliza marcadores cerca de cada articulación para identificar el movimiento de las posiciones o los ángulos entre marcas. Las marcas acústicas, inerciales, LED, magnéticas o de reflexión son rastreadas, óptimamente al menos con un índice de al menos el doble del movimiento deseado, a posiciones submilimétricas. El software de computadora de captura de movimiento graba las posiciones, los ángulos, las velocidades, aceleraciones e impulsos, proveyendo así una muy acertada aproximación digital del movimiento.

Existen diversos sistemas de captura de movimiento:

  • Sistemas ópticos: triangulan la posición en 3D de una marca entre dos o más cámaras calibradas para proveer proyecciones superpuestas. El rastrear un gran número de marcas o de múltiples actores o el expandir el área de captura se logra con la adición de más cámaras. Estos sistemas producen información con 3 grados de libertad para cada marca, y información rotacional debe ser inferida desde orientación relativa de tres o cuatro marcas; por ejemplo, las marcas para el hombro, el codo y la muñeca dado el ángulo del codo.
  • Sistema óptico pasivo: utilizan marcadores revestidos con material retro-reflexivo que se genera cerca de los lentes de las cámaras. La sensibilidad de las cámaras puede ser ajustada aprovechando el rango estrecho de la mayoría de las cámaras de la sensitividad de la luz para que tan sólo los marcadores brillantes sean capturados, ignorando la piel y la vestimenta.
  • Marca óptica activa por modulación: los sistemas de marcas activas pueden ser refinados todavía más al encender una marca en un momento o rastrear marcas múltiples en un periodo de tiempo y modulando la amplitud o el ancho de pulso para proveer una identificación para cada marca. Una resolución de sistemas modulados espaciales de 12 mega-píxeles muestra movimientos más sutiles que sistemas ópticos de 4 mega-píxeles puesto que tiene resoluciones temporal y espacial más altas. Los directores pueden ver la actuación de los actores en tiempo real y ver los resultados con un personaje generado por computadora. Los identificadores particulares de cada marca reducen las vueltas eliminando el canjeado de marcas y proveyendo información más limpia que otras tecnologías.
  • Marca óptica activa: los sistemas de marca activa óptica triangulan las posiciones iluminando un LED a la vez muy rápidamente o múltiples LEDs. El software sofisticado para identificarlos por sus posiciones relativas es similar a la navegación celestial. En vez de reflejar luz que se genera externamente, las marcas por sí mismas tienen la capacidad de emitir su luz propia. Ya que la ley de cuadrado invertido provee 1/4 de potencia al doble de la distancia, esto puede incrementar las distancias y el volumen de la captura.
  • Sistemas Internos: la tecnología de captura de movimiento interno se basa en sensores inerciales miniatura, modelos biomecánicos y algoritmos de fusión de sensores. Es un método barato y fácil de utilizar para la captura de movimiento de un cuerpo humano entero. La información de movimiento de los sensores inerciales (sistema de guía inercial) se transmite inalámbricamente a una PC o Laptop, donde el movimiento de cuerpo completo se graba o se ve. No hay cámaras externas, emisores o marcas que se necesiten para movimientos relativos, pero para posiciones absolutas, se utilizan sistemas ópticos o magnéticos externos. Los sistemas de captura de movimiento inerciales toman los 6 grados de libertad de movimiento de cuerpo de un humano en tiempo real.
  • Moción mecánica: estos sistemas rastrean ángulos de articulación del cuerpo directamente y con frecuencia se les llama sistemas de captura de movimiento de exoesqueleto, debido al modo en que los sensores se ajustan al cuerpo. El actor viste una estructura que parece ser un esqueleto sobre su cuerpo y conforme se mueven, también lo hacen las partes mecánicas articuladas, midiendo el movimiento relativo del actor. Los sistemas de captura de movimiento mecánicos son hechos en tiempo real, son relativamente baratos, libres de oclusión e inalámbricos que tiene un volumen de captura ilimitado.
  • Sistemas magnéticos: calculan la posición y la orientación por su flujo magnético relativo de tres bobinas ortogonales en el transmisor y cada receptor. La intensidad relativa de voltaje o corriente en las tres bobinas le permite a estos sistemas calcular la distancia y la orientación al trazar mapas meticulosos del volumen de rastreo. En particular, estas marcas no son ocluidas por objetos no metálicos, pero son susceptibles a interferencias magnéticas y eléctricas de objetos de metal en el ambiente, como barras de acero en el concreto o cableado, los cuales afectan el campo magnético y las fuentes eléctricas tales como monitores, luces, cables y computadoras. La respuesta del sensor no es lineal, especialmente hacia los extremos del área de captura. El cableado desde los sensores tiende a excluir movimientos extremos.
  • Captura de actuación: esta técnica difiere de la captura de movimiento estándar debido a la naturaleza interactiva de la actuación, capturando el cuerpo, las manos y las expresiones faciales al mismo tiempo, de modo opuesto a capturar datos para referencia de movimiento y editar los movimientos después. El actor generalmente interactúa con modelos de objetos en la escena. La información de actuación puede ser utilizada para animar diferentes actores.

2. Discuta acerca de las ventajas/desventajas de cada método y dé ejemplos (al menos dos) de situaciones en las que cada uno esté mejor aplicado.

KEY FRAME

Ventajas:

  • El animador tiene control total sobre la animación

Desventajas:

  • Es difícil establecer interacciones realistas.
  • Es difícil especificar ambientes dinámicos grandes.

Ejemplos: muy utilizado en animaciones por Flash; se utiliza en las caricaturas.

FORWARD KINEMATICS

Ventajas:

  • El movimiento del modelo se define directamente por el animador: no es necesario tomar en cuenta leyes físicas que podrían afectar al modelo, tal como lo sería la gravedad y las colisiones.

Desventajas:

  • Cada movimiento de cada componente debe ser cuidadosamente planeado.

Ejemplos: son ampliamente utilizadas en robótica; animaciones por computadora en 2D y 3D.

INVERSE KINEMATICS

Ventajas:

  • Tan sólo se requieren la posición inicial y final de un miembro para el flujo de la animación

Desventajas:

  • Los miembros del personaje hecho a computadora deben de tener límites antropomórficos razonables.

Ejemplos: al igual que con la cinemática directa, son ampliamente utilizadas en robótica; animaciones por computadora en 2D y 3D.

MOTION CAPTURE:

Ventajas:

  • Se obtienen resultados más rápidos, incluso de tiempo real.
  • La cantidad de trabajo no varía con la complejidad o la longitud de la actuación como cuando se utilizan técnicas tradicionales.
  • El movimiento complejo y las interacciones físicas realistas tales como la animación secundaria, el peso y el intercambio de fuerzas puede ser recreado más fácilmente en un modo físico muy acertado.
  • Permite que un actor desempeñe varios papeles dentro de un solo filme.

Desventajas:

  • Se requiere de hardware y programas específicos para obtener y procesar la información.
  • El costo del software, el equipo y el personal requeridos son muy prohibitivos para producciones pequeñas.
  • El sistema de captura puede tener requerimientos específicos para el espacio en el cual se opere.
  • Cuando ocurren problemas es a veces más fácil volver a filmar la escena que tratar de manipular los datos. Tan sólo unos pocos sistemas permiten ver la información en tiempo real para decidir si la toma necesita ser filmada otra vez.
  • El aplicar movimientos a caracteres cuadruplicados puede ser difícil.
  • La tecnología puede volverse obsoleta cada cierto tiempo debido a la invención de mejor software y técnicas.
  • Los resultados están limitados a lo que se puede actuar dentro del volumen de captura sin edición extra de la información.
  • El movimiento que no siga las leyes de la física generalmente no puede ser representado.
  • Las técnicas de animación tradicionales tales como énfasis añadido en la anticipación y el seguimiento, movimiento secundario o la manipulación de la forma del personaje con animación de aplastar y estirar no son, por lo general, aplicables.
  • Si el modelo de computadora tiene proporciones diferentes del sujeto de captura, pueden ocurrir artificios. Por ejemplo, si una caricatura tiene manos enormes, éstas pueden intersecarse de modo extraño con otra parte del cuerpo cuando el actor humano las pone muy cerca de su cuerpo.
  • La actuación real podría no traducirse al modelo de computadora como es deseado.

Ejemplos: se usa en la industria cinematográfica (por ejemplo: Final Fantasy: Spirits Within); en los videojuegos (por ejemplo: Soul Calibur).

3. Investigue qué método de animación usan los modelos de Quake y de Unreal Tournament. Busque código que utilizando OpenGL permita visualizar un modelo de éstos juegos y ejecútelo.

UNREAL TOURNAMENT

  • Utiliza un sistema de animación de esqueleto que soporta hasta cuatro influencias de hueso por vértice y esqueletos complejos.
  • Soporte LOD completo para mallas y huesos.
  • Herramienta de AnimSet Viewer para animaciones de organización y búsqueda y mallas:
    • Habilidad para añadir notificaciones específicas al juego en puntos específicos de la animación.
    • Herramientas para colocar ‘Sockets’ gráficamente en los huesos a ser usados para adjuntar objetos al esqueleto en el juego, completo con vista previa.
    • Habilidad ver previamente mallas revestidas basadas en el mismo esqueleto (por ejemplo, armadura).

· La animación es guiada por un “AnimTree” – un árbol de nodos de animación, que incluye:

o Controles mezclados, que desempeñan una mezcla de n modos entre objetos de animación anidada.

o Controles manejados por datos, encapsulando captura de movimiento o información de animación a mano.

o Controles de física, atando el motor de dinámicas de cuerpo rígido para un jugador de “muñeco de trapo” y animación NPC y respuesta física a impulsos.

o Controles de procedimiento de esqueleto, para características del juego, como el tener un la cabeza y los ojos del NPC rastrear al jugador que camina por un nivel.

o Una herramienta que resuelve cinemática inversa para calcular las posiciones del miembro basadas en localizaciones globales (por ejemplo, colocación de pies).

· AnimTree Editor le permite a los programadores o animadores crear mezclas complejas y ajustes de controles para tener una vista previa de ellos en tiempo real en el editor.

· Los tipos de nuevo nodo y de controlador pueden ser añadidos fácilmente para un control específico del juego.

· Herramientas de exportación para 3D Studio Max, Maya y XSI para traer mallas con peso, esqueletos y secuencias de animación al motor.

QUAKE

El motor de Quake (III) carga modelos en 3D en formato MD3. El formato utilizaba vértices de movimiento, contrario a la animación de esqueleto usada para guardar la animación. Las características de animación en el formato MD3 son superiores a las del formato MD2 usado en Quake II, porque un animador puede hacer que el número de key frames por segundo sea menor y mayor que 10 key frames por segundo. Esto permite animaciones más complejas que son menos “temblorosas” que los modelos de Quake II.

Otra característica importante del formato MD3 es que los modelos se descomponen en 3 partes diferentes ancladas la una a la otra. Típicamente, esto se usa para separar la cabeza, el torso y las piernas para que cada parte se pueda mover independientemente en bien de una animación de procedimiento. Cada parte del modelo tiene su propia serie de texturas.

Los modelos de personajes están iluminados y sombreados utilizando sombreado de Gouraud mientras que los niveles (almacenados en formatos BSP) se iluminan ya sea con mapas de luz o sombreado de Gouraud dependiendo de la preferencia del usuario. El motor es capaz de tomar luces de colores del alambrado de luces y aplicarlo a los modelos, resultando en una calidad de luz, la cual fue, para su época, muy avanzada.

El motor es capaz de reproducir tres tipos de sombras. Uno sólo coloca un círculo con extremos desvanecidos en los pies del personaje, mientras que las otras dos modalidades proyectan una sombra poligonal acertada en el piso. La diferencia entre las últimas dos modalidades es la dependencia de sombras negras, opacas y sólidas mientras que el otro tipo intenta (con éxito mezclado) proyectar sombras de volumen de sombra estarcido de profundidad en un medio transparente negro.

Otras características incluyen lenguajes de sombras de alto nivel y un método para desplegar niebla.

Fuentes:

  • http://en.wikipedia.org/wiki/Key_frame
  • http://www.cs.jhu.edu/~cohen/RendTech99/Lectures/Computer_Animation.color.pdf
http://www.unrealtechnology.com/html/technology/ue30.shtm

No hay comentarios.: