La interpolación de movimiento es una técnica de programación en la animación de personajes basada en datos que crea transiciones entre movimientos de ejemplo e interpola nuevos movimientos.
Los ejemplos de movimientos suelen crearse mediante fotogramas clave o captura de movimiento . Sin embargo, la creación de fotogramas clave requiere mucho trabajo y carece de variedad de movimiento, y ambos procesos dan como resultado movimientos que son difíciles de modificar. La interpolación de movimiento proporciona una alternativa mucho más rápida para crear nuevos movimientos mediante los mismos métodos. [ 1 ]
Implementación
Anteriormente, un método popular para simular el movimiento de un personaje consistía en almacenar diversos movimientos y elegir el más apropiado durante la ejecución. Desafortunadamente, las limitaciones de almacenamiento generaban resultados repetitivos o imperfectos. En cambio, con un cálculo adicional, se pueden crear nuevos movimientos deseados interpolando movimientos similares preexistentes. Mediante la interpolación, se pueden generar movimientos en tiempo real conservando el realismo de los ejemplos. [ 2 ]
Figura simulada
La figura simulada que se manipula para mostrar el movimiento se representa como una conexión jerárquica de enlaces rígidos mediante articulaciones. La raíz de la jerarquía tiene seis grados de libertad: tres grados para la posición de la figura y tres grados para su rotación. Esta representación es suficiente, ya que conociendo únicamente los grados de cada articulación y la raíz, la figura puede renderizarse en cualquier momento. [ 1 ]
Interpolación
Supongamos que para un movimiento deseado, "caminar", existen dos ejemplos de movimientos que transmiten diferentes estados de ánimo (por ejemplo, alegría y tristeza). Un movimiento de caminar alegre puede caracterizarse por una postura erguida de la figura simulada y una marcha enérgica y rápida. Un movimiento de caminar triste puede caracterizarse por una postura encorvada y una marcha lenta. [ 1 ]
Para interpolar estos movimientos, deben estar en forma canónica. Esto significa que sus tiempos deben ser genéricos para que los eventos estructurales significativos ocurran simultáneamente. Para ser más precisos, los dos ejemplos de movimientos de caminar pueden variar en el tiempo, ya que el caminar alegre se describe como rápido y el caminar triste como lento. Sin embargo, escalar sus duraciones para que sean equivalentes no es suficiente para la interpolación. Esto se debe a que el movimiento de caminar lento no es simplemente una elongación del movimiento de caminar alegre. Estos movimientos deben tener sus fotogramas clave del ciclo de caminar alineados, de modo que en un tiempo genérico dado, ambos movimientos hagan contacto con un punto hacia adelante. [ 1 ]
Para un movimiento de caminar neutro que no es ni alegre ni triste (o es igualmente alegre), se utilizan los grados de libertad correspondientes a los movimientos existentes para la interpolación. Como resultado, se crea una tupla de grados de libertad para una figura simulada que realiza un movimiento de caminar neutro en un momento genérico. Alternativamente, si el estado de ánimo de la figura simulada cambiara en tiempo real de alegre a triste, la interpolación estaría más influenciada por el movimiento de caminar alegre al comienzo de la transición. Hacia el final de la transición, la interpolación estaría más influenciada por el movimiento de caminar triste hasta que la figura simplemente realice el movimiento de caminar triste. [ 1 ]
Una transición entre dos tipos de movimiento (por ejemplo, caminar y correr) implica la interpolación de velocidades. Esto garantiza una transición suave. Una transición entre dos tipos de movimiento requiere un marco temporal genérico donde ambos tipos de movimiento compartan similitudes estructurales, o una serie de movimientos con periodos de transición que finalmente alcancen el tipo de movimiento deseado. [ 1 ]
Cinemática inversa
La cinemática inversa se puede utilizar con interpolación de movimiento en tiempo real para crear interacciones con un entorno virtual. Como se mencionó anteriormente, es necesario anotar ejemplos de movimientos con eventos estructurales significativos. Estas anotaciones permiten la reparametrización del tiempo a un tiempo genérico. Sin embargo, también se pueden usar para especificar periodos en los que se debe aplicar la cinemática inversa . Por ejemplo, durante un contacto puntual hacia adelante en un ciclo de marcha, se deben habilitar restricciones cinemáticas para que el pie de la figura simulada quede alineado con el suelo del entorno virtual. [ 1 ]
Búsqueda de mociones pertinentes
Para conjuntos grandes de ejemplos de movimientos, el proceso de encontrar resultados relevantes no es trivial. Por lo tanto, se han desarrollado métodos para extraer movimientos basándose en similitudes lógicas y combinar estos resultados en un espacio continuo y ramificado de movimientos que se puede buscar. [ 3 ]
Referencias
- 1 2 3 4 5 6 7 Rose, Charles (septiembre de 1998). "Verbos y adverbios: interpolación de movimiento multidimensional" . www.vuse.vanderbilt.edu . Recuperado el 14 de diciembre de 2016 .
- ↑ Wiley, Douglas (noviembre de 1997). "Síntesis por interpolación del movimiento de figuras articuladas" (PDF) . www.computer.org . Consultado el 14 de diciembre de 2016 .
- ↑ Kovar, Lucas (2004). "Parametrización de movimientos en grandes conjuntos de datos" . research.cs.wisc.edu/ . Consultado el 14 de diciembre de 2016 .
- Técnicas de animación
- Interpolación