miércoles, 18 de abril de 2012

Rigging, Render, Texturizado, UVMap

Rigging





Es el proceso tecnico/artístico de configurar un personaje/modelo 3D/propiedad/objeto para que pueda ser posteriormente animado. Rigging o Setup es un proceso que lleva mucha lógica pero también sentido artístico para poder hacer de el modelo algo que pueda expresar sentimientos, movimientos y expresiones dependiendo del caso. Para hacer una comparación, un rigger es como un "creador de marionetas", pero en este caso como son modelos digitales podriamos decir entonces "marionetas digitales", es decir existe un modelo 3D que no se puede mover en ninguna forma, entonces un "creador de marionetas digitales ( RIGGER )" crea un sistema de huesos, expresiones, scripts( programación) para que dicho modelo se mueva en la forma en que debe hacerlo de acuerdo a lo que se requiere. 
¿Suena sencillo? Realmente no lo es tanto. Es un trabajo que lleva implícito programación, scripting, rigging, skinning y en muchos casos desarrollar sistemas procedurales que permitan que el elemento 3D se pueda mover de forma lógica y  visualmente correcta.

Renderizado


Renderizar es un término usado en para referirse al proceso de generar una imagen desde un modelo. Este término técnico es utilizado por losanimadores o productores audiovisuales y en programasde diseño en 3D. Los medios por los que se puede hacer un renderizado van desde lápiz, pluma, plumones o pastel, hasta medios digitales en dos y tres dimensiones.
La palabra renderización proviene del inglés render, y no existe un verbo con el mismo significado en español, por lo que es frecuente usar las expresiones renderizar o renderear.  El término rendering también es usado para describir el proceso del cálculo de los efectos en la edición de archivos de videos para producir una salida final de video.
Aplicado a las visualizaciones por computadora, más específicamente en 3D, la renderización es un proceso de cálculo complejo desarrollado por un ordenador destinado a generar una imagen 3D.
La renderización se aplica en la computación gráfica, más comúnmente a la infografía. En infografía este proceso se desarrolla con el fin de imitar un espacio 3D formado por estructuras poligonales,comportamiento de luces, texturas, materiales (agua, madera, metal, plástico, tela, etcétera) y animación, simulando ambientes y estructuras físicas verosímiles.
Una de las partes más importantes de los programas  de infografía son los motores de renderizado, los cuales son capaces de realizar técnicas complejas como radiosidad, raytrace (trazador de rayos), canal alfa, reflexión, refracción o iluminación global.


Cuando se trabaja en un programa de diseño 3D por computadora, normalmente no se  visualiza en tiempo real el acabado final deseado de una escena 3D compleja ya que esto requiere una potencia de cálculo demasiado elevada, por lo que se opta por crear el entorno 3D con una forma de visualización más simple y técnica y luego generar el lento proceso de renderización para conseguir los resultados finales deseados.
En el caso de los gráficos en 3D, el renderizado puede hacerse lentamente (pre-renderizado) o entiempo real.
El pre-renderizado es un proceso computacional intensivo que es utilizado generalmente para la creación de películas y su resultado es de altísima calidad. Además, en el prerenderizado, todos los movimientos y cambios en las escenas en 3D ya fueron prefijados antes del inicio de la renderización.
En cambio, el renderizado en tiempo real es más usado en los juegos en 3D y suele procesarse a través de tarjetas aceleradoras de 3D, por ser un proceso sumamente pesado. En este caso, todos los movimientos y cambios en la escena son calculados en tiempo real, pues los movimientos del jugador no son predecibles.
Normalmente cada aplicación de 3D cuenta con su propio motor de renderizado, pero cabe aclarar que existen plug-ins que se dedican a hacer el cálculo dentro del programa utilizando fórmulas especiales. 
En el caso de los videojuegos, normalmente se utilizan imágenes pre-renderizadas para generar las texturas y así ayudar al procesador de la consola a trabajar en el entorno virtual con mucha más fluidez.
Entre los programas mas famosos usados para renderizar estan Autocad,3dsmax, Maya,Cinema,Vray, Sketchup pro, Revit, Lightwave entre otros.


Texturizado




Muchos objetos no pueden definirse con un único color superficial. El terrazo del suelo, la madera de los muebles o el estampado de una camisa, se componen de diferentes colores con una distribución a veces geométrica y otras completamente azarosa. Por eso recurrimos a las texturas.
Si escaneamos un trozo de mármol y guardamos la imagen con un determinado formato, después podemos aplicar ese acabado superficial a cualquier objeto. Y no tiene por qué ser algo plano: podemos aplicarlo a un cilindro, a una esfera o a lo que queramos, haciendo que la imagen cubra por completo toda la superficie o bien de manera que se vaya repitiendo progresivamente.
Este tipo de textura (generalmente una imagen real o creada por nosotros en un programa de imagen, como Photoshop) se conoce comotextura bitmap —o mapa de bits—. Como en cualquier otra imagen bitmap (como una foto) es muy importante controlar la resolución, adaptándola a nuestras necesidades; si no lo hacemos podría ocurrir que al acercarnos mucho al objeto aparecieran los pixels de la imagen.
Para evitar este problema (pues a veces sería necesario crear texturas gigantescas) se han desarrollado otros sistemas de texturizado, llamados procedurales o shaders. Se trata de unos algoritmos internos que el mismo programa 3D realiza, normalmente partiendo de estructuras fractales, que aportan diferentes beneficios:

