前言:本系列笔记记录UE上各种常见材质的制作方法;

文章目录

  • 1、失真(水流扰动)材质
    • 说明
    • 分析
      • texCoord节点
  • 2、动画材质
    • 说明
    • 分析
      • flipbook节点
      • frac节点
      • floor节点
      • componentMask节点
  • 3、两个材质混合渐变
    • 说明
    • 分析
      • lerp节点
      • VertexNormalWS节点
      • clamp节点
      • power节点
      • transform(Vector)节点
  • 4、纤维节点
    • 说明
    • 分析
      • PixelNormalWS节点
      • OneMinus(1-x)节点
  • 5、玻璃材质
    • 说明
    • 分析
      • CustomReflectionVector节点
  • 6、全息材质
    • 说明
    • 分析
      • blend_overlay节点
      • panner节点

1、失真(水流扰动)材质

说明

可用于湖泊河流等水流扰动展示(仅限顶部视角)

分析

通过时间节点与二维变量的乘积控制TexCoord节点中的UV实现材质的滚动;使用噪音纹理的RG双通道实现对UV坐标的随机扰动,

对纹理的双通道进行取值可获得二维数组/坐标轴,可用于对纹理原UV值进行扰动取样;

texCoord节点

任何对纹理贴图的改动都需要texCoord节点和add节点;

在材质节点中,TextureCoordinate缩写为TexCoord。
TextureCoordinate直译过来是纹理坐标。既然是纹理的坐标,那么它作为一个二维向量也就很容易理解了。
默认情况下,TextureCoordinate二维向量的每一个分量,取值范围都是0~1。
坐标(0,0)对应纹理的左上角,坐标(1,1)对应纹理的右下角。
当渲染物体表面时,像素在物体上的坐标,同样按照纹理坐标的计算方式。
比如一个平板,处于中心的点的坐标为(0.5,0.5),当渲染这个像素时,则取对应纹理的(0.5,0.5)坐标处的像素,直接贴过去。
这样就把纹理对应到物体表面了。

转载自:UE4材质中的TexCoord/TextureCoordinate

append节点:合并两个数组或字符串

噪音材质的红(u)绿(v)通道对原纹理进行扰动

合并纹理滚动和噪音扰动,产生水波扰动的效果!!!

复制一份,修改速度参数与噪音值引脚,避免重复的扰动效果

2、动画材质

说明

使用flipbook节点对序列帧纹理进行分片播放,实现动画材质的播放

分析

配置flipbook节点应用与纹理贴图的UV引脚上,或者用普通节点实现UV坐标的切换以分块播放纹理块形成动画;

flipbook节点

flipbook节点接受序列帧切换间播放速度 (Time),序列纹理切片行列数(6),纹理UV,输出UV切换直接用于贴图实例的UV引脚上,实现分块读取纹理UV按序播放形成动画的功能;

引用6×6的序列帧的纹理材质,展示如图

使用flipbook节点对爆炸纹理进行切片逐片输出,开始播放连贯动画

frac节点

frac节点返回参数中的小数部分

floor节点

floor节点将参数值四舍五入后返回

componentMask节点

componentMask节点勾选通道可屏蔽通道值(比如将二维节点转变为一维节点)

使用普通节点实现纹理的切换:
其中Time节点勾选暂停并设置结束值可使时间轴在指定结束时间内循环

使用普通节点实现动画效果:

3、两个材质混合渐变

说明

实现两个材质的混合

分析

通过lerp节点混合两个材质,其alpha值通过实例的法线贴图Z值确定,以产生混合边界平滑过渡的效果;在clamp节点中控制取值范围为(0,1),则指数无限大时通过底数大于1或小于1控制最后幂运算的取值;

lerp节点

LinearInterpolate线性插值节点,通过alpha值对两个输入节点进行取值0并控制线性输出;

VertexNormalWS节点

获取世界空间上下方向的法线

clamp节点

clamp节点控制输入节点的取值范围于最大最小值之间

power节点

取得输入值的幂

transform(Vector)节点

实现世界场景空间等到切线空间等的变化

插值节点实现两个材质的混合

控制alpha通道使用法线方向对材质取插值

切换世界空间的法线方向为石头实例的法线贴图

4、纤维节点

