XSIforum.com

Metodología SSS_Fast_Skin

0 Usuarios y 1 Visitante están viendo este tema.

Metodología SSS_Fast_Skin
« en: 03 Agosto 2006, 23:19:16 »
Hola a todos. Llevo varios días intentando entender como funciona el shader SSS_Fast_Skin y como no me gusta nada de nada probar y probar cada vez que tenga que usarlo, he tratado de crear una metodología de uso que lleve más o menos a un alto porcentaje de éxito a la hora de usarlo y que nos dé seguridad de que no perderemos días y días sin conseguir un resultado aceptable.

En este tutorial el objetivo es obtener el color adecuado. Todo lo referente al brillo especular todavía no lo controlo mucho. Estaría bien si alguien aportase algo al respecto.  ;) Empezamos...

El tutorial está hecho con un objeto muy muy simple que es una cabeza de un tío muy feo, pero que el obejtivo era que se pudiesen hacer pruebas rápidas. Los resultados para este caso no son los óptimos, pero estoy bastante convencido de que el método es el correcto y que perdiendo algo más de los 20 minutos que he estado (más aplicando bump maps y un mapa de color más currado) se pueden conseguir los resultados que queremos.

Paso 1. Asignamos al objeto el shader SSS_Fast_Skin

Creo que no es necesario explicar mucho... En este punto aprovecho para comentar que si queremos asignar una textura al objeto, después de leer varios tutoriales y pruebas que he hecho, lo que mejores resultados da es conectar la textura al difusse_color y al epidermal_sss_color. Algunas veces no está de más probar a conectar también al overall_color a ver como queda. Aquí pongo el render tree de este tutorial. Muy simple como veis para hacer pruebas:



Paso2. Ponemos todos los weight a cero salvo el back_scatter

Pues eso todos los weight del shader a cero salvo el back_scatter. Una vez hecho esto, empezamos a ajustar el radius y el depth, hasta que quede todo negro salvo las zonas donde se debería ver rojo debido a la acción de la luz (orejas, los dedos de la mano, nariz,...). También puede ser necesario jugar con el weight si veis que habéis ajustado muy bien las zonas donde se debe ver rojo, pero se ve muy rojo.



Paso3. Subdermal Scatter

En este paso ajustamos el subdermal scatter. Una buena forma de empezar es poner el weight y el radius igual que el back_scatter, aunque todo dependerá de la geometría del objeto. Si queda como muy transparente o se ve como ruido es un claro indicio de que el radio necesita bajarse.



Paso4. Epidermal scatter

Prácticamente los mismos comentario que en el paso anterior. Una regla a ojo, es poner aquí el weight a casi el doble del weigth usado para el Subdermal y Back.

Posiblemente a estas alturas os preguntaréis si esto acabará pareciéndose a la piel...  :D



Paso 5. Difusse

Subimos el wieght a algo cercano a 1 (como norma general) y ya tenemos algo muy similar a la piel y que seguro que con una buena textura (no como la que he hecho para el tutorial), un buen bump map y ajustando los brillos especulares quedará genial!!



Los settings como quedaron al final para este "cutrejemplo":



Me haría muuuucha ilusión que si hacéis pruebas las publicaseis aquí con los settings que habéis puesto, así como toda majora o aportación al método que podáis dar.  ;)
« Última modificación: 18 Agosto 2007, 15:14:02 por Wounded Knee »

Re: Metodología SSS_Fast_Skin
« Respuesta #1 en: 03 Agosto 2006, 23:25:36 »
Paso 6 (Opcional). Overall color

Si conecto el overall color al SSS_Fast_Skin en este ejemplo concreto me queda así:



Más oscuro pero mucho más visible la textura. En definitiva creo que mejor, pero no en todas las pruebas que he hecho ha sido lo mejor conectar la textura al overall color... depende de la iluminación, el tipo de textura a usar... si alguien aporta su experiencia al respecto mejor  ;D
« Última modificación: 18 Agosto 2007, 15:14:37 por Wounded Knee »

Re: Metodología SSS_Fast_Skin
« Respuesta #2 en: 03 Agosto 2006, 23:39:17 »
Comentarios