— La resolución siempre es óptima (nunca llegamos a ver pixels).
— Por su naturaleza fractal normalmente imitan muy bien los acabados caóticos de la naturaleza (como la corteza de un árbol, las vetas de un mármol o las llamas del fuego).
— En ningún momento percibimos fenómenos de repetición (algo muy desagradable pero lamentablemente muy utilizado, haciendo que una pequeña textura bitmap se repita en todas direcciones y evidenciando la artificiosidad de la imagen).
— Normalmente los cálculos que el ordenador tiene que realizar son más rápidos que cuando se aplica un mapa de bits muy grande (de todos modos algunos shaders pueden llegar a ser muy complejos y, por tanto, no tan rápidos).

Existen 4 procedimientos básicos para aplicar una textura:
Planar: para aplicar una textura de mármol en un suelo, p.ej. Si aplicamos este sistema en un objeto veremos que en la cara donde intervenimos aparece la textura perfectamente definida, pero en las adyacentes aparece proyectada longitudinalmente.

Cúbico: para evitar el anterior problema podemos utilizar este sistema. Si tenemos que texturizar un armario lo haríamos mediante una aplicación cúbica, proyectándose la textura en las 6 direcciones de las caras de un cubo.

Cilíndrico: si queremos ponerle la etiqueta a una botella de vino usaremos una proyección cilíndrica.

Esférico: para aplicar la textura de los mares y continentes a la bola terrestre, éste sería el procedimiento idóneo.

Evidentemente hay muchos objetos que se salen de estas formas, y en donde no vemos tan claro ninguno de estos sistemas de texturizado (¿una jirafa?). Y ahí es donde interviene el ingenio: a veces podemos descomponer un objeto en diferentes zonas más básicas, otras podemos texturizar una pieza antes de serle aplicada una deformación… Cuando utilizamos shaders, muchos de ellos se aplican en todas las direcciones, cubriendo perfectamente toda la superficie (otra gran ventaja de este tipo de texturas).
En cualquier caso existen otros sistemas más complejos de texturizado, como el UV, que tiene en cuenta cómo ha sido generado el objeto en la fase de modelado (siguiendo las coordenadas de generación) para aplicar la textura adaptándose a la forma como un guante.
Todos los aspectos de una infografía influyen en la calidad de la misma, pero quizá sea el texturizado lo que más importancia tenga. Una buena textura puede salvar un modelado mediocre (de hecho los videojuegos basan su calidad más en el texturizado que en el modelado).

UVMap




El mapeado UV es una manera de mapear texturas de tipo Imagen sobre modelos tridimensionales. Se puede usar para aplicar texturas a formas arbitrarias y complejas como cabezas humanas o animales. A menudo estas texturas son imagenes pintadas o dibujadas, creadas con programas como Gimp, Photoshop, o cualquiera que sea tu programa de dibujo favorito. Las texturas Procedurales, constituyen una buena manera de texturizar un modelo. Lo que es realmente bueno de este tipo de texturas es que siempre "calzan", se ajustan perfectamente al modelo. Las imágenes 2D en cambio, no siempre se ajustarán tan bien. Crear texturas procedurales es relativamente sencillo, y ofrecen una manera rápida de obtener buenos resultados. Sin embargo, hay situaciones en las que este tipo de texturas no es suficiente. Por ejemplo, la piel de una cabeza humana nunca se verá lo suficientemente bien cuando es generada proceduralmente. Las arrugas en un rostro humano, o las saltaduras de pintura en un automóvil no aparecen en lugares al azar sino que dependen de la forma del modelo y de su uso. Las imagenes pintadas manualmente le dan al artista control total sobre el resultado final. En lugar de andar jugando con deslizadores numéricos, los artistas pueden controlar cada píxel sobre la superficie. esto comúnmente significa más trabajo, pero los resultados valdrán la pena. Un mapa UV es una forma de asignar la parte de una imagen a un polígono en el modelo. Cada vértice del polígono es asignado a un par de coordenadas 2D que definen que parte de la imagen es mapeada. Estas coordenadas 2D se llaman UVs (comparar con las coordenadas XYZ en 3D). La operación de crear estos mapas UV se conoce tambinén como "despliegue" ("unwrap" en inglés), debido a que todo ocurre como si la malla fuera desenvuelta o desplegada sobre un plano 2D.

0 comentarios:

Publicar un comentario