En este tutorial veremos cómo importar modelos 3D descargados de Adobe Stock a Unity, configurando Texturas PBR tanto para el Shader integrado como para el Universal Render Pipeline.



Transcripción del video

¡Hola a todos! En este tutorial veremos cómo importar modelos 3D descargados de Adobe Stock a Unity, configurando Texturas PBR tanto para el Shader integrado como para el Universal Render Pipeline.

De hecho, hay algunas pequeñas diferencias entre estos dos motores de renderizado que examinaremos en este tutorial, así que te aconsejo que lo veas hasta el final. No mostraré cómo hacerlo para el High Definition Rendering Pipeline porque no cambia mucho en comparación con el Universal Render Pipeline.

Para un ejemplo práctico, utilizaré un modelo 3D llamado Business Jet.

En el sitio web de Adobe Stock, hay miles de modelos 3D disponibles.

Cada modelo 3D se proporciona en formato OBJ con Texturas PBR acompañantes, por lo que se puede usar en prácticamente todos los software de gráficos 3D y motores de juegos, como Unity, Unreal, Blender, 3D Studio MAX y muchos más.

Dependiendo de tus necesidades, puedes comprar modelos 3D individualmente o con paquetes de crédito, a precios muy ventajosos.

Las Texturas de los modelos están en formato PNG y contienen canales separados para el flujo de trabajo PBR Metallic, por lo que tendremos Texturas para los canales de Base Color, Normal, Metallic, Roughness, Glow y Opacity.

Sin embargo, los materiales predeterminados de Unity requieren que la información de Smoothness esté integrada en la Textura Metallic. Además, la Smoothness es opuesta a la Roughness, que se proporciona en el paquete de Adobe.

Es posible convertir y empaquetar la información Metallic utilizando software externo, pero en Unity hay una forma de especificar las Texturas del flujo de trabajo Metallic como imágenes separadas, y eso lo veremos pronto.

Veamos cómo importar y configurar estos modelos 3D en Unity, comenzando con un proyecto en el que se utiliza el shader integrado.

Primero, arrastra tanto el archivo OBJ como el archivo MTL a la pestaña Project desde el paquete que descargaste de Adobe. El archivo MTL es necesario para especificar qué materiales crear y cómo mapearlos al modelo 3D.

Para ver los cambios en tiempo real, arrastra el modelo 3D desde Project a la escena, luego presiona la tecla F para encuadrarlo mejor.

Unity busca materiales y texturas dentro del modelo 3D importado, pero en este caso, las Texturas no están integradas.

Por lo tanto, seleccionemos el modelo 3D en el Project, luego abramos la pestaña Materials en la ventana del Inspector.

En el menú Location, selecciona la opción Legacy, luego haz clic en Apply.

Unity creará una nueva carpeta, llamada Materials, en la ventana Project. En esta carpeta, encontraremos los dos materiales, ya asociados con el modelo 3D, pero sin Texturas.

Entonces, arrastremos las Texturas que nos interesan desde el paquete de Adobe a esta carpeta. No estoy importando las Texturas Glow porque no se planean materiales emisores de luz para este objeto.

Ahora, seleccionemos primero el material completamente opaco.

En la ventana del Inspector, haz clic en el menú Shader y selecciona la opción Autodesk Interactive.

Como puedes ver, tenemos algunas opciones para el Rendering Mode, que en este caso dejaremos en Opaque, y sobre todo, ¡podemos especificar las texturas individuales del flujo de trabajo PBR Metallic!

Por lo tanto, asociemos las Texturas importadas del paquete de Adobe con los respectivos canales del Shader.

En el caso del Normal Map, en particular, hagamos clic en el botón Fix Now que aparecerá inmediatamente después de la importación.

También necesitamos hacer un par de observaciones respecto a la apariencia del Base Color, aquí llamado Albedo, y la Roughness.

El Base Color en realidad deriva de una mezcla de la Textura y el color presente junto a ella.

Por lo tanto, haz clic en ese color y llévalo al blanco puro para obtener, como resultado, solo el color de la Textura.

También puedes divertirte mezclando la Textura con diferentes colores para ver el efecto que crea.

En cuanto a la Textura Roughness, si el efecto final no es el que deseabas, selecciona la Textura en el Project, luego desmarca la casilla sRGB Color Texture en la ventana del Inspector y haz clic en Apply para evaluar el resultado.

Estas operaciones también deben repetirse para el material Glass, con la obvia diferencia de que, en este caso, tendremos que configurar Autodesk Interactive con el Rendering Mode en Transparent.

