Hair Shader

1.       概述

Hair shader是专门用来渲染人类头发的

2.       Shader参数

Shader参数

描述

Wind frequency

设置顶点变化的速度

Wind wave0 amp

设置顶点变形的量和幅度

Wind wave2 amp

设置不同曲面上的顶点变化的量和幅度

Wind phase

设置头发动画变形的随机化

Detail tiling

设置细节tiling的幅度

Hair Color

设置头发的颜色

Primary spec color

设置镜面反射的颜色

Primary spec glossiness

设置镜面反射的光泽度

Primary spec shift

设置镜面反射的偏移

Secondary spec color

设置次级镜面反射的颜色

Sceondary spec glossiness

设置次级镜面反射的光泽度

Sceondary spec shift

设置次级镜面反射偏移

Bump scale

设置头发的Bump幅度

Rim multiplier

设置边缘强度的乘数

Diffuse wrap

设置漫反射遮蔽

View opacity

设置观察点不透明度,这取决于摄像机角度

Fill multiplier

 

 

3.       头发建模准则

由于在硬件方面AlphaBlending排序的限制,我们不能在这点上进行逐像素的排序,这样我们可以节省很多工作。所以我们需要一个非常廉价并且近似的方法:

渲染头发不透明区域(就是Alpha通道上为1的地方),然后渲染头发的背面,最后渲染头发的前面。

这种方式对于大多情况都适用,但也有不少限制,关于它的建模工作如下:

制作一个初始的头发套,这回是没有着色器,细节来源于头。

然后为所有头发片添加细节

重要提示:每个头发片使用单面建模。

4.       头发纹理准则

关于头发纹理,如果非常稀薄的头发就是让纹理的像素尽量完美,并尽可能少的做扭曲和旋转。这里有一个达成目标的方法,在Photoshop中制作一个非同一的噪波(uniform noise),然后进行模糊(strong MotionBlur)

然后为头发纹理添加细节,着色噪点透明混合区域等等。

重要说明:透明混合区域我们要避免过多的透明混合区域,我们只尝试在头发末端区域添加透明区域。

为了得到发丝的效果,我们要开启纹理的各向异性选项。

Diffuse texture

Diffuse texture alpha channel

5.       使用Hair Shader

Hair Shader为了近似排序默认使用2面渲染,所以不要在材质属性中再开启双面渲染选项了。

 

作者:无花无酒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

 

posted on 2009-12-20 12:03  无花无酒  阅读(1335)  评论(0编辑  收藏  举报