Tutorial Violín

Hace bastantes años me dio por crear una serie de tutoriales “premium” (o sea, de pago). Más recientemente, poco antes de lanzar mi nueva web, decidí dejar de venderlos, un poco porque ya estaban algo desfasados y otro poco porque mantener el servicio de venta online me costaba un dinero que no se compensaba con las escasísimas ventas.

El que considero más completo y útil de aquel grupo de tutoriales, y también el que más trabajo me dio, sería el que mostraba cómo crear un violín usando Modo. Todo el proceso: modelado, creación de UV’s y texturizado/shading.

Modo ha evolucionado mucho desde entonces (allá por 2013) pero sinceramente creo que si tuviera que volver a crear un modelo como éste, apenas cambiaría nada mi flujo de trabajo. Al menos por lo que respecta al modelado y las UVs. Para el texturizado sí es cierto que hoy día seguramente acabaría utilizando Substance Painter.

En cualquier caso creo que quizás pueda ser de utilidad para alguien. Así que, movido por el deseo de compartir algo con la comunidad en estos extraños tiempos que vivimos (escribo esto en pleno confinamiento por el COVID-19) he pensado que no sería mala idea desempolvarlo.

Originalmente se distribuyó a mucha menor resolución (1280 x 720), pero para esta ocasión he vuelto a exportarlos desde Screenflow a la resolución a la que fueron grabados (2560 x 1440). O sea que se deberían ver con una nitidez cristalina :-)


Como complemento a los vídeo tutoriales y por si os animáis a meteros con ello, os dejo un par de recursos:

• Un montón de imágenes de referencia (un ZIP de 29 MB)

• Los “backdrops” o plantillas, para dibujar y modelar por encima (otro ZIP de 3 MB)


Por cierto: si alguno os lanzáis a modelar este proyecto, por favor, decidme algo en los comentarios :-)

Fase de Modelado

Como ya he comentado: aunque estos tutoriales datan de 2013, os aseguro que hoy día utilizaría el mismo flujo de trabajo para casi todo. Y por lo demás, este tipo de modelado (por subdivisión de superficies) es perfectamente trasladable a cualquier otro tipo de software 3D: Blender, Maya, 3DSMax, etc. (dejando a un lado algunas especificidades de Modo, como los Falloffs o los Action Centers). O sea, que incluso aunque no uses Modo quizá puedas encontrar alguna idea o técnica que te pueda ser útil.

violin_model_07

En la siguiente galería podéis ver el aspecto que tiene el modelo una vez finalizado y con la subdivisión activada. Como podréis observar, he buscado que tenga una topología “limpia y ligera”, dos conceptos fundamentales para este tipo de modelado.

Esta fase se desarrolla a lo largo de 4 tutoriales. Os dejo este PDF con el índice de los capítulos por si queréis encontrar fácilmente la parte que más os interese.

Creación de las UVs

Al igual que he comentado del modelado, la creación de UVs sería prácticamente idéntica hoy en día. Quizá cambiaría algo en la parte final, cuando se “empaqueta” todo, ya que si optara por crear los materiales fuera de Modo (en Substance Painter) probablemente buscaría tener un menor número de “Texture Sets”.

violin_uvs_03

En esta otra galería podéis ver el modelo final con un “checkgrid” típico de ajedrez. Veréis que la densidad de los cuadraditos cambia mucho de unas zonas a otras. Esto es porque, al crear los materiales dentro de Modo (y no necesitar que este modelo sea exportable, por ejemplo, a un motor de videojuego u otro software 3D) para cada material uso todo el espacio UV. No lo texturizo usando un único “Texture Set” para todo el modelo, que es lo que haría hoy día, si lo quisiera exportar y trabajar en Substance Painter. Pero por lo que respecta al desplegado previo y “planchado” de las UVs propiamente dichas, todo sería igual.

Esta fase se desarrolla a lo largo de 2 tutoriales. Lo mismo que para el de modelado, aquí tenéis un PDF con el índice de los capítulos para encontrar la parte que os interese.

Texturizado y Shading

Esta forma de texturizar es, en realidad, la que yo he utilizado “toda la vida” (desde que empecé en esto del 3D allá a finales de los 90): abrimos las UVs en Photoshop, creamos los diferentes mapas dentro de ese programa (Color, Bump, Reflexion, etc), exportamos a nuestro programa 3D, ajustamos los parámetros de shading, chequeamos con el preview render, volvemos a Photoshop para re-ajustar, etc. Todos los trabajos que aparecen en mi web están texturizados así.

A finales de 2019 decidí aprender, por fin, Substance Painter, y esto hará que en mis próximos proyectos mi flujo de trabajo para los materiales cambie bastante. Pero de todas formas, sigo pensando que para ciertas cosas (¿info-arquitectura?) la forma “tradicional” que aquí se describe todavía puede seguir siendo bastante válida.

De hecho, una cosa muy curiosa que he aprendido, es que casi todo lo que hasta ahora hacía dentro de Photoshop es perfectamente trasladable a Painter: no es realmente “aprender un sistema ni tan nuevo ni tan diferente”. Así que espero que, en cualquier caso, también a esta fase final le podáis sacar algún partido.

violin_final_05

Aquí tenéis otra galería con los renders finales, mostrando los detalles desde un montón de ángulos. La verdad es que un violín es una pieza preciosa y muy “satisfactoria” para modelar, texturizar e iluminar:

Esta fase se desarrolla a lo largo de 5 tutoriales. Y también os dejo el PDF con el índice de los capítulos.

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”.

Tutorial Photoshop. Importar y tratar topografía RAW

Hace unos días he necesitado crear una textura que incorporase la información del relieve de la Tierra, así que fui a la fantástica web de la NASA “Blue Marble Next Generation” y allí me hice con el archivo a máxima calidad “BMNG RAW Topography”.

