[翻译]CryEngine3中ClothShader详解
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.
最终效果
转载于:https://www.cnblogs.com/wanax/archive/2009/12/16/1625890.html
[翻译]CryEngine3中ClothShader详解相关推荐
- Java中CAS详解
转载自 Java中CAS详解 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换 ...
- ASP.NET Core 中 HttpContext 详解与使用 |
ASP.NET Core 中 HttpContext 详解与使用 | Microsoft.AspNetCore.Http 详解 笔者没有学 ASP.NET,直接学 ASP.NET Core ,学完 A ...
- 函数中{}输出格式详解(C#)
Console.WriteLine()函数中{}输出格式详解(C#) Console.WriteLine()函数的格式一直没怎么注意.今天同事问起Console.WriteLine({0:D3},a) ...
- 【转】图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵
转自:图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵_sherlockreal的博客-CSDN博客_视角矩阵 图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵 图形流水线中坐标变换过程 ...
- oracle itl解析,oracle数据块dump文件中ITL详解
oracle数据块dump文件中ITL详解 dump出Oracle block后,可以看到事物槽,包含有事物槽号(ITL),XID,UBA,FLAG,LCK,SCN. 本文主要讨论FLAG标记的规则, ...
- android中getSystemService详解
原文地址:android中getSystemService详解作者:邹斌 http://blog.sina.com.cn/s/blog_71d1e4fc0100o8qr.html http://blo ...
- Oracle中CONCAT详解
Oracle中CONCAT详解 1.什么是CONCAT 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写 ...
- Java中LinkedList详解
Java中LinkedList详解 LinkedList底层是双向链表 单向链表 双向链表 LinkedList新增的方法 主要增加了针对头结点与尾结点进行操作的方法, 即针对第一个元素和最后一个元素 ...
- vue 生命周期的11中方法详解
vue 生命周期的十一中方法详解 vue 生命周期的定义 vue实例 从创建到销毁,也就是说从创建 -> 初始化 数据-> 编译模版 -> 挂载Dom -> 渲染 更新 -&g ...
- oracle语句中dual什么意思,oracle中dual详解
oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...
最新文章
- 定义文字用em、rem,效果和px一样
- python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单
- highcharts第一篇---简介和使用
- 【Python CheckiO 题解】Time Converter (24h to 12h)
- 中年发福谁之“过”?Science论文采用“双标水”法首次揭示全生命周期代谢规律...
- mysql中交集,并集,差集,左连接,右连接
- 2005年计算机课程,2005年暑期非计算机专业计算机基础课程教学研讨会成功举办...
- linux 6.5 mongdb php扩展插件,linux下为php添加mongodb扩展
- c#winform选择文件,文件夹,打开指定目录方法
- docker registry push 覆盖_Maven一键部署Springboot到Docker仓库,为自动化做准备
- pom文件各标签解释
- 澳洲计算机专业排名2015,计算机专业世界排名
- 读大前研一《思考的技术》-锻炼解决问题的思维
- do-while循环1加到100
- educoder锁存器和触发器设计之主从D触发器设计+门控D锁存器设计
- JavaScript设计模式浅析
- python+appium爬取微信运动数据,并分析好友的日常步数情况
- Failed connect to github-production-release-asset-2e65be.s3.amazonaws.com:443; 连接超时
- 【路径规划】基于蚁群算法求解机器人栅格地图路径规划matlab代码
- 康耐视VisionPro脚本BUG修改教程
热门文章
- 你真的了解width这个属性吗
- 【高级持续性威胁追踪】来自Mustang Panda的攻击? 我兔又背锅了!
- python应用程序无法正常启动0xc000007b_应用程序无法正常启动0xc000007b怎么解决
- SEP12.1.2现在支持自动卸载其他某些杀毒软件
- 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列一之综述简介,硬盘分区
- 51开发板用ADC采集模拟量
- 第 16 章	下载数据
- flume1.8 TailDirSource断点续传与文件更名后数据重复采集的bug修复
- 付款码支付-微信和支付宝付款码类型标识
- JAVA之基数排序LSD顺序