El término de animación proviene del griego Anemos, que evolucionó a Animus en latín que significa "dar aliento, dar vida". Podemos definir la etapa de animación como la generación, almacenamiento y presentación de imágenes que, en sucesión rápida, producen sensación de movimiento. Esta definición esta muy ligada con la tecnología de visualización que se emplea, y que se basa en el descubrimiento de Peter Marque Roget en 1824 del fenómeno de la Persistencia de la Visión en el sistema visual del ser humano.

Sobre POV-Ray: El famoso motor de render gratuito multiplataforma POV-Ray POV-Ray recibe el nombre del fenómeno de la persistencia de la visión, POV = Persistence Of Vision. En Blender existen plugins para exportar las escenas al formato de POV-Ray. En este curso no trabajaremos con POV-Ray por existir otros motores de render libres más avanzados.

El ojo retiene las imágenes vistas unos 40 ms. Por este "defecto" del sistema visual, percibimos como movimiento continuo una sucesión de imágenes (estaticas) que se muestren a más de 20Hz. Cada una de estas imágenes en cine se denominan Fotograma y en gráficos por computador se denominan Frame (Marco). Por ejemplo, el estándar de video PAL (europeo) trabaja a 25fps (25 frames por segundo), y el NTSC (americano) a 30fps. Veremos más adelante cómo especificar el número de frames por segundo de un video en Blender. El video que se muestra a continuación muestra los orígenes del descubrimiento del fenómeno de la persistencia de la visión, claramente anterior al documento de Peter Marque Rogert de inicios del siglo XIX.


Las primeras películas de animación se basaron en la técnica conocida como Stop Motion, que consiste en utilizar una cámara (de fotografías o de video), grabar un instante de tiempo, modificar la posición de los elementos que intervienen y volver a grabar. La primera película de animación fue realizada en 1906 por John Stuart Blackton dibujando en una pizarra la famosa Humorous Phase of Funny Faces. En 1914 se proyectó en los cines estadounidenses la primera película de animación Gertie el Dinosaurio, creada por Windsor McCay, con un absoluto éxito de público. Desde ahí, la creación de empresas como Disney, Warner Brothers o Pixar han explotado este filón comercial que nos proporciona tantas obras de calidad.


En los siguientes apartados estudiaremos los elementos básicos del interfaz de Blender para trabajar con animaciones.
Frame actual y Frames Clave

Como hemos comentado, la animación se basa en el trabajo con fotogramas (frames). Blender incorpora un control básico para moverse por los fotogramas de una escena en la cabecera de la ventana de botones que muestra el número de fotograma actual (en la Figura 1 el frame actual es el número 5). Podemos movernos por los frames de la escena dando un valor numérico a ese control, pinchando y arrastrando el control con o mediante los siguientes atajos de teclado: Cursor Arriba Incrementa en 10 el frame actual Cursor Abajo Decrementa en 10 el frame actual Cursor Derecha Incrementa en 1 el frame actual Cursor Izquierda Decrementa en 1 el frame actual. El número de frame actual también puede verse en la ventana 3D al lado del nombre del objeto. Por ejemplo, en la Figura 2 a la izquierda del nombre del objeto (en este caso el objeto se llama Cubo) aparece entre paréntesis el número de frame actual.



Figura 01.
Contador del frame actual.


Cuando nos situamos en un fotograma podemos modificar las propiedades de un objeto (por ejemplo, su posición) y establecer su valor en lo que se denomina Frame Clave. No hay que especificar la posición del objeto en todos los frames de la animación, sólo en los momentos donde haya una variación importante. Por ejemplo, si queremos que un objeto se mueva de un punto a otro, habrá que establecer su posición inicial en un frame clave, avanzamos hasta el frame final y establecemos de nuevo su posición. Blender calculara las posiciones intermedías automáticamente. Veremos en la siguiente sección el interfaz para trabajar con estas curvas de animación.