说明

对纤维材质的边缘和中心加上高光,使得展现毛绒散光效果

分析

本质是菲涅尔边缘高光效果和其取反效果的实现,摄像机视角和像素法线的点积形成中心区域发光的效果,OneMinus(1-x)取反获得边缘高光,用材质法线贴图使其从切线空间转换至世界场景空间以代替像素法线偏移以达到在材质表面形成高光的效果

PixelNormalWS节点

像素法线偏移(Pixel Normal Offset)可为水面之类的大型平面启用折射,此处常量偏移不会从远离屏幕之外之处进行读取。 它以顶点法线作为参考,然后通过逐像素法线和顶点法线之间的差别计算折射偏移,使这些平面不会移位

OneMinus(1-x)节点

对值取反

TransformVector节点

将法线贴图的输出从切线空间转换至像素法线空间

对摄像机视角和像素法线进行点乘,取反,得到类似于菲涅尔效果;

复制一份,取消取反,修改范围得到中心高光;

加入布料纹理,使用transfprm节点,实现材质直视面和边缘加入高光点亮的效果;

5、玻璃材质

说明

实现冰块材质的视觉效果

分析

根据摄像头不同方向视线设置物体表面的UV偏移,实现冰块表面的光线偏移效果,

CustomReflectionVector节点

(定制反射矢量)此函数使用法线贴图来生成一个反射矢量,该反射矢量独立于默认反射矢量以及基本着色器上的法线输入。就是reflect函数;

摘自:UE4材质节点介绍201130_A02
其他参考:UE4中基础节点中英翻译

将摄像机视角从世界空间到切线空间,使用CustomReflectionVector节点生成法线贴图(先默认为平面),用mask遮罩遮住B通道对噪音纹理的UV进行法线反射变换,产生镜子效果;

对UV进行偏移,使用Mask放出B通道控制光线反射处的深度;

应用法线贴图,实现冰块表面的粗糙展示;

使用噪音贴图的R通道代替深度,深度为常量时如同镜面折射,用相同的噪音值应用于深度后形成内部静态冰花效果;

6、全息材质

说明

实现全息材质的投影

分析

将菲涅尔描边效果和多纹理向上平移效果通过blend_overlay节点混合,噪音材质的UV接入屏幕位置与panner实现广告牌效果,接到自发光引脚,并设置透明度;

blend_overlay节点

混合-覆盖节点,对 Base(底色) 和 Blend(混合) 进行筛滤或相乘。此函数对 Blend(混合) 颜色执行比较,从而每当 Blend(混合) 比 50% 灰度亮时,就通过 **Screen(筛滤)**操作对 Base(底色) 和 Blend(混合) 进行组合。如果 Blend(混合) 比 50% 灰度暗,那么将像“乘”功能一样,将 Base(底色) 与 Blend(混合) 相乘。
摘自:【UE4从零开始 055】混合函数

panner节点

纹理平移节点,纹理接入UV引脚在speed引脚输入二维数组实现纹理x,y方向的平移;

取屏幕位置,实现简单的广告牌效果,与菲涅尔函数节点相乘,实现噪音贴图的中心显示

平移横纹并用add节点叠加

对法线贴图采用菲涅尔效果以实现边缘平滑过渡,基础色(即自发光色)采用白色,取基础材质中蓝色通道相乘,法线贴图作透明度模板,实现凸出部分变白,凹进部分变黑

与平移横纹使用blend_overlay节点混合(筛滤(Screen)在PS里叫滤色,按混合颜色使底色变亮),最后节点接入自发光引脚

其他学习参考:

置换贴图(Displacement map),凹凸贴图(Bump map)与法线贴图(Normal map)的区别

