Tip Photoshop. Cómo evitar los halos en texturas recortadas

Imaginad esta situación: una escena 3D con una gran superficie, por ejemplo un muro de hormigón, y en una zona determinada queremos “pegar” una señal, un logotipo, un texto… En un caso así utilizaremos un material para definir la base —el hormigón— y aparte crearemos otro material para definir el logotipo o texto propiamente dicho.

Este segundo material, sea cual sea el programa 3D que utilicemos, tendrá al menos un canal de Color y un segundo canal para definir el recorte de la Máscara (el contorno de nuestro logotipo) (*). Dependiendo de la situación o del programa en cuestión, esa Máscara podrá ser un Canal de Transparencia, o un Decal, o un Stencil, o un Alpha (aquí sí que ya depende de la nomenclatura que utiliza cada programa).

En la siguiente imagen podemos ver el viejo logotipo de Apple, a la izquierda con fondo negro, a la derecha con fondo blanco, y en el medio tenemos la máscara o alfa para recortar el logotipo. Porque recordemos que cuando peguemos nuestro logotipo en la pared, la manzanita deberá aparecer rodeada del material “hormigón” (ni blanco, ni negro). Para eso necesitamos la máscara, que podrá ir guardada como un canal alfa en el mismo documento o como un fichero independiente.

result_selection

 

Y aquí viene el problema que probablemente os habrá aparecido en alguna ocasión: tanto si utilizamos la versión del logo con el fondo negro como la de blanco, una vez que sea recortada por la máscara sobre nuestro material de fondo es posible que nos aparezca un molesto halo alrededor.

white_over_darkSi decidimos guardar el logotipo con fondo blanco, lo recortamos con la máscara y lo colocamos sobre un fondo oscuro, es probable que acabemos viendo un halo clarito como el que podéis ver en la imagen de la izquierda. En la imagen se ha exagerado el efecto, porque realmente suele ser muy sutil, ya que se trata de un problema de conflicto entre el antialiasing del contorno de color y el de la máscara.

black_over_softSi por el contrario decidimos guardar el logotipo con fondo negro, lo recortamos con la máscara y lo colocamos sobre un fondo claro, es probable que acabemos viendo un halo oscuro como el de la derecha (también aquí exagerado).

Por supuesto, la lógica nos dice que deberíamos haber guardado el logo con un fondo negro si lo vamos a usar sobre un fondo oscuro, o con un fondo blanco si va a ir sobre uno claro. O incluso mejor aún, podríamos rodear al logo, en Photoshop, del mismo material sobre el que finalmente va a ir cuando lo coloquemos en en nuestro programa 3D. De hecho esta sería una de las soluciones más comúnmente aceptadas. El problema es ¿qué ocurre si finalmente cambiamos de idea y usamos un material base diferente —madera o mármol, por ejemplo— en lugar de hormigón? Tendríamos que volver a Photoshop a cambiar el material que rodea al logo.

Tenemos una solución mucho mejor, consistente en “reventar” el logotipo: hacer que los colores se expandan más allá de los límites de nuestra máscara. De esa forma nunca aparecerán halos.

En un logotipo de un solo color, por ejemplo, no sería necesario definir su contorno en el canal de color, sino que con el recorte sería suficiente. Con el actual logo de Apple, por ejemplo, si queremos que la manzana sea toda roja sobre un fondo de mármol, bastaría con tener un cuadrado completo de rojo en el canal de color, y ya se encargaría el alfa de recortar la forma del contorno.

Pero en el logo antiguo, con las franjitas de colores, ya no es tan simple. Es cierto que para expandir los colores podríamos hacerlo manualmente con relativa facilidad haciendo una selección vertical central de todo el logo, en Photoshop, y luego expandiéndola en horizontal hasta llenar el documento completamente. Pero si la distribución de colores fuera más compleja ya no podríamos hacerlo así.