Así, en la Figura 2 se muestra un ejemplo básico de trabajo con framese clave. Nos situamos en el primer frame y desplazamos el cubo a su posición inicial. Hecho esto, pulsamos I (de Insert) para establecer un frame clave. Elegimos la propiedad de Loc Localización (en la siguiente sección estudiaremos las propiedades sobre las que se pueden añadir fotogramas clave). Cuando un frame es clave, el nombre del objeto y el número de frame en la ventana 3D (al lado del sistema de coordenadas) aparece de color amarillo. Ahora avanzamos hasta el frame 5, movemos el cubo y añadimos de nuevo un frame clave I respecto de Loc. Si ahora cambiamos el número de frame comprobaremos que el cubo se deplaza en los frames intermedios (2, 3 y 4) cambiando su posición de la inicial a la final.
Hemos visto lo más básico para generar animaciones mediante el uso de Frames Clave y el posicionamiento en el frame actual. Veamos a continuación las opciones básicas de generación de videos en Blender.



Figura 02. Uso de Frames Clave.


Generación de vídeos

Las opciones para la generación de videos se encuentran en el grupo de botones de render . En la Figura 3 se muestran las principales pestañas de este grupo (la pestaña Render aparece plegada (letra R) para dejar sitio al resto de elementos). El primer campo de la pestaña Output indica el nombre del directorio donde se generara el video resultado de la animación (en el caso de la Figura 1, se guardará dentro del directorio actual - donde se haya guardado el fichero .blend, y se llamara de prefijo nombreanim). Para indicar a Blender que el resultado se guarde en el mismo directorio donde se encuentre el fichero .blend especificaremos simplemente en ese campo //.



Figura 03.
Opciones de animación del grupo de botones de Render.



En la pestaña Anim aparecen varios controles importantes. El botón principal ANIM sirve para lanzar el proceso de render de cada uno de los frames de la animación (también se puede invocar con el atajo de teclado Control F12). El intervalo de frames se indica en los campos inferiores de la pestaña Sta: (Inicio) y End: (Fin). El campo Step sirva para indicar si queremos saltarnos frames o generarlos todos (generalmente Step debe valer 1). En el caso de la Figura 3 se generaran todos los frames entre el 1 y el 250. Los botones azules de esta pestaña Do Sequence y Do Composite los utilizaremos en la siguiente sesión del curso. Para todo el trabajo de esta sesión hay que dejarlos desactivados. El botón PLAY permite visualizar el resultado de una animación una vez que ha sido generada. Si se pulsa PLAY, en la ventana de visualización del resultado se puede avanzar y retroceder el frame actual mediante los cursores Cursor Izquierdo y Cursor Derecho.


En la pestaña Format se puede especificar el número de frames por segundo (campo FPS), y elegir el codec de video en la lista desplegable. Si se especifica un formato de video (como AVI, o codificación mediante FFMpeg), Blender creara el fichero de video. Si se indica un formato de imagen (como JPEG, PNG, ...) Blender generara una imagen por cada frame del video en un fichero independiente. En el caso de elegir FFMpeg (como en el caso de la Figura 3), aparecerán dos nuevas pestañas Video y Audio. En la pestaña de Audio se puede especificar un fichero de sonido que se multiplexara con el video renderizado. La pestaña de Video (ver Figura 4) permite elegir entre el Codec de video a usar, la tasa de bits Bitrate (a mayor tasa de bits, mejor calidad del video pero mayor tamaño del fichero resultante). En la caja de texto inferior (al lado del botón Add) es posible especificar parámetros adicionales de línea de comandos a FFMpeg. En muchas ocasiones resulta interesante emplear las configuraciones estándar para algunos formatos de salida típicos (lista desplegable de Preset), como DVD, VCD, etc... que escojen el formato y el nivel de compresión automáticamente (además de realizar los cambios en la resolución de salida para que el video se ajuste al formato estándar).



Figura 04. Opciones FFMpeg.

Ventana Timeline

La ventana de la línea del tiempo permite acceder a varios atajos muy útiles en animación. Normalmente esta ventana se utiliza maximizada en horizontal, ocupando poco espacio en vertical (ver Figura 5). En el eje horizontal se representan los frames de la animación. Mediante podemos situarnos en cualquier frame. Desplazando la rueda del ratón se hace "zoom" sobre los frames, permitiendo tener una vista más detallada de alguna parte. El frame actual aparece dibujado mediante una línea verde, y los frames clave con líneas amarillas.




Figura 05.
Ventana TimeLine.



