ClothShader
1. 概述
Cloth shader是一个专门渲染布料表面的着色程序。它可以模拟多种布料,从帆布、丝绸、天鹅绒、面料、皮革、橡胶,甚至潜水衣等
2. Cloth shader参数
Shader参数 | 描述 |
Wind frequency | 设置受风影响下顶点变形速度 |
Wind wave0 amp | 设置受风影响下顶点变形波纹的速度和幅度 |
Wind wave2 amp | 设置在风影响下顶点变形在另一个波纹下的速度和幅度 |
Wind phase | 设置布料动画和随机变形 |
Anisotropy Shape | 设置各向异性形状(0.5为各向异性;1为径向;0为磁盘状) |
Sparks Pow | 设置spark层的平滑或尖锐的程度 |
Sparks multiplier | 设置spark层的强度 |
Sparks phase | 设置spark层的规模 |
Sparks frequency | 设置Spark层的频率 |
Sparks color | 设置Spark层的颜色 |
Diffuse falloff | 设置材质的漫反射衰减 |
Fuzzyness smoothness | 设置fuzzy层如何平滑的淡出 |
Fuzzyness strength | 设置fuzzy层的强度 |
Fuzzyness spreading | 设置fuzzy层覆盖表面的多少 |
Fuzzyness saturation | 允许你更改用于做fuzzy的漫反射纹理的饱和度,这个值越低代表它越灰,越高代表他越饱和 |
Specular multiplier | 设置镜面反射的强度乘系数 |
Alpha glow multiplier | 设置被漫反射图中Alpha掩盖的发光度乘系数 |
Metallic amount | 使着色更多的金属感 |
Reflection amount | 提高环境贴图的反射感 |
Fresnel bias | 影响物体的环境反射覆盖度多少 |
Fresnel scale | 设置环境反射贴图强度 |
Fresnel scale shadow… | 设置环境贴图在阴影下的反射强度 |
3. Cloth属性
一般的布料是不会有很强的反射的(即没有镜面高光)和依赖布料类型一样它的反射光的多少同样依赖于观察的位置。
其中一些有趣的布料类型的特性是它在一些锐利的边缘有小幅清晰明亮的感觉,这主要处理在一些纤维布上,反射部分光。而在一些毛茸茸的布料上会让光漏过,特别是在一些羊毛或棉织物上。
有些布料类型略有反光,如皮革和丝绸,在这类布料上,镜面高光有一个特殊的属性即Anisotropic(各向异性)。
4. 使用Cloth Shader
根据shader的上述特性,它是非常简单易用的。这里有5个参数:
Diffuse Falloff: 设置漫反射衰减
Fuzzyness Strength: 设置fuzzy层强度
Fuzzyness smoothness: 设置fuzzy层的平滑度
(这个值越高Fuzzy层变得越平滑)
Fuzzyness spreading amount: 设置fuzzy层覆盖表面的多少
(这个值越高,fuzzy层轮廓越锐利)
5. 案例分析:丝绸
在这个小教程里,我们将检查如何实现丝绸的效果。
首先你要以一个你想要达到的照片效果,然后以此为参考。我们要试图找到一些通用的丝绸样子的布料。
这是我们的原始模型,我们第一步是尝试匹配颜色,使漫反射材质尽量相似.
下一步通过设置fuzzy smoothness和fuzzy spreading为3.0表现表面的毛绒度。这样我们可以得到一个不错的毛绒外观。
丝绸会有一些镜面高光反射,所以下一步我们通过Anisotropic Specular参数来完成。
从上面的图我们会看到镜面反射不太合适,太亮,颜色不匹配。通过设置一个近似与漫反射纹理颜色相近的高光贴图来调整它。
设下唯一的事情是改变Anisotropic Shape为0.8。这样我们获取了一个径向的高光反射形状。此外Fuzzyness并没有参考图上的强,我们增加Fuzzyness Strength到2.2.
最终效果