Y aquí es donde viene al rescate una de esas herramientas que nos hace la vida más fácil. Pero no se encuentra directamente en Photoshop (al menos, no que yo sepa, corregidme si me equivoco, en los comentarios). Es un filtro gratuito de Flaming Pear que se llama Solidify. Lo encontraréis junto con otros muchos en el enlace “Free Plugins”, abajo del todo en la página de downloads.

Al aplicar este filtro sobre una capa flotante conseguimos que se expandan los pixels de colores respecto a los bordes del objeto, tal como podéis ver en la siguiente imagen:

flamingpear_solidify

 

Y de esta forma la selección definida por el canal alfa nunca se podrá ver “contaminada” por pixels de colores ajenos a los del propio objeto, como podéis apreciar aquí:

result_selection

 

Cuando instaléis el plugin veréis que tiene 3 posibilidades o “sabores”: Solidify A, B o C. Probad con todas ellas, dependiendo de la situación, pero a mí por lo general me suele funcionar bastante bien la “A”.

En el siguiente ejemplo es esto lo que he utilizado para expandir los colores alrededor de la costa de Japón y poder trabajar la capa terrestre de material independientemente, con respecto al material empleado para el mar:

japan

 

(*) Es verdad que también podríamos guardar la textura como un formato de archivo (.PSD, .PNG) que permitiera contener la transparencia de una capa de un modo “flotante” o “directo” y no a través de un canal alfa, pero quizá no todos los programas 3D puedan entender correctamente esa información de “transparencia incrustada”.

Recursos Modo de Gelmi y Sampaio

Rodrigo Gelmi y Marcos Sampaio son dos grandes ilustradores publicitarios brasileños que nos suelen sorprender con sus fantásticas imágenes en los foros de Modo.

Pero lo mejor de todo es que no sólo nos muestran lo que hacen, sino que muchas veces nos explican cuál es su proceso o incluso nos regalan pequeñas escenas de muestra para abrir directamente en Modo y poder analizarlas para aprender de sus técnicas. Yo me suelo pasar por la sección “Gallery” de esos foros y en cuanto veo algún post iniciado por ellos no lo dudo: voy a por él. Casi siempre encuentro cosas buenas. Y aprendo mucho. Os dejo sendos enlaces a todos los post iniciados por Gelmi y a todos los iniciados por Sampaio.

Y a continuación, algunos ejemplos:

OCÉANO, por Rodrigo Gelmi

Echadle un vistazo a este vídeo:

Daos una vuelta por el post donde lo presentó y desde donde os podéis descargar una escenita con una de estas tomas. Tenéis el enlace en el foro, o lo podéis bajar directamente desde aquí:

> Bajar escena Océano, por Rodrigo Gelmi <

HIELO HIPERREALISTA, por Marcos Sampaio

Hielo hiperrealista por Marcos Sampaio

Si os gusta el aspecto que tiene, echadle un vistazo al post donde lo presentó, porque hay otros ejemplos pertenecientes al proyecto real. De allí también podréis bajaros una escenita. Os dejo aquí también una copia:

> Bajar escena Hielo Hiperrealista, por Marcos Sampaio <

LEÓN, por Rodrigo Gelmi

León por Rodrigo Gelmi

Aquí hay un trabajo de pelo espectacular. Daos una vuelta por su post y revisadlo al completo, especialmente las capturas de la segunda página. En esta caso no nos dejó escena de muestra (creo) sino que Rodrigo nos regaló un vídeo con una captura del proceso de creación del pelo:

Está bastante acelerado, pero podemos hacer pausa ;-)

BOSQUE, por Rodrigo Gelmi

Forest by Rodrigo Gelmi

Gracias a que esta escenita la tenía guardada como oro en paño porque no he conseguido re-encontrarla en los foros de Luxology (si alguien la encuentra que deje un comentario).