Este modo tomará la opacidad del canal Alpha de la Textura Base Color, si está disponible, pero también podrías evitar importar esta Textura y configurar manualmente el valor Alpha a 0 en el espacio de color junto a Albedo.

Ahora tenemos que aplicar las otras Texturas, prestando atención a lo dicho antes en el caso de las Texturas Roughness y Normal Map, es decir, desmarcando la casilla sRGB y haciendo clic en el botón Fix Now.

Ahora veamos cómo importar el modelo y sus Texturas en un proyecto que se ha creado utilizando el Universal Rendering Pipeline desde el principio.

La importación del modelo 3D y la creación de los Materiales ocurren como vimos en el caso del shader integrado, así que importaremos tanto el archivo OBJ como el archivo MTL en la ventana Project.

Luego, en la pestaña Materials de la ventana del Inspector para el modelo 3D, seleccionaremos la opción Legacy para los materiales y haremos clic en Apply, para que Unity cree la carpeta Materials con los materiales a especificar para el modelo.

En la carpeta Materials, importaremos las imágenes de Texturas para asociarlas con los materiales existentes.

En este punto, sin embargo, no podremos cambiar el tipo de Shader para cada material directamente a Autodesk Interactive, porque esa opción solo se puede usar con el shader integrado.

¡No te preocupes! Autodesk Interactive también está disponible entre las opciones de Universal Render Pipeline en el menú Shader.

También notamos que hay tres modos diferentes disponibles, a saber: Base, Masked y Transparent.

Para el material opaco del avión, usaremos el modo Base, mientras que para los vidrios, usaremos el material Transparent.

Comencemos asociando las Texturas con sus respectivos canales en el material Autodesk Interactive de Universal Render Pipeline.

Notamos de inmediato que el shader no aplica automáticamente las Texturas, por lo que nos corresponderá a nosotros seleccionar las diversas casillas Use Map para cada Textura.

En el caso del Normal Map, Unity debería ofrecernos la opción de arreglar la Textura haciendo clic en el botón Fix Now.

Si este botón no está disponible, aún podemos arreglar la Textura seleccionándola en el Project y especificando su tipo correcto, que es Normal Map, en el menú Texture Type, en la ventana del Inspector.

Las mismas consideraciones respecto a la Textura Roughness se aplican como en el caso del shader integrado, por lo que puede ser necesario desmarcar la opción sRGB en la ventana del Inspector de esta Textura y aplicar los cambios.

Para el material de los vidrios, necesitamos realizar operaciones similares, pero con algunas diferencias; primero, el Shader debe ser un Autodesk Interactive Transparent.

Las Texturas Base Color, Normal Map, Metallic y Roughness deben configurarse como ya hemos visto en otros casos, pero hay una diferencia importante con respecto a la textura de transparencia, llamada Opacity.

En el caso de Autodesk Interactive Transparent, la casilla Use Opacity Map nos permite usar el canal de transparencia presente en la Textura Base Color. Sin embargo, tenemos una Textura separada para el canal Opacity.

¿Cómo deberíamos proceder? Hay dos alternativas, dependiendo de si tu material es completamente transparente o no. Si el material es completamente transparente, como en nuestro caso, entonces podemos especificar directamente el valor de transparencia en el campo Opacity, sin usar una Textura, estableciendo el valor de Opacity en 0.

En el caso de un material que sea transparente solo en algunas áreas, podemos optar por el shader Autodesk Interactive Masked, donde también podemos usar nuestra textura Opacity.

También en estos casos, al igual que en el caso del shader integrado, es posible usar el mapa Glow proporcionado en el paquete de Adobe para el canal Emissive. No utilicé esta Textura porque no es necesaria para este proyecto, pero es bueno saber que esta opción está disponible.

¡Ok, eso es todo por este tutorial! ¡Espero que te haya sido útil! ¡Nos vemos pronto!

Buscar en los Tutoriales

Ingresa una frase o varias palabras clave separadas por comas para buscar.

Modelos 3D, tutoriales y recursos de gráficos por computadora de Francesco Milanese. Las licencias de uso de los modelos 3D se pueden adquirir en las tiendas externas enlazadas en sus respectivas páginas, de acuerdo con las condiciones de licencia aplicables. Francesco Milanese — Número de IVA: 06321250877. Contacto: info@francescomilanese.com


POLÍTICA EXTENDIDA DE PRIVACIDAD Y UTILIZACIÓN DE COOKIES