27 de octubre de 2009

First Post: hair solutions study.

Hi there!

First of all, for spanish readers, you will find a translated version of this entry at the end of the post.
Lo primero de todo, para lectores españoles, encontrareis una version traducida de la entrada al final del post.

This is the first entry in the Bone-Studio Technology Blog.

We will be posting from time to time, sometimes the posts will be posted soon after the last one, sometimes not, basically when we have time and do some resesearch.

Today i did a test over the hair rendering solutions included with max, also i introduced a free mental ray shader for hair, the p_HairTK, so i did a table with time comparisons and images to compare the quality and speed.

You can download the scene here:

http://www.bone-studio.com/blog/27_10_09/scene.zip

This scene has some upped settings like the mr_shadow map sam ples, and samp./Pixel in transparent shadows and some more i think..

The scene explanation is the following:

We have a cylinder with a hair modifier applied, the configuration of the modifier is:

Hair Count: 15000
Segments: 5
Passes: 2
Multistrand: 3
RootSplay: 0.54
Other settings are in the default configuration, the only additional change is when i define the p_HairTK as mr shader, that's all.

Here is the link where you can downloda the p_HairTK, it's a huge shader collection, it's really great!
http://www.puppet.tfdv.com/download/shaders_p_e.shtml

In the effect window i use the buffer when is defined in the table and the mr_prim when is defined too, the mr_prim voxel size is configured at 4.

You must know that with the buffer you can find some problems when wrking with transparency or refraction, also exporting some channels, using a shader like p_HairTK you will be able to get extra channels like the zbuffer or a mask for your hair, also you will not have any problem with transparency or refraction.
Also you must know that with the buffer you will only be able to work with some lights, with the mr_prim you will be able to use every light, also with mr_prim you will be able to use GI or Final Gather, with the buffer you don't.

The aspect of the hair with the p_HairTK is different from the standard shader because i tweaked almost nothing the shader, but you can get the aspect that you want working with the shader.

This is the legend for the table:

SCL: ScanLine Renderer
Mray: Mental Ray Renderer
Buffer: Buffer setting in the hair effect configuration
MR_PrimStd : MR_Primitive setting in the hair effect configuration
MR_PriMStd_pHairTK: MR_Primitive setting in the hair effect configuration with the p_HairTK shader applied in the hair modifier in the object
RT: Raytraced shadows in the light
ShMap: Shadow Map shadows in the light
MR_ShMap_TS: Mental Ray Shadow Map shadows in the light with Transparent Shadows activated (or Detail shadows as is called in Maya i think)
Fast_Rast: Fast Rasterizer activated in the mental ray renderer config, when there is no Fast_Rast i use the standard settings for sampling (1/4 - 4)

Here are the pictures and the table, click on the picture to see at full size:



















One thing about the last picture, the bottom plane have a checker inside the cutout slot in the material, the upper plane have the checker inside the transparency, the middle sphere has a solid glass material.

Of course you can get better antialiasing if you tweak the render and the shader, i did not tweaked this because i want a clean test, but i'm sure you can get better antialiasing and even better times.

Thanks for reading.

Cheers!

Juan Gea.

--------------VERSION EN ESPAÑOL-------------SPANISH VERSION--------------

Buenas!

Este es el primer post del blog tecnologico de Bone-Studio.

Postearemos de tiempo en tiempo, a veces los post seran muy seguidos y otras veces no, basicamente postearemos cuando tengamos tiempo y hagamos algo de investigacion.

Hoy he realizado un test acerca del pelo y las distintas soluciones incluidas con max, tambien he utilizado un shader gratuito de Mental Ray, el p_HairTK, asi que he realizado una tabla con comparaciones de tiempo y subido unas imagenes para compara calidad/velocidad

Podeis descargar la escena aqui:
http://www.bone-studio.com/blog/27_10_09/scene.zip

Esta escena tiene algunos parametros subidos como los samples de los sahdow map de mental ray y alguno mas.

La explicacion de la escena es la siguiente:

Tenemos un cilindro con un modificador de pelo aplicado, la configuracion es la siguiente:

Hair Count: 15000
Segments: 5
Passes: 2
Multistrand: 3
RootSplay: 0.54

Otros parametros estan en su configuracion por defecto, el único cambio adicional es cuando defino el p_HairTK como mr shader.

Aqui esta el link donde podeis descargar el p_HairTK, es una gran coleccion de shaders, es verdaderamente buena!
http://www.puppet.tfdv.com/download/shaders_p_e.shtml

En la ventana de efectos utilizo el buffer cuando esta definido en la tabla y mr_prim cuando esta definido tambien, la configuracion del mr_prim voxel es de 4.

Debeis saber que con el Buffer os podeis encontrar algunos problemas cuando trabajais con transparencia o refraccion, tambien exportando algunos canales, utilizando un shader como p_HairTK sereis capaces de extraer canales extra como el zbuffer o una mascara de vuestro pelo, tampoco tendreis ningun problema con las transparencias y las refracciones.
Tambien debeis saber que con el Buffer no funcionan todas las luces mientras que con los mr_prim si, ademas de que funciona la iluminacion global y el final gather, con el buffer no.

El aspecto del pelo con el p_HairTK es diferente del shader standard por que no lo he tocado practicamente nada, pero trabajando con el shader podeis conseguir un resultado muy parecido.

Esta es la leyenda para la tabla:

SCL: ScanLine Renderer
Mray: Mental Ray Renderer
Buffer: parametro Buffer en la ventana de configuracion del efecto de pelo
MR_PrimStd : parametro MR_Primitive en la ventana de configuracion del efecto de pelo
MR_PriMStd_pHairTK: parametro MR_Primitive setting en la ventana de configuracion del efecto de pelo con el shader p_HairTK aplicado en el modificador del pelo del objeto.
RT: sombras Raytraced en la luz
ShMap: sombras Shadow Map en la luz
MR_ShMap_TS: sombras Mental Ray Shadow Map en la luz con "Transparent Shadows" activado (tambien llamadas "Detail shadows" en maya, creo recordar)
Fast_Rast: Fast Rasterizer activado en la ventana "renderer" de configuracion de mental ray, cuando no hay "Fast_Rast" utilizo la configuracion por defecto para el antialiasing(1/4 - 4)

Mirad arriba para las imagenes y la tabla, haz click en las imagenes para verlas a tamaño completo.

Una cosa acerca de la ultima imagen, el plano de abajo tiene un checker en el slot de cutout, el de arriba lo tiene en el de transparencia, la esfera tiene un material de cristal solido.


Por supuesto se puede conseguir mejor antialiasing configurando el render y el shader, no he tocado nada de esto por que queria un test limpio, pero estoy seguro de que se puede conseguir mejor antialiasing e incluso mejores tiempos.

Gracias por leer esto.

Salud a todos!!!

Juan Gea.

1 comentario:

  1. Hola muy buenas. Gran aporte este tutorial, no conocía ese shader y me viene al dedillo ahora mismo. Gran blog también, le estado hechando un vistazo, y llevais poco, pero muy interesante.

    Respecto a este tutorial tengo un par de dudas:
    ¿Bajo que material aplicas el shader?, porque directamente no te deja aplicarlo. ¿Y como aplicarias un mapa de color?, por ejemplo si quieres hacer un animal con franjas o rayas. Estoy trabajando en un hurón y me gustaría hacerle el antifaz que tienen.

    De nuevo muchas gracias por vuestro aporte.

    ResponderEliminar