ACTUALIZACIÓN. Andrés, un amigo en Facebook, la ha localizado. En la segunda página de este post, Gelmi compartió esta escena con todos nosotros. Por cierto, la imagen original que abre esa entrada es MUY buena ;-)

Os recomiendo que cuando veáis alguna cosa interesante de este tipo, rápidamente la bajéis y la guardéis, porque he comprobado que muchas veces, al cabo del tiempo, los enlaces desde muchos foros acaban “muriendo”. Os dejo una copia de la escena:

> Bajar escena Bosque, por Rodrigo Gelmi <

Como veréis, hace un uso súper inteligente y eficaz de los replicators. Esto es algo en lo que Gelmi es un crack: en conseguir soluciones aparentemente sencillas y ligeras, pero tremendamente elegantes y efectivas. Hay mucho que aprender de él.

Tip Cinema 4D. Crear atajos de teclado “especiales”

En Cinema 4D podemos crear “shortcuts” o atajos de teclado para casi cualquier cosa, de un modo directo, mediante el Command Manager. Y pongo en negrita ese “casi” porque ¿qué ocurre con operaciones como activar/desactivar la visibilidad de la rejilla? ¿O activar/desactivar la visibilidad de las cámaras? ¿o de los nulls? Porque aunque todos esas acciones están disponibles, junto a otras muchos, en el Menú Filter del viewport 3D, sin embargo no las encontraréis en el Command Manager por ningún lado.

Y son cosas que yo necesito hacer constantemente, con lo que me vendría muy bien tener unos atajos rápidos para ello. Pues bien, se puede hacer de un modo relativamente sencillo, aunque para ello tendremos que crearnos nuestros propios mini-scripts. Tranquilos, que no es tan complicado como pueda sonar ;-)

Menú Edit ConfigureSupongamos que queremos crear un atajo rápido para activar/desactivar la visibilidad de la rejilla. Para empezar vamos al Menú Edit > Configure… dentro del viewport 3D (ver captura izquierda). Se nos abrirán todos los atributos para configurar el aspecto de nuestro viewport (captura inferior). Ahí veremos que, dentro del Tab Filter se encuentran las mismas opciones que teníamos en el mencionado Menú Filter y entre ellas tendremos “Grid” .

A continuación abrimos la Consola (Menú Window > Console…). Fijaos que en la parte de abajo de la Consola hay un “campo o input vacío”.

Y aquí viene lo bueno, a continuación pinchamos en la palabra “Grid” dentro de los Atributos y la arrastramos hasta ese campo vacío en la parte inferior de la Consola, tal como podéis ver en la siguiente captura:

Arrastrar Comando Consola

Y voilà, veremos que en ese espacio ahora nos aparece el siguiente comando:

temp(n)#BASEDRAW_DISPLAYFILTER_GRID

Donde “n” puede ser 1, 2, 3, 4, etc, dependiendo de la cantidad de opciones que hallamos arrastrado desde que hemos empezado una sesión. Aunque eso no tiene importancia, lo que realmente nos importa es lo de #BASEDRAW_DISPLAYFILTER_GRID, porque ese es el comando interno que Cinema usa para denominar a la visibilidad de la rejilla.

Y con ese comando ya nos podremos crear nuestro propio script para “togglear” (activar/desactivar) la visibilidad de la rejilla. Para ello abrimos el Script Manager y creamos un nuevo script. Le damos un nombre, por ejemplo “ToggleGrid” y en el cuerpo del script introducimos lo siguiente (ver captura, abajo):

var doc = GetActiveDocument();
doc->GetActiveBaseDraw()#BASEDRAW_DISPLAYFILTER_GRID =
!doc->GetActiveBaseDraw()#BASEDRAW_DISPLAYFILTER_GRID;

Script Manager

Pinchamos en “Save All” para que se nos guarde ese nuevo script y a continuación pinchamos en el botón “Shortcut” para que se nos abra el Command Manager y podamos asignarle el atajo de teclado que más nos apetezca. Y ya está.

