UE4学习笔记:我的材质集合(2)

1、关闭深度测试

关闭深度测试的材质无论前面是否有遮挡物都会显示,如下面的一个纯红色材质

UE4学习笔记:我的材质集合(2)_第1张图片

勾选材质属性Translucency栏下的Disable Depth Test

UE4学习笔记:我的材质集合(2)_第2张图片

这种材质可以用于坐标轴,如下图所示的坐标轴使用的这种材质,虽然在地板下面也能看到

UE4学习笔记:我的材质集合(2)_第3张图片

2、后期处理材质

一般用于后期处理体积,影响场景(后期处理体积内)最终整体渲染效果,更多关于后期处理材质内容参考:

https://docs.unrealengine.com/en-US/Engine/Rendering/PostProcessEffects/PostProcessMaterials/index.html

后期处理材质需要将MaterialDomain选择为PostProcess项

UE4学习笔记:我的材质集合(2)_第4张图片

下面材质将SceneTexture(还可以修改为其他类型实现不同的效果)作为PostProcessInput输入,如下连接节点,将场景输出颜色乘以(0,0.8,1)

UE4学习笔记:我的材质集合(2)_第5张图片

最终效果如下,整个场景的输出像素值都乘以某一个颜色,从而呈现各种色调的效果

UE4学习笔记:我的材质集合(2)_第6张图片

该材质的用法是放到后期处理体积的Post Process Material属性中

UE4学习笔记:我的材质集合(2)_第7张图片

3、世界绝对位置作为贴图UV

将世界绝对位置作为贴图的UV可以使贴图不会因为模型的大小、缩放或UV值而变形,比如石子路,路可以无限延长,而贴图不会拉伸,而且无缝衔接,材质连接如下

UE4学习笔记:我的材质集合(2)_第8张图片

上面的材质只能保证在XY平面正常贴图,也可以改成XZ或者YZ平面,但是要在三维平面中保持贴图正常就需要其他一些计算了(我也不知道要怎么计算,所以就只举例二维平面的),世界绝对位置一般要乘以某个值再作为贴图UV比较合适,这里是0.01,根据具体情况设置不同的值,贴到地面后效果

UE4学习笔记:我的材质集合(2)_第9张图片

4、线框材质

线框材质只要将材质属性的Wireframe选项勾选即可

UE4学习笔记:我的材质集合(2)_第10张图片

材质连接图

UE4学习笔记:我的材质集合(2)_第11张图片

效果如下

UE4学习笔记:我的材质集合(2)_第12张图片

5、灯光材质

灯光材质将MaterialDomain设置为LightFunction

UE4学习笔记:我的材质集合(2)_第13张图片

材质连接图如下,其中贴图是用不同颜色绘制的不同形状

UE4学习笔记:我的材质集合(2)_第14张图片

在场景中放置一个聚光灯照向地面,灯光的颜色改成了蓝色,Light Function Material设置为上面的材质

UE4学习笔记:我的材质集合(2)_第15张图片

效果如下图

UE4学习笔记:我的材质集合(2)_第16张图片

可以看出贴图的灰度值影响灯光的亮度,而贴图的颜色值不影响灯光的颜色,灯光的颜色就是聚光灯本身设置的颜色

6、分层材质

分层材质可以用于积雪覆盖等效果,更多内容参考:

https://docs.unrealengine.com/en-US/Engine/Rendering/Materials/HowTo/CreatingLayeredMaterials/index.html

先创建两个材质函数LayerBase和LayerTop作为底层和顶层

LayerBase

UE4学习笔记:我的材质集合(2)_第17张图片

LayerTop

UE4学习笔记:我的材质集合(2)_第18张图片

将Input In(Vector3)节点的属性Use Preview Value as Default勾选,就可以使用材质函数中默认的输入

UE4学习笔记:我的材质集合(2)_第19张图片

创建材质LayerMaterial,勾选Use Material Attributes

UE4学习笔记:我的材质集合(2)_第20张图片