En la cabecera de esta ventana (Figura 5) se encuentra un acceso rápido para establecer el frame inicial y el final de la animación Start: y End: cuyo comportamiento es igual a los parámetros Sta: y End: vistos en la pestaña Anim (ver Figura 2). A continuación se encuentra un grupo de botones con la siguiente funcionalidad: establece como frame actual el primer frame del intervalo (el indicado en Start, retrocede hasta el anterior frame clave, reproduce la animación (equivalente a Alt Shift A), avanza hasta el siguiente frame clave, establece como frame actual el último frame del intervalo (el indicado en End. Los iconos de las llaves permiten añadir frames clave (también mediante el atajo de teclado I) y eliminar frames clave (también mediante el atajo de teclado Alt I).


En la edición de animaciones complejas es buena practica mantener algún es quema de nombrado de dónde empieza cada acción. Para ello se pueden utilizar marcadores. Los marcadores se pueden insertar en la ventana TimeLine y sus nombres serán visibles en otras ventanas relacionadas con la animación (como veremos más adelante). Para añadir un marcador se puede realizar desde el menú de la cabecera de la ventana Frame/ Add Marker (o mediante el atajo M). Establecemos el nombre del marcador seleccionandolo con en la opción del menú Frame/ Name Marker (o mediante Control M). Algunos atajos siguen el convenio estándar de Blender: para mover un marcador se realiza con G, para duplicarlo Shift D y para borrarlo X.


Aliansing Temporal


Hemos hablado de cómo el botón OSA de la pestaña Render de los botones de permite eliminar el efecto de aliasing. El efecto de aliasing es debido a la necesidad de representar en un espacio discreto (una pantalla formada por píxeles) información del mundo continua. En animación existe igualmente un fenómeno de aliasing pero temporal, debido a que se discretiza en una serie de frames el movimimento continuo. Dependiendo de cómo se tomen estos intervalos regulares podemos observar curiosos fenómenos de aliasing temporal. Por ejemplo, ¿qué ocurre si grabamos la posición del segundero de un reloj tomando intervalos cada 10 segundos? Lógicamente, el segundero avanzaría 10 veces más rápido. ¿Y si los tomamos cada 30 segundos? El segundero definiría una línea recta, apuntado alternativamente a posiciones opuestas. ¿Y si el intervalo es cada 59 segundos? ¡El segundero giraría en sentido contrario!. Este fenómeno puede apreciarse también en algunas retransmisiones deportivas como ciclismo, donde las ruedas de las bicicletas parecen girar en sentido contrario.


Para mitigar el aliasing temporal se puede indicar a Blender que realice los cálculos del Motion Blur (desenfoque de movimiento) de forma que representa en un fotograma varias posiciones del objeto en movimiento difuminando la trayectoria. El botón de MBLUR se encuentra en la misma pestaña que OSA (Render, en grupo de botones ). El parámetro Bf: indica la cantidad de difuminado que se aplicara al Motion Blur. En las Figuras 6 y 7 se puede ver el resultado de aplicar este efecto en la misma animación.


Aunque añade suavidad en la reproducción de las animaciones, el proceso de calculo del desenfoque de movimiento es computacionalmente costoso.Por esta razón principalmente deberemos utilizar este efecto sólo en las partes de la animación donde sea realmente necesario (por ejemplo, en la representación de movimientos que ocurran muy rápidamente, como en las aspas de un helicóptero, ruedas de vehículo...).



Figura 06. Sin Motion Blur.



Figura 07. Con Motion Blur (Bf: 1.0).



Información sobre Objetos

En muchas ocasiones interesa mostrar en la ventana 3D información sobre el sistema de coordenadas del objeto, su nombre o simplemente forzar a que su representación sea de tipo alambre. Esta información puede activarse en la pestaña Draw del grupo de botones de objeto (ver Figura . En DrawType elegimos el modo fijo de representación para ese objeto entre Sombreado Shaded, Sólido Solid, Alambre Wire o caja de contorno Bounds. Los botones de la derecha permiten ofrecer información adicional como el nombre Name o su sistema de coordenadas local Axis, muy interesante en muchas ocasiones.



Figura 08. Pestaña Draw.