Para cualquier otro comando de este tipo (activar/desactivar la visibilidad de casi cualquier cosa) el procedimiento será el mismo. Y todos los scripts que tendremos que ir creando tendrán exactamente la misma nomenclatura, de modo que sólo cambiará la orden que habremos generado gracias a la Consola (la parte que está en rojo).

A continuación os dejo un ZIP con unos cuantos scripts de este tipo que yo uso frecuentemente. Basta que los arrastréis a la carpeta Scripts de Cinema 4D para que podáis acceder a ellos y asignarles vuestros propios comandos preferidos.

> Bajar “Toggle View Scripts” <

Tip Photoshop. Fantástica técnica de Rodrigo Gelmi

Vaso splash Rodrigo Gelmi

Hace unas semanas, el gran ilustrador brasileño Rodrigo Gelmi compartió con nosotros en los foros de Luxology unas fantásticas imágenes realizadas con Modo en las que había creado las gotas mediante normal maps trabajados con Photoshop. Todo el mundo empezó a preguntarle cómo lo había hecho y enseguida nos lo enseñó, con este fantástico vídeo, donde sobran las palabras. ¡Gracias Gelmi! :-)

Si no conocíais el trabajo de Gelmi podéis pasaros por su web y también por su galería personal en Luxology, donde podréis ver muchos de sus trabajos de un modo más rápido.

Tips Cinema 4D. Subsurface Scattering

Subsurface ScatteringConseguir un buen efecto de Subsurface Scattering con Modo resulta bastante sencillo: aquello de “activarlo sin más” y enseguida se obtienen buenos resultados. Sin embargo, con Cinema 4D siempre me ha resultado más difícil obtener el mismo look (y de hecho personalmente creo que esta aplicación no consigue tan buenos resultados como Modo en ese área).

Pero hace unos días necesité introducir este efecto en Cinema (porque se trataba de una animación, y de momento, cuando tengo que hacer animaciones prefiero usar C4D) y me puse a investigar un poquito sobre ello. Así encontré un post bastante interesante sobre el tema en uno de los foros dedicados a Cinema. Por lo visto el autor de esos apuntes, de nombre “Rasputin”, se encontraba con similares problemas y decidió estudiar la cuestión a fondo, compartiendo con nosotros sus conclusiones. Y la verdad es que me ayudó mucho: de hecho pasé de prácticamente no conseguir hacer aparecer el efecto de SSS a que surgiera como por arte de magia :-)

Eso sí: el apunte está en inglés. Si hubiese tenido más tiempo me gustaría haberlo traducido al castellano, pero lamentablemente ando bastante liado (ya sabéis que siempre podéis contar con la ayuda de Google).

Tip Photoshop. Usar Umbral para detectar límites

Hacemos un crop a ojoAlgunas veces, cuando queremos recortar una imagen haciendo un “crop” en Photoshop, nos puede surgir la duda de dónde exactamente está el límite, hasta dónde llegan los últimos pixels de color, especialmente cuando tenemos unos bordes difusos como los de una sombra, un glow o un contorno desenfocado.

A la derecha vemos un ejemplo típico: a la hora de hacer el “crop” no percibimos exactamente hasta donde llega esa sombra.

Mal resultado por recortar a ojoProbablemente nos ocurrirá que, o bien dejaremos un excesivo margen innecesario, o bien nos cargaremos parte de la imagen.

Y ninguna de las dos opciones es buena, especialmente la segunda, porque una vez coloquemos nuestra imagen allá donde tenga que ir (en un folleto, en una web o aplicada como textura en nuestro modelo) nos saltará a la vista ese horrible recorte que nos ha eliminado parte de nuestro borde difuso. Fijaos en el ejemplo de la izquierda.

Un truco que uso para estos casos es el de añadir una capa de ajuste “Umbral” (“Threshold”, en inglés) con carácter temporal. Una capa que se sitúe por encima de todas las demás y las afecte al completo. Y a continuación movemos el nivel del umbral al máximo, hasta llegar a los 255, como podéis ver en la siguiente captura.