按下图连接材质MatLayerBlend_Simple用于混合材质,WorldAlignedBlend输出混合Alpha

UE4学习笔记:我的材质集合(2)_第21张图片

效果图如下

UE4学习笔记:我的材质集合(2)_第22张图片

7、子UV材质(SubUV)

子UV材质在粒子系统中使用的比较多,用于播放动画,比如爆炸的效果使用的下面一张贴图

UE4学习笔记:我的材质集合(2)_第23张图片

创建材质SubUV,如下设置属性

UE4学习笔记:我的材质集合(2)_第24张图片

材质节点连接图

UE4学习笔记:我的材质集合(2)_第25张图片

创建一个粒子系统,应用上面材质

UE4学习笔记:我的材质集合(2)_第26张图片

设置Required模块的SubUV,水平和垂直个数都是6

UE4学习笔记:我的材质集合(2)_第27张图片

添加SubImage Index模块

UE4学习笔记:我的材质集合(2)_第28张图片

设置SubImage Index模块的SubUV属性栏,在粒子的生命周期中从第0帧到第35帧变化

UE4学习笔记:我的材质集合(2)_第29张图片

跟SubUV相关的主要就是这些属性,再设置其他属性比如粒子生成速率,生命周期以及速度方向等就可以实现一个爆炸的粒子效果。

UE4学习笔记:我的材质集合(2)_第30张图片

此外FlipBook也可以播放动画,如下图所示连接材质

UE4学习笔记:我的材质集合(2)_第31张图片

直接就可以播放爆炸动画了

8、变换贴图

该材质留出几个材质参数节点,可以用于缩放旋转和平移材质贴图,通过控制贴图的UV实现,材质连接图如下

UE4学习笔记:我的材质集合(2)_第32张图片

ScaleU和ScaleV用于缩放UV,并不是我们理解的缩放贴图,如果要改成缩放贴图应该使用倒数,效果如下图

UE4学习笔记:我的材质集合(2)_第33张图片

材质主节点还有一个Customized UV0输入,可以将上面的材质按下图连接,实现同样的效果

UE4学习笔记:我的材质集合(2)_第34张图片

Customized UV0默认不显示,我们可以通过修改材质属性的Num Customized UVs项将它显示出来,也可以填写更大的值显示Customized UV0、Customized UV1直到Customized UVn。

UE4学习笔记:我的材质集合(2)_第35张图片

9、修改顶点位置

材质主节点的World Position Offset输入可以修改顶点的位置偏移,比如下面的材质,位置偏移从法线贴图的B分量获取,再加上Panner节点让纹理贴图随时间移动就实现了水面流动的效果

UE4学习笔记:我的材质集合(2)_第36张图片

Panner节点参数

UE4学习笔记:我的材质集合(2)_第37张图片

最终效果

10、立方体贴图材质

立方体贴图需要输入三维的UV坐标,UVToLongLat材质函数可以将二维UV坐标转为三维UV坐标,如下图TextureSample节点的纹理贴图是一个立方体贴图TextureCube,

UE4学习笔记:我的材质集合(2)_第38张图片

效果

UE4学习笔记:我的材质集合(2)_第39张图片

上面材质的TextureSample节点纹理贴图可以换成CubeRenderTarget,并将CubeRenderTarget作为SceneCaptureCube的渲染目标从而获取当前场景的全景图。

UE4学习笔记:我的材质集合(2)_第40张图片

与UVToLongLat相对应的有一个LongLatToUV材质函数,将三维UV坐标转换为二维的,与UVToLongLat相反,大致用法如下,但并不准确,也得不到立方体贴图的其中一面

UE4学习笔记:我的材质集合(2)_第41张图片

TextureSample是一个全景图样子的二维贴图Texture2D,如下图

UE4学习笔记:我的材质集合(2)_第42张图片

只得到了很小的一角

UE4学习笔记:我的材质集合(2)_第43张图片

你可能感兴趣的:(UE4学习笔记)