UE4 材质学习笔记06(布料着色器/体积冰着色器)

一.布料着色器

要编写一个着色器首先是看一些参考图片,我们需要找出一些布料特有的特征,下面是一个棉织物,可以看到布料边缘的纤维可以捕捉光线使得边缘看起来更亮

下面是缎子和丝绸的图片,与棉织物有几乎相反的效果,表面面对相机或者光源的时候比边缘更亮。所以我们要模仿两种现象,一种是边缘比中间亮,另一种是直视表面比边缘亮

这个技术在一次SIGGRAPH会议上被提出。下面是要用到的公式,这也是我们今天要模拟的东西。

通过着色器模仿布料的外观,但是并不能模拟布料的物理性质。

首先需要一个菲涅尔项,菲涅尔项是用来计算观察向量和表面法线之间的点积,虽然有现成的节点可以给我们使用,但是我们还是选择自己去实现它,因为我们想对它进行更多的自定义。

首先找到Camera Vector和Pixel NormalWS节点,进行点积之后连接到BaseColor,可以看到中间是亮的,然后到边缘逐渐变暗

然后我们可以用1-x节点,就会变成中间是黑的,到边缘逐渐变亮,这样我就可以让边缘变亮或者是中间变亮。

但是还需要添加一个power节点来调整效果的应用程度。这样颜色衰减就快很多了。通过指数就可以调整颜色衰减的快慢了,同时可以在加一个乘法节点用来调整亮度。

然后我们只需要复制上面的节点,但是不要1-x节点,就可以得到中间亮边缘暗的效果,然后把这二者相加,这样边缘和中间都亮了,但是这样做的好处是可以通过四个参数创建各种不同的布料效果。可以制作缎子,丝绸,牛仔布等等。

例如下面是分别模仿棉织物和丝绸的效果,只需要修改下面的四个参数

二.体积冰着色器

纹理会相对于相机向量的运动而移动

相关推荐
在下胡三汉26 分钟前
3dmax物理材质转换标准材质,物理材质转VR材质,VR材质转标准材质3dmax物理材质转标准材质插件
vr·材质
天水幼麟2 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
沧海一笑-dj2 小时前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
老虎06273 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html
大苏打seven3 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
Green1Leaves5 小时前
pytorch学习-9.多分类问题
人工智能·pytorch·学习
慕y2745 小时前
Java学习第十五部分——MyBatis
java·学习·mybatis
碣石潇湘无限路6 小时前
【AI篇】当Transformer模型开始学习《孙子兵法》
人工智能·学习
future14127 小时前
C#每日学习日记
java·学习·c#
碎叶城李白9 小时前
若依学习笔记1-validated
java·笔记·学习·validated