Subimos el umbral a tope

Recorte hecho basándonos en el umbral máximoDe esta forma veremos como todo lo que tengamos por debajo se nos transforma en una masa negra, de tal modo que hasta el último pixel que contenga algo de color se convertirá en negro, por suave que sea.

Y así podremos realizar la operación de recorte basándonos en esa información, como podéis ver en la imagen de la derecha.

Podríamos incluso ajustarnos hasta el último pixel, con la seguridad de no afectar por accidente a nada importante de la imagen.

Resultado recorte perfecto gracias al Umbral máximoUna vez hecho el crop no tenemos más que eliminar esa capa de ajuste de tipo Umbral, y ya tenemos nuestra imagen perfectamente recortada y lista para guardar o exportar para ser utilizada fuera de Photoshop. Fijaos en la imagen de la izquierda cómo ya no se ve la sombra interrumpida antes de llegar a su límite.

Si vais a necesitar hacer esto a menudo recordad que podéis utilizar una acción que nos añada la capa de ajuste umbral y lo lleve al máximo.

Tip Cinema 4D. Links “vivos” con Illustrator

Cinema 4D es un programa fantástico para crear Motion Graphics, e Illustrator es “EL” programa para diseñar logotipos e ilustraciones vectoriales complejas. Así que es muy común trabajar con ambos programas mano a mano, importando en Cinema lo que previamente hayamos creado con Illustrator.

Pero la próxima vez que tengáis que hacer algo usando ambas aplicaciones probad una cosa: en lugar de importar los trazados del modo habitual utilizad las XRefs de Cinema, y de ese modo se mantendrá un vínculo “vivo” entre ambos programas.

Veamos un paso a paso:

— Creamos cualquier cosa en Illustrator. Por ejemplo: escribimos nuestro nombre y lo convertimos a trazados.

— Guardamos como “Illustrator 8” (yo al menos siempre utilizo esa versión, puede que sirvan otras más recientes)

— Vamos a Cinema y creamos un XRef: Menú Objects > Scene > XRef

— En el Object Manager pinchamos sobre el XRef, y en Atributos > Filename pinchamos sobre el botoncito (…) para ir a buscar el archivo de Illustrator que hemos guardado en el disco. Y listo, ahí lo tenemos.

Pero la ventaja de este método radica en  lo que podemos hacer a partir de ahora:

— Volvemos a Illustrator, modificamos los trazados y sobre-escribimos el archivo inicial.

— De vuelta en Cinema no tenemos más que pinchar sobre el botoncito “Reload Scene” del XRef y veremos cómo se actualizan los trazados, automáticamente.

Y así tantas veces como queramos :-)

Sigamos. Si probáis a añadir un objeto “Extrude NURBS” como padre de nuestro XRef veréis que sólo se extruye la primera letra de nuestro nombre. Pero tranquilos: hay solución, gracias a un plugin gratuito llamado “SplineConnector” que os podréis bajar de la web de su autor, Michael Welter, exactamente desde AQUÍ (veréis que en el paquete hay muchos otros plugins: echadles un vistazo si no los conocéis porque hay alguna que otra pequeña maravilla).

Una vez incorporado ese plugin, podremos colocarlo como padre de nuestro XRef e hijo del objeto Extrude NURBS, tal como veis en la captura adjunta. Eso sí, muy importante, fijaos en las opciones del SplineConnector, porque en nuestro ejemplo, con varios trazados que definen nuestras letras, será necesario activar el checkbox “Close Spline”.

Y cuando hemos terminado de perfilar nuestro trabajo y estamos satisfechos (y sabemos que no vamos a querer seguir haciendo modificaciones) podemos convertir el XRef a Objeto Editable, con lo que pasará a ser un conjunto de splines bèzier editables.