El término de Animación por computador no se refiere únicamente al movimiento, también a cambios de los objetos y escenas en cuanto a la forma, el color, la estructura, la textura, la luz, la posición de la cámara, etc.
Animación convencional y asistida por ordenador
- Convencional: Key-frames, cuadros clave con posiciones "extremas" de los objetos o personajes. A partir de ellos se dibujan los cuadros intermedios.
- Asistida: Ayuda a la animación convencional (filtrado, pintado, zooms, etc.)
- Interpolación: Dados dos frames separados en el tiempo, se deducen los que hay entre ellos. No es un problema trivial, depende del estado anterior.
- Métodos lineal y no lineal (cuadrático).
- Interpolación de la posición, teniendo en cuenta la anterior y la trayectoria.
- Interpolación de la orientación. El orden de giro de los ejes es importante. La forma de calularla puede ser adecuada para objetos o personajes, pero no para posiciones de cámara (pueden dar como resultado un horizonte inclinado).
- Efectos simples: Pueden calcularse en tiempo real.
- Rotación de colores, mediante uso de look-up tables.
- Rotación de páginas de gráficos.
- Sprites.
- Lenguajes de animación
- Listas lineales: Listas de acciones sobre objetos. Secuencial, independiente del proceso de renderización.
- Listas de propósito general: Más parecido a un programa. Permite usar variables, estructuras de control, llamadas a funciones, etc. Más dificil, pero más potente que las listas.
- Listas gráficas: Permiten visualizar la animación mientras se trabaja con ella, al contrario que en los métodos anteriores que son como 'guiones'.
- Métodos de control
- Independientes del lenguaje de animación usado.
- Distintos niveles de detalle: Alto nivel ("camina hacia aquí") Vs. bajo nivel (todas las acciones individuales).
- Control explícito: Se especifica todo cambio necesario: posición, rotación, key-frames, interpolaciones, trayectorias, etc. Introducir un cambio en una secuencia puede ser cosotos si otras dependen de ella.
- Control procedimental: Los diferentes elementos se "comunican" entre sí (mediante procedimientos) haciendo más sencillo el proceso de animación si son interdependientes. El inconveniente es que hay que escribir un programa para ello.
- Sistemas de restricciones: Se definen unas reglas (restricciones) que ha de cumplir el modelo que se anima. Pueden ser simples, abiertas (hay que definirlas) o complejas (reglas físicas, dinámica de materiales, etc.)
- Seguimiento de acción en directo: Viene a ser el motion-capture que se hace actualmente en muchas películas, como el personaje de Gollum en El Señor de los Anillos. Se marcan puntos clave (las articulaciones) en personajes reales y se graba, y luego se extrapola e interpola con el sintético.
- Actores:Similar al procedimental, generalizándo a objetos software. Cada uno tiene un comportamiento (método, función) que puede influir en otros objetos (paso de mensajes). A cada objeto se le denomina 'actor' y al método que lo gobierna su 'comportamiento'.
- Dinámica y cinemática: La cinemática se ocupa de la posición y velocidad de los cuerpos. La dinámica de las leyes físicas que gobiernan la cinemática (gravedad, fuerza, momento, etc.).
- Directa: A partir de la posición de un objeto y las fuerzas que actúan en él, se calcula su posición final.
- Inversa: Dad una posición [final], calcular los movimientos y fuerzas necesarios para llegar a ella. Pueden existir múltiples soluciones y es más dificil de calcular (necesario el uso de métodos numéricos) especialmente si existen restricciones (por ejemplo en robótica).
- Basada en la física: Se usan las leyes de la física para calcular los movimientos. Se definen ecuaciones en derivadas parciales que se resuelven con métodos numéricos. La complejidad aumenta mucho si los propios objetos también generan fuerzas. Puede llegar a ser una mezcla de todos los métodos anteriores (procedimental, actores, restricciones, cinemático, etc.). Las ecuaciones pueden contener cientos de variables interdependientes, lo que implica una gran complejidad.
- Aplastar y estirar el objeto para dar dinamismo y mostrar sus propiedades (por ejemplo, una bola de goma vs. una de acero).
- Movimientos suaves de cámara y de transición entre escenas y fotogramas, para ayudar a la interpolación.
- Escenarios. La cámara ha de centrarse en la parte de escenario más "interesante", es decir, donde está sucediendo la acción. Si se dan simultaneamente varias puede no ser posible centrarse en una sola, pero puede que se pueda dividir la pantalla y seguirlas.
- Muchas otras..., como que a veces lo que se calcula "no queda bien" a pesar de ser correcto técnicamente, hay que revisarlo siempre.
Reglas básicas de la animación
En el mundo de la animación en general no existen las "verdades absolutas". Todo lo que se sabe se ha ido aprendiendo de la experiencia desde que se creó el primer dibujo animado en 1925. La lista que viene a continuación no es ni completa ni exhaustiva:
Problemas propios de la animación
Hay muchos, pero destaca el "aliasing temporal", que es por ejemplo el efecto que se produce cuando se filman las ruedas de un tren en movimiento, que en algunos momentos parece que ruedan hacia atrás. Las soluciones pasan por aumentar el número de frames por segundo de la animación, usar imágenes entrelazadas, o interpolar el tiempo cuando se va a reproducir a más velocidad que la que se ha grabado.
Otro problema tiene más que ver con cuestiones de eficiencia, ya que generalmente en una escena la imagen cambia muy poco entre dos frames consecutivos. Para acelerar el proceso habría que calcular solo la parte que cambia, y teniendo en cuenta lo mencionado en el apartado anterior, puede no ser necesario aumentar mucho los frames por segundo si hay poco movimiento entre dos key-frames.
