Sombreador de metal realista

13

¿Cómo se crea un buen sombreador de metal?

Para diferentes metales y digamos más o menos erosionado / oxidado y así sucesivamente.

Sé que una diferencia de los materiales ordinarios es que el metal debería 'colorear' la luz especular, pero cuando hago eso con el oro, por ejemplo, simplemente se ve "amarillo", no metálico en absoluto.

Cualquier ayuda apreciada!

Valmond
fuente
1
Su pregunta parece que es algo simple y específico, pero en realidad no lo es. No puede replicar un aspecto metálico con un sombreador solo. Hacerlo requiere texturas adecuadas, por lo que necesita una textura especular brillante, probablemente un mapa de relieve si el metal es completamente irregular, etc. Si el metal está pulido en algún grado, debe reflejar el entorno (o alguna caricatura del mismo) como bien. No es un simple problema de "aquí hay un código de sombreador de metal".
Nicol Bolas
Observe también el tema de los reflejos anisotrópicos, un fenómeno que generalmente se observa en los metales cepillados.
David Gouveia
@David: Eso se ve realmente genial, tal vez es un poco exagerado para mí en este momento, pero definitivamente lo
reviso
@Nicol Gracias por el comentario, estoy completamente de acuerdo con el uso de texturas, mi sombreador 'normal' se compone de 3: Difuso, Resplandor y un mapa de control que incluye Especular, Potencia de especificación y reflexión (de un mapa de cubos)
Valmond
Una búsqueda rápida muestra muchos sombreadores de metal diferentes y directamente desde la boca del caballo: developer.download.nvidia.com/shaderlibrary/webpages/…
Patrick Hughes

Respuestas:

4

Recientemente he creado sombreadores para metales limpios y cepillados para mi juego en progreso y estoy muy contento con los resultados.

Metal limpio: la característica más importante en mis experimentos fueron las reflexiones del entorno con mapas de cubos. Los implementé con entornos de renderizado a textura en tiempo real, pero también las imágenes estáticas a menudo dan buenos resultados y es más fácil desenfocarlas. La segunda característica más importante fue el efecto fresnel, que mejora las silhuettes de los objetos. Esto, por ejemplo, le da un aspecto más redondo a las bolas. La iluminación especular no es necesariamente necesaria, ya que el mapa de cubos puede proporcionar los aspectos más destacados directamente. La representación HDR también es importante para que los reflejos del mapa de cubos se vean bien.

Metal cepillado: para los metales cepillados se obtienen buenos resultados con bastante facilidad utilizando una textura de pincel, algo como esto, junto con iluminación anisotrópica. Para la iluminación anisotrópica, puede encontrar tutoriales de la web, pero implementé el mío usando blinn-phong como base, pero del medio vector eliminé el 80% de la dirección tangente. Esto significa que necesita tangentes o bitangentes además de las normales en sus modelos. Los reflejos del entorno son difíciles para el metal cepillado. Puede muestrear desde múltiples direcciones desde el mapa de cubos según las direcciones tangente / bitangente, pero es posible que necesite muchas muestras para obtener buenos resultados. Sin embargo, esto no es necesariamente necesario, ya que la textura y la iluminación anisotrópica con múltiples fuentes de luz ya se ven bastante bien. El resultado final en mi caso se ve así:

Material de metal cepillado

msell
fuente
6

Como dijo Nicol en su comentario, hay muchas cosas que entran en un sombreador de metal de alta calidad. Para obtener los mejores resultados, su renderizador debe ser gamma-correcto y usar modelos de sombreado basados ​​en la física (vea particularmente los dos documentos de Naty Hoffman en ese enlace).

Dadas esas cosas, la forma típica de hacer un material metálico es tener un color difuso muy bajo o inexistente y una alta reflectancia especular, que varía del 50% al 100% (en un espacio de color lineal). Como notó, para algunos metales el especular será coloreado.

Debido a que la apariencia del metal es completamente especular con poca o ninguna difusión, la reflexión será extremadamente importante. Si solo refleja puntualmente las luces puntuales, obtendrá la apariencia de un material negro ya que falta el resto del entorno (incluso un metal muy rugoso reflejará una imagen borrosa de su entorno). Una forma típica de obtener más reflexión es usar un mapa de cubos. Sin embargo, la reflexión realista en los gráficos en tiempo real es un gran tema, y ​​hay muchos enfoques diferentes por ahí.

Nathan Reed
fuente
¡Gracias, esto es exactamente lo que estaba buscando! Al hacer reflexiones con un mapa de cubos, ¿tal vez debería usar una especie de iluminación ambiental como una iluminación especular muy alta?
Valmond
@Valmond No estoy seguro de lo que quieres decir con "utilizar una especie de iluminación ambiental como una iluminación especular muy alta". Todo lo que quise decir fue que la reflexión especular debería incluir tanto las fuentes de luz como todo lo demás en el entorno (sumado), donde la parte "todo lo demás" podría implementarse como un mapa de cubos. Una forma típica es generar varios mapas de cubos borrosos para diferentes rugosidades como se muestra aquí .
Nathan Reed