Upload
phammien
View
213
Download
0
Embed Size (px)
Citation preview
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 1
Contenido
FIGURAS .......................................................................................................................................................... 2
ESCENARIO ...................................................................................................................................................... 4
ANIMACIONES ................................................................................................................................................. 7
CÁMARAS ........................................................................................................................................................ 8
ILUMINACION .................................................................................................................................................. 8
RENDER ........................................................................................................................................................... 8
MONTAJE ......................................................................................................................................................... 9
PROBLEMAS Y CONSEJOS .............................................................................................................................. 10
ANEXOS ......................................................................................................................................................... 13
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 2
En el presente documento se explica la parte técnica de la elaboración del proyecto. Se recogen
explicaciones de las principales novedades introducidas y una explicación de cada fase de diseño
del mismo: modelado de figuras, del escenario, creación de las animaciones, movimientos de
cámara, iluminación, construcción de la película y montaje del resultado final. Además se incluye
el apartado Problemas y consejos, en donde se exponen los principales problemas que se han
tenido durante la elaboración y se recogen una serie de consejos y soluciones con el fin de
ahorrar tiempo y sufrimiento frente al ordenador de los futuros alumnos que desean realizar un
proyecto final de similares características.
FIGURAS Ganso: se ha utilizado este animal como peón de ajedrez. En el momento inicial hay tres
gansos en escena. El cuerpo del animal se ha obtenido de una página de modelos 3D,
posteriormente se ha texturado e introducido el esqueleto para su animación.
Cerdo: representa la torre. Hay uno en escena. El modelo se obtuvo de una página de
internet, que luego se referenciará en el apartado de fuentes, y posteriormente se
texturó y se animó.
Caballo: representa el caballo del ajedrez. Hay uno en escena. El modelo es
integramente elaboración propia.
Oso: representa el rey del ajedrez. Hay dos en escena, uno de cada equipo. Se descargó
de internet un modelo similar, en el que hubo que realizar unos ajustes de tamaño y
escala, texturar y animar.
Las crines del caballo se han realizado mediante sistema de partículas, este apartado aparece
explicado en un videotutorial referenciado en el apartado Fuentes.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 3
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 4
ESCENARIO El escenario es un tablero de ajedrez de 8x8 celdas en medio de un paisaje montañoso, se ha
hecho así inspirados en los paisajes de Final Fantasy IX, donde las luchas trascurrían en territorio
neutral, alejados de la civilización.
Para las celdas se ha empleado una textura para cada color, de modo que 32 son de piedra y
otras 32 de césped, para el cual en primer momento se utilizó césped a partir del uso de
partículas, pero a la hora de renderizar resultó ser una carga computacional demasiado grande y
se decidió prescindir de él. Se entrega un fichero .blend con el césped que se pretendía utilizar
para que pueda ser usado por futuros alumnos, que dispongan de computadoras más potentes.
A continuación se muestran extractos del césped empleado, del césped en alta definición
descartado y del material rocoso usado para las otras 32 casillas.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 5
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 6
Las montañas se han generado a partir de un Addon, que es un generador de montañas
aleatorio, incluido en el propio Blender, que ha resultado ser una herramienta muy útil y sencilla
de manejar con la que crear un paisaje montañoso muy real y que no supone un excesivo
tiempo de rendering. Funciona de la siguiente manera: se activa como se muestra en la figura, y
una vez hecho esto ya se pueden crean montañas en el menú Mayus+D, como si te una figura
normal se tratase.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 7
Para crear el cielo se ha optado por la generación de una semiesfera gigante que envuelve todo
el escenario y se ha texturado mediante UVMap con una foto de un cielo, descargada de una
página muy interesante en este aspecto, ya que contiene multitud de fotos de cielos,
panorámicas en las que se permite modificar ciertas características como la exposición o el
contraste. En el apartado Fuentes se incluye el link.
ANIMACIONES Ha sido necesario diseñar tres animaciones básicas para cada animal, que son las de andar,
atacar y sufrir ataque. En el oso no ha sido necesaria implementar esta última ya que no es
atacado por nadie.
Un vez creadas las animaciones en el Action Editor, para combinarlas y formar la película se ha
empleado el NLA Editor, Non Linear Animation Editor. Desde esta herramienta a parte de crear
la secuencia se pueden cambiar las propiedades de la animación, como en qué frame empieza o
termina, que no se realice entera, o incluso escalarla para que dure más o menos tiempo que el
que habíamos establecido en el Action Editor, con la consecuente variación de velocidad.
Además desde este editor se pueden combinar varias animaciones de forma que si se tiene una
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 8
animación de moverse y otra de andar pueden combinarse para que ocurran a la vez mediante
un control de influencia.
CÁMARAS Las cámaras en Blender se animan de la misma manera que cualquier objeto. Se ha optado por
emplear keyframes y el Curve Editor, ya que es un mecanismo sencillo con el que se consiguen
unos resultados muy satisfactorios.
Blender incorpora multitud de presets de cámaras comerciales Nikon, Canon y otras marcas. En
el proyecto se ha empleado el preset de cámara estándar de Blender, que presenta una buena
combinación de colores y un contraste idóneo a lo que se quiere representar.
Se han empleado dos cámaras, una para sacar un plano inicial de todo el entorno del escenario y
otra para cubrir la lucha entre las piezas.
ILUMINACION En la iluminación puede estar la clave del éxito de la película. Es complicado conseguir una
iluminación realista, pero debe ser entendida como un mecanismo con el que resaltar las
virtudes del proyecto y disimular los defectos.
En este proyecto se han empleado dos fuentes de iluminación tipo Sun con las que dar una
iluminación uniforme a la escena, y una fuente tipo Spot que va colocada detrás de la cámara,
con la que se resaltan los objetos que están dentro de plano.
RENDER Los parámetros del renderizado han sido un aspecto delicado debido a las limitaciones que se
habían mostrado en la pruebas hechas a lo largo del proyecto, había que conseguir una calidad
óptima en un tiempo de render razonable. Desgraciadamente esto no se ha conseguido porque
con una máquina standart (Intel Pentium i3, 4GB RAM y tarjeta gráfica no muy potente (coste 80
euros)) el tiempo de render fue de 27 horas. Utilizando la siguiente configuración:
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 9
Probablemente se pudo prescindir de ese nivel de antialiasing y seleccionar solo 8.
Una nota para futuros estudiantes es que existen unos drivers en fase beta que pueden ser
utilizadas para ciertos modelos de tarjetas gráficas de forma que una vez instalados la
renderización la realicen los núcleos de la tarjeta gráfica y no el procesador de la placa base.
MONTAJE Debido a que el secuenciador de audio de Blender no está muy desarrollado actualmente se
recurrió a hacer el montaje con el programa Adobe Premiere Pro CS6, desde el cual se
añadieron los rótulos, se juntaron las dos tomas de la cámara, se añadieron transiciones entre
las secuencias de video y se añadió y sincronizó el audio.
Este programa se puede utilizar gratuitamente en una demo de 30 días y en un nivel básico es
muy sencillo de usar, por ello lo recomendamos para futuros estudiantes ya que es una forma
de ahorrarse quebraderos de cabeza con el secuenciador de audio de Blender y con el añadido
de rótulos en el propio Blender.
A continuación se muestra una captura del programa cuando se utilizó.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 10
PROBLEMAS Y CONSEJOS A lo largo del proyecto se han presentado multitud de problemas que han requerido la
búsqueda de información por la web para subsanarlos o incluso variar algunas de las ideas
iniciales sobre el resultado final. Aquí se exponen los más importantes, así como algunos
consejos para aquellos futuros alumnos que quieran realizar un proyecto de animación con
Blender Render.
En cuanto a las figuras cabe destacar la complicación de animar los animales de 4 patas,
como el cerdo y el caballo. El que más problemas causó fue el caballo, se cree que
porque a la hora de modelarlo no se usó la herramienta mirror, por lo que se
recomienda encarecidamente su uso para modelar figuras que posean simetría
longitudinal (la más común).
También ha sido complicado texturar las figuras con fotografías reales, porque hay que
tener en cuenta la geometría del modelo y hacer una selección muy precisa de las caras
a las que aplicar la textura. Aunque ciertamente merece la pena invertir tiempo en este
proceso porque los resultados pueden ser muy reales.
Respecto a las partículas empleadas para la realización del pelo del caballo surgió un
problema que consistía en que dichas partículas se quedaban ancladas en el espacio,
pese a estar emparentadas a la malla del animal y por tanto al desplazar el animal, el
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 11
pelo que quedaba en su posición original. La causa era una incorrecta jerarquía de los
modificadores.
La solución es subir a las primeras posiciones de jerarquía de modificadores el esqueleto
del caballo.
La cámara ya se ha dicho que tiene una animación muy intuitiva y un fácil manejo. Cabe
resaltar el parámetro Clipping con el que se regula la profundidad de campo, es decir, la
profundidad espacial que recoge la cámara.
Para el Skinning (asociación de esqueleto y malla) dependiendo de la complejidad del
animal se han empleado dos técnicas, por Envelops y por Vertex Groups.
La técnica de los Envelops consiste en que asignar a cada hueso un trozo de malla de
forma semiautomática. Esto es, cada hueso posee un “envoltura” cuyo tamaño es
ajustable por el usuario de forma fácil en Modo Edición, menú N, Envelope. El problema
de esta herramienta es que las envolturas tienen forma cilíndrica o como mucho cónica,
por lo que si se trata de emparentar un modelo con muchas curvas o mucho detalle esta
herramienta puede resultar muy problemática ya que no conseguiremos asignar el trozo
de malla exacto al hueso correspondiente.
La técnica de los Vertex Groups, aunque más laboriosa, garantiza la asociación de la
parte exacta de la malla al hueso correspondiente. Esta técnica está perfectamente
explicada en el tutorial de clase 05_Animacion_Basica.pdf . Cabe destacar que Blender
posee unos comandos de selección muy sencillos y efectivos, que permiten seleccionar
la parte de la malla que nos interesa (ya sea en forma de vértices, caras o aristas) de
forma eficaz; los principales son:
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 12
L sobre un trozo de la malla: Blender identifica automáticamente in trozo de la
malla que comparta unas características geométricas y lo selecciona.
B + click izquierdo y arrastrar: permite hacer una selección cuadrada de un trozo
de la malla.
C: esta es sin duda la herramienta más útil y eficaz, permite seleccionar trozos
de la malla a partir de un círculo de selección, cuyo tamaño se ajusta con la
rueda del ratón. La selección se puede hacer por pasos, de modo que se van
sumando trozos de malla a la selección hasta que se pulse la tecla Escape.
Además pulsando al botón de la rueda central (presionando la rueda hacia
abajo) permita “restar” trozos de malla a la selección.
Ctrl + I: selección inversa: se seleccionan los trozos de la malla que no estuvieran
seleccionados (resaltados en color naranja) en ese momento.
Esta técnica de skinning es la predominante en el proyecto, ya que pese a necesitar más
tiempo para su realización garantiza un correcto emparentado y que no aparezcan
problemas de trozos de malla asociados a varios huesos que provocan curvas
indeseadas, o trozos directamente no emparentados, lo que provoca que queden
anclados en el espacio y no se mueva toda la malla uniformemente.
Blender permite asignar unos pesos a cada vertex groups, con lo que se varía su
ponderación. En nuestro caso se ha mantenido el peso estándar para todos los grupos
de vértices, 1, esto es porque al asignar la malla al esqueleto se ha tenido un cuidado
extraordinario de no asignar un mismo vértice a varios grupos de vértices.
En el documento Fuentes se adjuntan dos tutoriales que profundizan en el uso de Vertex
Groups y del modificador de pesos de los vértices.
Como se ha dicho, para la formación de la película se ha empleado el Non Linear
Animation Editor, una herramienta con un enorme potencial que permite elaborar las
secuencias de animación de acuerdo al criterio y a los gustos del animador. Así mismo se
ha comprobado su complejidad y la falta de información e instrucciones de uso de la
misma tanto en los tutoriales disponibles en la asignatura como en internet. Por ello
sería interesante contar con una bibliografía en este respecto en la que basarse y
aprender a manejar el NLA ya que es el corazón de la película de animación - no se ha
encontrado otra herramienta de Blender con la que se pueda hacer una secuencia de
acciones.
Un problema destacable relacionado con el NLA ha sido conseguir que los animales
anden, el mecanismo para conseguir esto es combinar la animación de andar
(movimientos de piernas y brazos) con un movimiento horizontal. El problema que ha
surgido es que esa combinación se realiza mediante influencias de animaciones, pero al
dar más influencia a andar el movimiento horizontal se reduce, por su influencia menor,
de manera que es muy complicado conseguir ajustar todos los movimientos.
La principal limitación del proyecto y en función de la cual se ha tenido que ajustar el
contenido y el nivel de detalle del mismo es el tiempo de rendering.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 13
Toda herramienta o diseño que se introduzca el .blend hace que el rendering del
proyecto final se incremente. Hay que ser muy conservador en este aspecto, sobre todo
si no se dispone de un ordenador con un megaprocesador, una memoria RAM de
tamaño anormal o una tarjeta gráfica de extraordinaria potencia.
Por este aspecto se ha tenido que recortar el tiempo del corto inicialmente previsto, así
como el número de piezas en el tablero, o el nivel de detalle del escenario, como por
ejemplo el césped, que tras conseguir una textura que se asemejaba con enorme
fidelidad a un césped real, se ha renunciado a su inclusión en la escena tras comprobar
que en los ordenadores donde se ha trabajado, un sola celda de césped tardaba del
orden de 5 minutos en reenderizarse.
Tras esto se aconseja a los futuros alumnos que sean muy conservadores en su proyecto
si no quieren tener que modificarlo y eliminar cosas en las que hayan empleado muchas
horas de trabajo por unas limitaciones impuestas por el ordenador y los requerimientos
computacionales de Blender.
ANEXOS A continuación se van a mostrar dos breves tutoriales sobre el funcionamiento básico
del addon Landscape y el NLA Editor que anteriormente se mencionaron:
Addon Landscape: Aunque en el proyecto se han utilizado los parámetros básicos, este
addon tiene muchísimas posibilidades para la creación de escenario. Sólo se podrá tener
acceso a esos parámetros si una vez añadida la malla del Landscpape esta no se ha
escalado, rotado o movido.
El acceso a esos parámetros se hace desde la ventana en 3D pulsando la letra T, donde
saldrá el menú desplegable con el siguiente ménu.
Desde este menú se pueden seleccionar distintos parámetros.
Por defecto es recomendable dejar pulsado el cuadro de selección
Mesh update, ya que de esta forma se podrán ver los cambios
realizados en tiempo real.
Si queremos que sea la malla base sea una esfera en vez de un
plano habrá que pulsar el cuadro de selección Sphere.
Si queremos que las esquinas sean redondeadas, para que sean
unas montañas tipo colina es recomendable pulsar Smooth.
El tamaño de la malla y el numero de subdivisiones que se quiere
de esta, se selecciona con los menus Subdivisions y Mesh Size ,
hay que destacar que el numero de subdivisiones que se elijan al
final condicionará el tiempo de rendering ya que implicará más
polígonos.
El tipo de terreno que queremos se puede elegir mediante el el
menú desplegable que aparece en la figura, desde ahí podemos
elegir un terreno montañoso, o por ejemplo un barranco si
elegimos el tipo Shattered_hTerrain, realmente lo que se está
eligiendo es el tipo de ruido utilizado.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 14
El parámetro Basis nos permite elegir el tipo de base de ruido
que se utiliza para la generación del terreno, y una vez elegido ya
podemos elegir la cantidad de ruido que utilizamos para esa base
( con Noise Size).
Los demás parámetro (Random Seed, Depth, Dimension y
Lacunarity) se utilizan para personalizar nuestro terreno, y lo
mejor es probar distintas combinaciones hasta dar con la que
más nos convenga.
Los últimos parámetros (Height, offset, Plateau, Sealevel) se
utilizan para configurar distintos parámetros respecto a la altura
del terreno.
Por último el menú desplegable Falloff, realiza ajustes respecto a
la caída del terreno, por ejemplo si se elige caída tipo X, se verá
que la montaña se genera en dirección del eje Y, es decir que
existe mucha mayor caída en el eje X. En las figuras de abajo se
pueden ver dos capturas con las caídas en el eje X e Y.
Aunque en el proyecto no se ha utilizado esta herramienta utilizando todos estos
parámetro porque no procedía en ese caso, se ve que utilizando esta herramienta
correcta y precisa y realizando una texturación posterior buena, se pueden conseguir
efectos muy realistas como muestra la imagen siguiente, encontrada en internet.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 15
NLA Editor: A continuación se muestra un breve tutorial de cómo hacer que se usen dos
animaciones simultaneas en un objeto, utilizando al Ganso usado en el proyecto y
basándonos en los conocimientos adquiridos del Tutorial 10 de
Sandra, que se puede encontrar en el servidor de la asignatura, y los adquiridos de
manera autodidacta en el diseño del proyecto.
Partimos de que tenemos ya hechas las dos animaciones que queremos que se
reproduzcan simultáneamente, en nuestro caso la animación Andar, en la que el ganso
mueve las patas como si estuviera moviéndose y la animación Moverse en la que el
ganso es trasladado de un punto del escenario a otro.
Para la realización de esto hay que entender la definición de :
o Track: Es una pista de animación donde vamos a colocar la sucesión de
animaciones individuales asociadas a un objeto. Se pueden crear varias pistas
por cada objeto.
o Stripe: Es la animación en si misma, que hemos hecho desde el escritorio 3-
Animation.
En primer lugar nos tenemos que situar en el escritorio 6-Actions existente en nuestro
proyecto Blender. A continuación tenemos que pulsar el símbolo de nieve (en la imagen
adjunta hay que pulsar donde pone 2) para que se cree una pista con el stripe que
aparece en el nombre. A continuación hay que crear una nueva pista, esto se hace
pulsando el botón Add del menú inferior( paso 3), y en el desplegable que aparece
pulsamos AddTrack.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 16
Una vez hecho eso, seleccionando la pista recién creada volvemos a tocar el botón Add,
pero esta vez tocamos en AddActionStrip, en ese momento nos saldrá una ventana con
las animaciones disponibles en el proyecto, en este caso tendremos que añadir un stripe
de la animación Andar, ya que la de moverse ya se añadió anteriormente.
Si en este momento probamos a mover la barra verde a lo largo de las dos pistas,
observaremos que en el ganso sólo se reproduce la animación Andar. Esto se debe a que
en Blender cuando intentamos que se reproduzcan dos animaciones simultáneas existe
un control de jerarquía. En el caso actual las dos animaciones tienen jerarquía 1, por lo
que se reproducirá únicamente la pista que esté en la zona superior del NLA Editor-
Para solventar esto, estando en la pista que contiene el stripe de la animación de andar,
hay que pulsar n, se mostrará un menú de herramientas en el que hay que buscar la
pestaña Evaluation, activar el cuadro de selección Animated Influence, y elegir un valor
menor que 1 como influencia.
En este caso vamos a elegir un valor de influencia de 0.8, aunque habría que probar
distintos valores para ver cual da mejor resultado.
Una vez hecho lo anterior, observamos en la línea de tiempos que la animación de andar
ocupa menos frames que la animación moverse. Es decir que hay que encontrar una
forma que la animación de andar “ocupe” los mismos frames que la animación moverse.
Esto se consigue mediante la configuración de escalado y repetición que tiene el NLA
Editor para cada uno de los stripes.
Se podría pensar que escalando la animación andar al doble se solventaría este
problema, pero lo único que se conseguiría es que pareciera que el ganso da pasos muy
grandes, algo que no es nada realista. Por ello lo que vamos a hacer es repetir la
animación dos veces (mediante Repeat), veremos que aún así el ganso parece que da
pasos muy grandes, por lo que habría que ajustar esos dos parámetros hasta dar con
una configuración a nuestro gusto. En este caso optamos por un escalado de 0.5, y
repetir la animación 4 veces.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 17
De esta forma se conseguiría la combinación de los dos movimientos y aunque no se han
explicado todos los parámetros del NLA Editor puede servir como una introducción
básica.
Los verdaderos problemas del NLA Editor aparecen cuando se quieren combinar varios
movimientos de forma encadenada, ya que el problema existente en Blender es que
cuando creas una animación la creas en una posición absoluta, de forma que no valdría
con una animación de moverse únicamente, se necesitaría una animación de moverse
para cada movimiento en cada punto del escenario que se va a realizar, por lo que se
recomienda para futuros estudiantes que si optan por utilizar NLA Editor, tengan desde
un primer momento completamente claro cuales van a ser los movimientos de sus
personajes, para evitar el tener que realizar nuevas animaciones mediante keyframes
cuando se está en otro punto del proyecto.
También se recomienda tener en cuenta que al usar influencias y tener unos stripes más
peso que otros, habrá animaciones que parezca que no se realizan al 100% , sobre todo
las relativas a movimientos en el espacio como pueden ser moverse por un plano.
[ZOO WAR] Memoria proyecto final – 2. Componentes
Síntesis y animación de imágenes 2012/2013 Página 18
Moverse por la interfaz:
En el caso de que existan dificultades para moverse a tiempo real por el proyecto de
ZooWar se recomienda lo siguiente:
o Visualizar los objetos de forma sólida o mediante WireFrames para que la carga
del procesador sea menor.
o Desde el escritorio 1-Model hacer que no se muestren los objetos que no nos
interese visualizar en un momento dado, como pueden ser las montañas o la
cúpula celeste.
En nuestro caso, no tuvimos grandes problemas para la visualización en tiempo real de
las animaciones. Lo único que tuvimos que hacer fue poner vista sólida de los objetos
cuando los estábamos animando para que fuera a una velocidad aceptable. Y por
comodidad pusimos en ocultos las montañas y la cúpula celeste cuando no estábamos
utilizándolas.
Para que los futuros usuarios de nuestro proyecto puedan acceder desde cualquier
ordenador, se ha guardado el proyecto final con todas las visualizaciones en wireframe,
y sin que se vea el cielo.