UE5——材质学习笔记(1)相关推荐

  1. UE5——材质学习笔记(3):水着色器

    常用材质节点:材质蓝图入门2 材质系统根节点设置属性详解:UE4笔记-材质 UE5新特性参考文档:剖析虚幻渲染体系(06)- UE5特辑Part 1(特性和Nanite) 文章目录 1.水面波纹-23 ...

  2. UE5 GAS 学习笔记 1.2游戏标签

    文章目录 前言 一.概念介绍 二.响应Gameplay Tags的变化 UE5 GAS 学习笔记目录 前言 这一节对GameplayTag游戏标签进行详细的讲解. 一.概念介绍 FGameplayTa ...

  3. Vray材质学习笔记08——陶瓷材质

    要点: 反射(菲涅尔反射) 纹理贴图 凹凸贴图 高光根据需要调节 案例: 建立如下场景 调材质 Diffuse (255,255,255) Reflect  (132,132,132) Hlight ...

  4. Vray材质学习笔记09-烤漆材质

    要点: 反射(菲涅尔反射)有模糊 高光大且模糊 建立场景 调材质 Diffuse 调一个有点红的颜色 Reflect 调成接近白色 Hlight glossiness 0.6 Reflect glos ...

  5. Vray材质学习笔记05——黄金材质

    要点: 1.反射控制颜色 2.反射模糊 3.高光各项异性 首先建立一个场景如下 接下来调材质 给Diffuse和Reflect颜色值 (113,74,5) Reflect glossiness值为0. ...

  6. Vray材质学习笔记07——镜子材质

    要点: 镜子主要是反射物体 反射值比较大一些 实例: 建立如下场景 其中的面片用来做镜子 现在开始调材质 Diffuse 值调的比较暗一些 Reflect 值调的比较亮一些 教程中用的值是(210 , ...

  7. UE5学习笔记(十二)——蓝图基础之材质蓝图及参数

    目录 一.材质蓝图中最终输入的引脚如何控制材质效果? 1.颜色(Base color) 2.金属(Metallic) 3.高光(Specular) 4.粗糙(Roughness) 5.自发光(Emis ...

  8. UE5 Shader基础学习笔记——13-20 DetailNormal/Smoothstep/Length/CeilFloorRound/DDXDDY/SinCos/Power

    UE5 Shader基础学习笔记--13-20 DetailNormal/Smoothstep/Length/CeilFloorRound/DDXDDY/SinCos/Power Lec13 Deta ...

  9. UE5学习笔记(十)——蓝图基础之操控物体移动

    目录 一.一个可移动物体的诞生 1.创建物体 [知识点1]什么是静态网格物体? 2.建立材质蓝图 [知识点2]vectorparameter节点和Vector3节点的区别 二.物体发生移动的三种常用手 ...

最新文章

  1. 31个好用的 Python 字符串方法,建议收藏!
  2. android View.isShown() 和 getVisibility() 的区别
  3. Spring Cloud Alibaba基础教程:几种服务消费方式(RestTemplate、WebClient、Feign)
  4. 数据结构的简单理解(4)
  5. 计算机巧用剪纸做画册教案,大班绘画剪纸制作的教案总结
  6. MFC中的几个常用类——CFileDialog
  7. 哪些是MySQL用于放置一些头文件的目录_在古希腊的知识体系中,两大部分是( )。...
  8. 深度神经网络中的梯度丢失与梯度爆炸
  9. POJ 2480 Longge#39;s problem 积性函数
  10. HDU2074 叠筐【打印图案】
  11. 【struts2】继承ActionSupport类
  12. 修改android开机动画
  13. 计算机驱动程序检测,驱动人生(检测电脑硬件自动安装驱动程序)
  14. Fingerprint指纹识别学习
  15. Windows10桌面IE浏览器图标无法删除的解决方案
  16. 钉钉安装需要管理员权限报错解决办法
  17. 国家税务总局全国增值税发票查验平台-客户端
  18. vs2013编译ffmpeg之四十二 zvbi
  19. python 处理snp的vcf文件,统计snp在基因的intron、exon还是上游、下游还是不在基因及基因附近
  20. Java汉字转拼音库,Pinyin4j

热门文章

  1. 动漫人物透视教程,透视画法入门教程
  2. Excel 截取字符串大全
  3. promis取值问题 --- 通过.then
  4. linux系统cpu温度监控,怎么看cpu温度-ZABBIX监控Linux主机CPU温度
  5. Java小白StudyDay09---代码块、final、多态、异常
  6. 微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
  7. Qt5创建标准字体对话框(QFontDialog类)
  8. 安装Ubuntu到U盘移动硬盘(支持UEFI启动)
  9. 电脑不要使用中文名的账户
  10. win server2012远程桌面允许多用户同时登录配置