lunes, 12 de agosto de 2013

8 .-. Modelos 3D. Mallas. Animación. (II)


FOTOGRAMAS (FRAMES) y CONTENEDORES

Hay dos componentes dentro de una malla de animación: uniones y contenedores de malla. Las uniones es donde una malla y otra se tocan y es lo que podríamos interpretar como una articulación, como una rodilla.


El problema de los nombres.

Por alguna razón, alguien en Microsoft decidió que la palabra "unión" (join) era un término demasiado simple de usar. Tuvieron que ir y reemplazarlo con la palabra Frame.

FRAME = UNION = JOIN = MARCO




¿Por qué eligieron "frame"? Nadie tiene ni idea. Es, posiblemente, el término más confuso para elegir, teniendo en cuenta que un marco de animación (frame) y un fotograma clave (keyframe) son los dos términos de animación y al emplear frame para las uniones se crea una confusión tremenda. La elección de "frame" que significa "unión" (articulación) y "hueso" (malla) probablemente no era la más brillante de las ideas.

Por lo tanto: Hay dos componentes de una malla de animación: frames y contenedores de malla.

Un contenedor de malla es una estructura que contiene todos los datos de la malla, o una parte de la malla como por ejemplo un antebrazo.

Una trama es una estructura que contiene una matriz, que define la ubicación y la rotación de una articulación.

A veces DirectX no es ni siquiera coherente con esta terminología, Se ve la palabra "frame" como malla y, a veces la palabra "frame" como hueso. En la programación en 3D, ambos términos tienen un significado conjunto y esto es complicado de entender al principio.


TEXTURIZADO Y PESO DE LOS VERTICES

Si los huesos son las partes que sostienen todo el conjunto de la animación, la piel es lo que se ve en la superficie.

En una malla, la piel o skin es un componente más dentro del conjunto de cosas que componen un modelo. En otras palabras, la piel es lo que ves. Se almacena en el contenedor de malla de una malla animada como vértices e índices.

Sin embargo, hay una peculiaridad de esta.

Si os fijais en vuestro brazo, extenderlo y mirar el codo mientras dobláis el brazo. Ten en cuenta que, en cada paso de tus movimientos, la piel  se va moviendo poco a poco. Unos puntos de la piel apenas se mueven, pero otros experimentan un desplazamiento más acentuado.

Por supuesto, toda la piel en el brazo va a cambiar de posición un poco, pero algunos puntos cambian más o menos. En términos generales, cuanto más cerca de una articulación de la piel es, más se va a mover, pero no siempre es el caso.

En una malla animada, cada vértice se asigna a un marco (o conjunto o hueso). Ese vértice se asigna entonces un peso que es simplemente un número que determina la cantidad de ese vértice que se ve afectada por el cambio de la articulación al moverse.

El tema del peso de los vértices tendremos que tenerlo en cuenta, sobre todo si nos dedicamos al 3D Art.

KEYFFRAME

Un fotograma clave es la posición de una malla que define los puntos inicial y final de una animación suave. Un animador dibuja una serie de fotogramas clave, y mediante un software 3D genera todos los demás fotogramas (que corresponden a la transición) entre un fotograma clave y el siguiente.

Almacenados dentro de una malla de animación hay un conjunto de fotogramas clave. Cada fotograma clave es realmente una lista de las matrices de los fotogramas (articulaciones) y sus posiciones.

Una vez DirectX ha determinado cuál es la posición de arranque y la posición final y cuánto tiempo debe tomar para ir de una a la otra, se calcula un nuevo conjunto de matrices para la malla cada vez que la malla se pinta.

Esto hace que la animación muy fácil, ya que el artista no tiene que modelar cada fotograma de la animación. También hace que sea por lo que, como programador, puede estirar la animación en tantos cuadros de animación a su gusto, sin hacer la animación se vea extraño o saltar alrededor.

No hay comentarios:

Publicar un comentario