Ni que decir tiene que si queremos un control absoluto sobre el resultado y que si queremos un resultado perfecto con todas las letras lo que tenemos que hacer es sin dudarlo currarnos unos mapas para cada uno de los scatter.

Así a priori yo recomendaría para el back_scatter un mapa que conectariamos al weight y en el que sería todo negro (o gris muy oscuro) salvo las zonas donde queramos que se vea rojo (orejas, naris, labios,...). En este caso no merece la pena hacer un mapa de color ya que el back scatter suele ser rojo allí donde se ve debido al color de la sangre.

En segundo lugar un mapa para el subdermal_scatter y que conectariamos al color. Este mapa podría ser el mismo que usamos para el difusse y epidermal pero en tonos naranjas. Creo que no merece la pena hacer un mapa para el peso en este caso.

En tercer lugar la textura que conectamos al diffuse, epidermal y si queremos al overall y que ya he comentado.

En cuarto lugar, un mapa de bump. Fundamental.

Y por último uno de los más importantes y que evitará ese aspecto como de cera, un mapa de brillo especular. Este mapa será en tonos blancos y azulados ya que aunque no lo creamos la piel tiende a ese color en sus brillos.

Un buen ejemplo de esto:

http://www.xsibase.com/forum/index.php?board=5;action=display;threadid=26157;start=15

MAHEBO

  • ***
  • 2393
  • [MAHEBO] - Graphic Designer & Concept Developer
Re: Metodología SSS_Fast_Skin
« Respuesta #3 en: 04 Agosto 2006, 00:44:54 »
Ole moebius vaya tuto que te haz tirado,  muy buena la iniciativa, que veo tanto detalle que le haz botado al tuto para explicarlo a la perfeccion, se entiende, seguro todo el mundo lo podra entender, en cuanto pueda y no me comprometo con nada aun, saco algun tiempo y  me pongo a estudiar mas a fondo el SSS, y   aportare algo, claro esta basandome en esta guia que nos haz dejado,  muy bueno el tuto,..gracias moebius...
« Última modificación: 04 Agosto 2006, 00:47:24 por Evolve »

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Metodología SSS_Fast_Skin
« Respuesta #4 en: 04 Agosto 2006, 01:45:37 »
Ajem, el tuto no es malo, pero no me gusta como suena eso de "probar a ver que pasa"... a ver si clarifico algunas dudas generales....

Para mapas podemos tener ambient, diffuse, epidermal, subdermal, back scatter, specular, bump y overall color.

  • - ambient: ambiente.. negro, o azul muy oscuro si es un entorno del mar, hehe.
  • - diffuse: un buen mapa bien currado del aspecto de la piel, mas o menos normal en cuanto a colores se refiere.
  • - epidermal: la primera capa de piel... cosas como toques sutiles de acne, imperfeciones, manchitas no muy fuertes.
  • - subdermal: la segunda capa de piel.... el mapa de diffuse pero modificado con colores mas fuertes y lleno de venas (y arterias, si quereis) bien marcadas.
  • - back scatter: esto ya no es una capa de piel... esto es basicamente la sangre. lo que hago yo es cojo el mapa diffuse, y le corrijo los colores para que sea con detalles muy suaves y un color sangre bien rojo y realista.
  • - specular y bump: supongo que ya sabreis lo que es. :P
  • - overall color: rara vez se usa, pero lo podeis probar si quereis. podeis meterle el mapa diffuse o uno ligeramente modificado. Es un mapa que representa el "color general" de la piel. Probadlo a ver que tal se ve. Yo personalmente rara vez lo toco.

Lo otro importante de saber es que los valores "Radius" y "Depth" es que se basan en "xsi units" (unidades de xsi), lo que significa que lo grande que sea tu personaje/model en relacion al grid afecta notablemente el aspecto del render.

Los valores del "weight" son mas cuestion personal que nada. Representan un valor de 0 a 1 (0% a 100%) de lo mucho que se muestra una capa de piel u otra. Es cuestion de mezclar y decidirte que queda mejor. Todo depende de tu personaje. Tal vez sea humano y no quieras mostrar demasiadas cosas internas, o tal vez sea un monstruo alienigena extravagante estilo Gollum al que se le ven notablemente las venas bajo la piel. Alla tu! ;)

