Transición UV Layout a Unfold 3D
Los usuarios de ordenadores Apple, ya os habréis dado cuenta de que UV Layout no es compatible con las últimas versiones del sistema operativo macOS High Sierra, y es por ello, que necesitamos encontrar otra herramienta capaz de realizar UV mapping de forma similar a UV Layout, tanto en rapidez como en efectividad.
Las herramientas de UV mapping de Maya han mejorado considerablemente desde la versión 2015, pero siguen estando lejos de lo que nos ofrece UV Layout. He encontrado el software Unfold 3D, que ya había utilizado hace mas de diez años. Sorprendentemente ha mejorado considerablemente, llegando a gustarme en ciertos aspectos más incluso que UV Layout.
En este video de más de una hora (para suscriptores de elephant vfx pro) os introduzco rápidamente a Unfold 3D y explico las herramientas que más utilizo, siempre desde el punto de vista de un vfx modeller. Los no usuarios de elephant vfx pro, podéis acceder a los primeros veinte minutos del video. Aprovechad la ocasión para suscribiros a elephant vfx pro y apoyar esta web.
Marvelous Designer -> Maya
Este vídeo complementa al que ya publicara tiempo atrás, donde mostraba el worflow Marvelous Designer -> 3D Max. En esta ocasión, muestro el mismo workflow utilizando Marvelous Designer y Maya, que es la opción mas común que encontrarás en un facility de VFX.
UV mapping en VFX
El UV mapping en VFX es una tarea de la que por lo general se ocupan los modeladores. Todos los assets, y todas las partes de las que estos se componen, necesitan UV mapping. El UV mapping hay que cuidarlo y dedicarle el suficiente tiempo para asegurarse de la calidad del mismo. Nunca se utiliza UV mapping automático.
Antes de realizar cualquier tarea de UV mapping, el modelador y el texturizador necesitan entablar conversaciones para establecer unos mínimos para asegurarse de la eficiencia del UV mapping y su viaje a través del pipeline.
En VFX tendemos a trabajar en paralelo en diferentes departamentos, así que un asset puede estar siendo texturizado al mismo tiempo que un modelador realiza ajustes a su modelo. Además de comunicación constante entre ambos departamentos, es necesario preservar las UVs existentes en la medida de lo posible.
Estos son algunos de los conceptos más importantes relacionados con UV mapping que necesitas conocer.
Overlapping
Siempre evita el overlapping, o superposición de unas UVs sobre otras. Dentro del mismo mesh o entre varios meshes, overlapping es probablemente el error más grave que puede darse durante el proceso de UV mapping, y sin duda, el más frustrante para los texture artists.
La mayoría de herramientas 3D tienen opciones para visualizar overlapping y ayudarte a corregirlo.
UVs fuera de rango
Asegúrate de que tus UVs no se encuentran fuera del rango (o espacio UV). Aunque en ocasiones pueda utilizarse, procura que las UVs no se salen de su rango ni están colocadas de forma continua entre espacios UVs. En la mayoría de ocasiones suele generar problemas de diferente índole. También asegúrate de no utilizar espacios de UV negativos.
Bleeding
Es importante dejar suficiente espacio dentro del espacio UV para el bleeding (o sangrado), incluso si ello conlleva a la utilización de mas UDIMs. En algunos software 3D puedes indicar la cantidad de bleeding en pixels que quieres utilizar, asociado a la resolución de textura.
El bleeding también facilita la labor de los texture artists a la hora de seleccionar partes del asset en Mari.
Seams
UV seams no son tan problemáticos como solían serlo, ya que nadie pinta en un espacio 2D como Photoshop. Aunque en algunas ocasiones solemos utilizar Nuke para texturizar ciertos assets. Cuantos menos seams y más escondidos a cámara mejor. Si necesitas más seams para evitar males mayores como overlapping, stretching, etc. no dudes en realizar más cortes.
Stretching
Procura que exista la menor distorsion posible en tus UVs. Software como UV Layout te ayuda a visualizar el stretching en tiempo real. Utiliza siempre un texture checker para evitar este tipo de problema.
Escala
Es extremadamente importante establecer una escala global y comun para cada show. De esta forma todos los assets pueden convivir juntos en el pipeline de texturizado y look-dev. Seremos capaces de reutilizar texturas y shaders sin preocuparnos por problemas de escalas.
Los hero assets pueden sufrir cambios de escala con respecto al resto de assets en funcion de su condicion de extraordinarios.
Orientación
Procura mantener la orientación natural de los objetos en el espacio UV. De esta forma resultará más cómodo y rápido pintar detalles sin necesidad de reorientar el lienzo. En el caso de assets tipo tablas de madera, mantener la misma orientación ayudará a repetir texturas sin necesidad de crear mascaras secundarias para diferentes tipos de rotación.
UDIMs
En VFX llevamos utilizando el sistema UDIM tile alrededor de 10+ años. Hero assets generalmente tienen más de 50 UDIMs proporcionando resolución de textura más que suficiente para la mayoría de planos del show.
Es conveniente mantener cierta lógica y orden en la organización de los UDIMs, colocando siempre en el mismo lugar las extremidades de un personaje, o los ojos, o la ropa, etc. También es común agrupar partes de un asset similares en cuanto a morfología o tipo de material, de esta forma facilitaremos la labor de los texture artists.
La estandarización de los UDIMs es vital en el pipeline de un facility VFX.
El diseño de templates de UDIMs varia en función del tipo de asset (personajes, entornos, props, entornos, etc.).
Siempre preferimos más UDIMs que mayor resolución de textura.
UV sets
Es comun utilizar diferentes UV sets cuando trabajamos con hero assets.
UV sets secundarios generalmente tienen menor resolucion de UV mapping y son utilizados para crear dirt maps, wet maps, dummy textures, fur maps, etc.
Asegurate de crear siempre al menos un UV set extraordinario para previz, rigging y tareas similares.
Diferentes resoluciones
Resulta una práctica común tener diferentes resoluciones de un mismo asset, a todos los niveles. Modelado, texturas, shading, simulación, etc. Como norma general tendemos a texturizar primero los assets de alta resolución y después transferir las texturas a otros UV mapping de baja resolución. Debes dominar las técnicas de transferencia de texturas entre modelos con diferente resolución y diferente layout de UVs.
Mirroring/Symmetry
Si trabajas con assets simétricos, o que son simétricos hasta cierto punto (vehículos, personajes, etc.) procura trabajar siempre en simetría o espejo, de esta forma ahorrarás mucho tiempo a los texture artists. Pese a que las texturas nunca van a resultar simétricas, siempre es bueno poder reutilizar una base y modificarla que empezar el trabajo desde cero.
En el caso de tener objetos duplicados (por ejemplo decenas de tornillos) haz una copia de UVs y muévelas, de esta forma facilitarás la copia de texturas al texture artist. Nunca las dejes unas encima de otras (overlapping).
Una copia es mejor que un flip. Copiar UDIMs en Mari es muy sencillo, un UV flipped necesitas pasos extra, por lo que requiere más tiempo.
Ptex
Nadie en VFX utiliza Ptex (hasta donde yo he podido comprobar).
Todo esto y mucho más, en nuestro curso online de UV Mapping en VFX.
UV Layout v 2.08.06
Hace unas semanas que la nueva versión de UV Layout ha salido al mercado, concretamente la versión v2.08.06, así que ya es un buen momento para hablar de algunas de las nuevas cosas que trae y también de algunas de las opciones que ya llevan tiempo en el software pero que estoy empezando a utilizar de forma reciente.
- Display -> Light: Cambia como la luz afecta a la escena. Especialmente útil en el espacio de chequeo de UVs. Lo utilizo mucho cuando un objeto está ocluido por otros. Lleva tiempo en el software pero lo cierto es que llevo poco tiempo utilizándolo de forma constante.
- Settings -> F1 F1 F3 F4 F5: Estos botones permiten crear accesos directos a otras herramientas de UV Layout. Simplemente dale a uno de los botones y realiza una serie de operaciones, éstas se quedarán guardadas. Después bastará con presionar una tecla de función en tu teclado para repetir la operación.
- Preferences -> Max shells: Esta opción es importantísima. Permite cambiar el máximo de shells que UV Layout puede manejar. Especialmente útil cuando trabajas con objetos con muchos polígonos, como por ejemplos 3D scans o photogrammetry.
- Flatten varios objectos de una sola vez: Antes esto no era posible, pero con esta nueva versión si. Simplemente selecciona varios shells y presiona "r".
- Pack -> align shells to axes: Selecciona uno o varios shells y activa la opción "align shells to axes", presiona pack all y se alinearán perfectamente.
- Pack by tiles: Ahora la organización de UDIMs puede hacerse fácilmente en UV Layout gracias a sus nuevas herramientas. Para organizar en UDIMs, basta con especificar el número de tiles en X e Y.
- Pack -> Move, Scale, Rotate: Otra de las opciones que permite mover UDIMs en unidades perfectas. Lo que es importantísimo para gestionar UDIMs.
- Trace masks: Esta opción es genial. Permite utilizar máscaras para organizar shells. Especialmente útil cuando ya tienes las UVs de un objeto y necesitas añadir más geometría o partes extras. Puedes enmascarar las UVs existentes y que las nuevas se distribuyan en las zonas libres.
- Segment marked polys: Otra opción extremadamente útil, sobretodo cuando necesitamos hacer UV mapping de forma muy rápida. Basta con seleccionar unos cuantos polígonos y clicar en "segment marked polys". UV Layout aplicará una proyección planar sin distorsiones.
- Set size: Esta opción es una de mis favoritas. La puedes encontrar en Move/Scale/Rotate -> Set size. Sirve para establecer una escala absoluta entre objetos completamente diferentes. Copia la escala de un objeto en las preferencias del programa y cuando importes un objeto completamente diferente se adaptará a la escala del anterior. A cualquier textura artist le encanta esto.
- Pin edges: Un clásico, pero que muchas veces no utilizamos. Cuando estés relajando un shell y quieras mantener la forma, presiona "pp" en los edges exteriores para "pinearlos". Para mantener la forma alrededor de agujeros interiores, como los ojos, presiona "shift+t". De esta forma puedes relajar el shell manteniendo la forma del objeto.
- Anchor points: Mueve uno de los puntos de una esquina con "ctrl+MMB" y presiona "a" para crear un anchor point. Haz lo mismo con los puntos de otras esquinas. Presiona "s" encima de cada anchor point, y después "ss" en cualquier punto entre dos anchor points para alinearlos. Combinando anchor points con pinned edges podrás crear formas perfectas.
Texturizando en proyectos de vfx: Estudio del caso
Este post es una traducción del original escrito en Julio del 2012 en el blog de Xuan Prada.
Estos son los puntos principales de un curso que impartí hace poco acerca del texturizado en proyectos de cine VFX.
En el curso utilizamos diferentes assets de producción, pero este es el único que puedo mostrar aquí.
Puede que dentro de poco presente un curso similar de forma online y en castellano.
Sumario
- Check the model.
- Render a checker scene.
- Decide about the quality needed for the textures. Is it a hero asset?
- UV mapping.
- Organization methods.
- How many UDIM’s?
- Photo Shoot.
- What kind of lighting do I need?
- Accessories. (Color checkers, tripod, polarized filters, angular base, etc).
- Bakes. (dirt maps, dust maps, UVs, etc).
- Grading reference images. Create presets.
- Clean reference images for projections.
- Create cameras and guides in Maya/Softimage for projections.
- Adapt graded and cleaned reference images for projection guides.
- Project in 3D software or Mari. (Mari should be faster).
- Work on the projections inside Mari. (We can use Photoshop, Mari or both of them. Even Nuke).
- Create a 16 bits sRGB colour textures.
- Test colour channel in the light rig.
- Create a 16 bits gray scale specular textures.
- Create a 16 bits gray scale bump textures.
- Create a 16 bits gray scale displacement textures.
- Create a 8 bits gray scale ISO textures.
- Look-Dev blocking.
- Import the light rig.
- Create a basic pass.
- Checker render (matte).
- Checker render (reflective).
- Create clusters.
- Block materials.
- Look-Dev primary.
- Set up diffuse.
- Set up specular and reflections.
- Balance materials.
- Look-Dev secondary.
- Set up bump.
- Set up displacement.
- Rebalance materials.
- Set up ISO’s.
- Look-Dev refinement.
- Rebalance materials if needed.
- Create material libraries.
- Render turntables.
Multi UDIM en Maya (Mari to Maya)
Este post es una traducción del original escrito en Febrero del 2012 en el blog de Xuan Prada.
Si, ya se que hacer funcionar las texturas exportadas de Mari en Maya puede ser un poco lioso, especialmente si nunca has trabajado antes con múltiples UDIMs.
He escrito aquí abajo un pequeño tutorial paso a paso, sobre como preparar tus shaders y texturas para leer los mapas de Mari.
Para este ejemplo, voy a utilizar el herrero que viene con Mari, creado por The Foundry, el cual tienen 40 UDIMs de 4k de resolución cada uno. Podría ser un buen ejemplo de producción.
- Antes de nada, chequea el modelo, las UVs y las texturas.
- Exporta todas tus texturas desde Mari.
- Para ello, click derecho en el canal (channel) que desas exportar.
- Utiliza el naming convention que se adapte a tu pipeline. En mi caso utilizo: "COMPONENT_UDIM.tif COL_1001.tif"
- Chequea tu directorio de salida para comprobar que todos los UDIMs han sido exportados.
- Importa tu asset en Maya y comprueba el UV mapping.
- Es importante conocer como Maya llama a cada UDIM para poder hacer un offset de cada textura y que Maya sepa que textura debe renderizar para cada UDIM.
- El UDIM por defecto, el que llevas utilizando toda tu vida, corresponde a las coordenadas 0-0. El siguiente a la derecha será 0-1, el siguiente 0-2 y así sucesivamente.
- Importa la primera textura para el primer UDIM.
- Renombra el nodo de textura a COL_1001 y el nodo de UV 2D placement a UDIM_1001.
- Repite este proceso con todas las texturas y soportes UV de tu asset.
- Selecciona todos los nodos de textura y abre el attribute spread sheet.
- Pon el default color RGB a 0 (cero).
- Selecciona todos los nodos 2D place texture y abre de nuevo el attribute spread sheet.
- Desactiva wrap U y wrap V.
- Utilizando los campos translate frame U y translate frame V escribe el offset necesario para todas tus texturas.
- Utiliza la tabla de abajo como guía, las coordenadas son siempre las mismas.
- Crea un nodo layered texture. Este nodo servirá para mezclar todos los mapas de textura.
- Selecciona todos los nodos de textura en el Hypershade, desde un espacio vacío, pincha con el boton central del ratón y arrastra todos los nodos a la vez hacia el layered texture.
- Esto creará una capa (layer) con cada mapa de textura.
- Borra el default layer.
- Establece el blend mode de cada capa a lightnen.
- Conecta el layered texture al input deseado de tu shader.
- Es buena idea chequear cada canal (channel) utilizando un surface shader, ya que no le afecta la iluminación y renderiza muy rápido. Es muy fácil encontrar errores utilizando este shader.
- Una vez hayas terminado con el color, puedes seguir con el specular, bump y todos los demás canales necesarios.