Tal y como describen allí, este archivo supone una representación de la elevación de la superficie de la Tierra en metros, respecto al nivel del mar. Los valores positivos corresponden a todas aquellas zonas que están por encima del nivel de mar, y los negativos a aquellas que están por debajo, aún perteneciendo a las zonas continentales (como ciertas zonas de los Países Bajos, por ejemplo).

Todos esos datos están formateados como un archivo de 16 bits de tipo “RAW Binary” (.bin), de tal modo que se representa la superficie equirectangular de nuestro mundo mediante 86.400 columnas por 43.200 líneas. Así que al final, una vez lo convirtamos a una imagen, tendremos que cada grado de latitud o longitud de la Tierra estará representado por 240 píxels (86.400/360º=240). Se trata, pues, de una representación de muy alta calidad del relieve de nuestro planeta y además, no lo olvidemos, contamos con 16 bits de información (es decir: 65.536 posibles niveles, en  lugar de los 256 que obtendríamos con un archivo de 8 bits).

En el mencionado link veremos que tenemos un archivo comprimido de 1GB llamado “srtm_ramp2.world.86400×43200.bin.gz”. Una vez lo bajemos y descomprimamos el .gz tendremos un archivo .bin de varios gigas. La cuestión es: ¿cómo hacemos para convertir ese archivo en imagen?. Aunque no es el mejor programa para tratar con ese tipo de archivos, lo podremos abrir con Photoshop, siempre y cuando tengamos un equipo relativamente moderno y potente, con suficiente RAM. Para ello podremos seguir los siguientes pasos:

Desde Photoshop ejecutamos la orden “Abrir…” y buscamos el archivo .bin, pero será importante que le indiquemos al programa que debe tener en cuenta “Todos los Documentos” y que use el formato “Photoshop Raw” (cuidado, no confundir con “Camera Raw”). Aquí tenéis una captura:

all_documents_psd_raw

 

psd_raw_options_macA continuación se os abrirá un cuadro de diálogo donde tenéis que introducir los parámetros de la derecha.

Fijaos que las medidas 86400 x 43200 nos las facilitaban en el texto de la NASA. En “Canales” dejad sólo “1”. Por otro lado es importante indicarle que se trata de una imagen de “16 bits”.

En mi caso, que trabajo con un Mac, le he tenido que indicar esa opción (de hecho, si marco “IBM PC” se me abre una imagen totalmente inservible).

Y el “Cabecero” (“Header”) lo dejamos en cero, tal como nos indicaban en las instrucciones (“no header”).

Una vez le demos al OK, tranquilos, porque probablemente se os pasará un buen ratito para abrir la imagen (no recuerdo exactamente, pero igual fue 1 minuto o quizá algo más).

Y una vez la tengáis abierta, no os alarméis: parece que todo es negro ¿verdad?. Pues no. No es negro. Recordad que se trata de una imagen de 16 bits ;-)

Lo que sí es cierto es que la imagen tiene un problema y es que Photoshop no sabe interpretar las zonas de tierra firme que se encuentran bajo el nivel del mar y que originalmente, en el archivo .bin, tenían valores negativos. Lo que hace el programa es darles un valor de “casi blanco”. Acercaos mucho a la imagen y descubriréis que hay algunas “manchitas” blancas aquí y allá. Más o menos por la zona central, un poco hacia el norte, si os ponéis al 100%, podréis reconocer el perfil de la costa de los Países Bajos:

 

error_negative

Y si os acercáis más todavía veréis que el contorno de esas zonas NO tiene antialiasing, sino que están claramente pixeladas (detalle de la imagen superior).

Pues bien, lo que vamos a hacer ahora es darles a todas esas zonas un valor de “negro absoluto” para hacer que se queden al nivel del mar. Para ello usamos la herramienta “Varita Mágica” e indicamos en sus opciones que use una tolerancia de 32, desactivamos el Anti-alias y le decimos que NO sea Contiguo, tal como vemos en la siguiente captura:

 

varita

A continuación pinchamos sobre una de esas zonas blancas (o casi blancas), y esperamos. Paciencia, porque le volverá a costar un rato: se trata de una imagen enorme. Una vez nos haya seleccionado todas esas zonas del documento las llenamos de negro.

Bien, ahora tenemos una imagen enorme y aparentemente negra. Pero no es así.

Abrimos los Niveles y allí veremos un histograma que nos indica que casi toda la información se encuentra en la parte izquierda, en la zona de los tonos más oscuros. Gracias al hecho de que contamos con 16 bits, lo podemos arreglar sin fastidiar la calidad de la imagen, moviendo el manejador de las altas luces hacia la izquierda, justo hasta la zona donde se empieza a ver información en el histograma, tal como vemos en la siguiente captura animada:

levels

Al hacer esta operación veréis cómo en la imagen aparece por fin el relieve de la Tierra. Antes de cerrar la ventanita de los Niveles quizá notéis un fuerte banding. Tranquilos: dadle a OK, dejad que calcule (le volverá a costar un buen rato) y finalmente tendremos nuestra imagen con el relieve de la Tierra (y sin bandings). Si nos acercamos a Japón veremos esto, con el Fujiyama abajo a la derecha:

 

error_negative

Ahora podremos decidir si mantenemos la imagen como 16 bits, o si no nos hace falta tanta cantidad de información y lo podemos bajar a 8 bits. En cualquier caso, una vez nos llevemos la imagen a nuestro programa 3D y la usemos como Mapa de Desplazamiento, obtendremos algo como esto:

 

japon3d

Y aquí terminamos. Seguro que esto no lo vais a usar ni necesitar mañana. Pero algún día espero que quizá os pueda servir :-)

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.