Los de "depth" representan donde se situa esa capa de piel en particular en lo que a profundidad se refiere. Este valor, repito, es en unidades de xsi, y al igual que el "weight", es cuestion personal, y depende de lo que sea tu personaje.

Si hay mas dudas, disparad! O0

PD: De paso os muestro una mano que texturize hace unos meses.. mirad aqui y aqui. (No son las versiones finales y ya se que el bump no es muy bueno.)
« Última modificación: 04 Agosto 2006, 02:11:21 por alanf »

MAHEBO

  • ***
  • 2393
  • [MAHEBO] - Graphic Designer & Concept Developer
Re: Metodología SSS_Fast_Skin
« Respuesta #5 en: 04 Agosto 2006, 01:53:37 »
aclarado el asunto y repito mas que aclarado, alan ahora le doy la razón a maik cuando dijo en otro post que esto parecía estar  en messenger con los de avid, como sabes he??, muy buen aporte a el tuto, claro y consiso  O0

Re: Metodología SSS_Fast_Skin
« Respuesta #6 en: 04 Agosto 2006, 07:42:42 »
Muy buenas las aclaraciones alanf :D Gracias

Estaría bien que pusieses algun ejemplo de trabajo real (con su render tree y parámetros si es posible) para que podamos hacernos una idea visual de las diferentes aportaciones de cada mapa.

Creo que lo complicado de este shader no es tanto entender lo que es cada cosa (que aparece más o menos explicado en la ayuda) sino tener una metodología básica y >>entender<< visualmente que aporta modificar cada parámetro a la imagen final para no estar días y días perdidos probando en una imagen que con suerte le cuesta renderizar varios minutos cada prueba.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Metodología SSS_Fast_Skin
« Respuesta #7 en: 04 Agosto 2006, 13:11:42 »
Gracias. En cuanto a ejemplos, ahora mismo no tengo ninguno. Si hago algo os lo mostrare.

Otra cosa sobre el skinshader que se me olvido comentar es que el efecto se nota mas con iluminacion de point lights que con spot lights.

Re: Metodología SSS_Fast_Skin
« Respuesta #8 en: 04 Agosto 2006, 13:38:50 »
Genial, las dos explicaciones, pero leyendo esto me surje una duda... Ya sé que el tamaño en el que construyes al personaje normalmente da lo mismo, pero me pregunto si hay un número de unidades que le soláis dar a vuestras creaciones... Lo digo, más que nada, por estandarizarlo un poco. ¿De qué tamaño (en unidades de XSI) debería ser un ser humano?

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Metodología SSS_Fast_Skin
« Respuesta #9 en: 04 Agosto 2006, 13:47:19 »
Mucha gente se basa en el tamanio del XSI man. Vete a Get Primitive->Model->Man (o algo asi)

dracon

  • ***
  • 1582
  • XSI: the very best.
Re: Metodología SSS_Fast_Skin
« Respuesta #10 en: 04 Agosto 2006, 14:37:25 »
Muy bueno. Gracias a ambos por las explicaciones. En cuanto saque tiempo lo pruebo.

 O0

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Metodología SSS_Fast_Skin
« Respuesta #11 en: 04 Agosto 2006, 16:07:59 »
Ah, y si escalas un personaje tras haber preparado el shader justo como te gustaba porque lo trajistes a otra escena de un entorno y la escala estaba mal, en vez de ajustar los valores de Depth y Radius de nuevo, no pasa na... te vas a "Advanced Settings" del shader, y bajo "Miscellaneous" tienes "Scale". Metele ahi tu valor de escala tras escalar tu personaje, y todo se arreglara. Los valores originales no cambiaran, pero seran escalados, y se vera igual.

Se me olvido comentar ademas que para el "Radius", tienes que hacer que los valores tengan sentido, a lo que me refiero que respetes el orden de capas. Por ejemplo, para Epidermal usas 0.5, para Subdermal 0.35, y para Back Scatter 0.25.

Re: Metodología SSS_Fast_Skin
« Respuesta #12 en: 02 Octubre 2008, 04:34:51 »
bueeeenas

ya se que es un post viejito... pero para que abrir nuevos si aca esta tan bien explicado, no ? :D

he seguido este tutorial, he armado algo parecido a esto
http://www.xsiforum.com/forum/index.php/topic,3278.msg29996.html#msg29996

pero ponga como ponga las texturas, el skin se ve como un gran Epidermal scatter...


que estare haciendo mal ?


toda ayuda es bienvenida, gracias

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Metodología SSS_Fast_Skin
« Respuesta #13 en: 02 Octubre 2008, 06:25:27 »
No es cuestion solo de las texturas... casi lo mas importante que conectar cosas son los parametros, como el depth y el radius de cada "scatter", que son relativos al tamanio de tu objeto en tu escena.

Si no ves Epidermal seguramente sea que tu objeto es gigante y tus parametros no los has tocado.

Re: Metodología SSS_Fast_Skin
« Respuesta #14 en: 02 Octubre 2008, 23:35:58 »
Ajem, el tuto no es malo, pero no me gusta como suena eso de "probar a ver que pasa"... a ver si clarifico algunas dudas generales....

Para mapas podemos tener ambient, diffuse, epidermal, subdermal, back scatter, specular, bump y overall color.

  • - ambient: ambiente.. negro, o azul muy oscuro si es un entorno del mar, hehe.
  • - diffuse: un buen mapa bien currado del aspecto de la piel, mas o menos normal en cuanto a colores se refiere.
  • - epidermal: la primera capa de piel... cosas como toques sutiles de acne, imperfeciones, manchitas no muy fuertes.
  • - subdermal: la segunda capa de piel.... el mapa de diffuse pero modificado con colores mas fuertes y lleno de venas (y arterias, si quereis) bien marcadas.
  • - back scatter: esto ya no es una capa de piel... esto es basicamente la sangre. lo que hago yo es cojo el mapa diffuse, y le corrijo los colores para que sea con detalles muy suaves y un color sangre bien rojo y realista.
  • - specular y bump: supongo que ya sabreis lo que es. :P
  • - overall color: rara vez se usa, pero lo podeis probar si quereis. podeis meterle el mapa diffuse o uno ligeramente modificado. Es un mapa que representa el "color general" de la piel. Probadlo a ver que tal se ve. Yo personalmente rara vez lo toco.

Lo otro importante de saber es que los valores "Radius" y "Depth" es que se basan en "xsi units" (unidades de xsi), lo que significa que lo grande que sea tu personaje/model en relacion al grid afecta notablemente el aspecto del render.

Los valores del "weight" son mas cuestion personal que nada. Representan un valor de 0 a 1 (0% a 100%) de lo mucho que se muestra una capa de piel u otra. Es cuestion de mezclar y decidirte que queda mejor. Todo depende de tu personaje. Tal vez sea humano y no quieras mostrar demasiadas cosas internas, o tal vez sea un monstruo alienigena extravagante estilo Gollum al que se le ven notablemente las venas bajo la piel. Alla tu! ;)

Los de "depth" representan donde se situa esa capa de piel en particular en lo que a profundidad se refiere. Este valor, repito, es en unidades de xsi, y al igual que el "weight", es cuestion personal, y depende de lo que sea tu personaje.

Si hay mas dudas, disparad! O0

PD: De paso os muestro una mano que texturize hace unos meses.. mirad aqui y aqui. (No son las versiones finales y ya se que el bump no es muy bueno.)

muchas gracias alan! lo que tengo una duda, en el tutorial de Steve jubinelle conecta un mapa en blanco y negro en el backscatter, que funcion puede hacer? yo no lo entiendo

Re: Metodología SSS_Fast_Skin
« Respuesta #15 en: 03 Octubre 2008, 00:57:03 »
Me respondo yo mismo, este mapa en escala de grises lo conecta al weight map para indicar la " intensidad " del back scatter en diferentes zonas, como siempre, cuanto mas blanco sea la zona mas le afectara el backscatter