教程
快捷键
D键 缩小图片节点
A键 Add
M键 Multiply
D键 Divide
ctrl + e 快速打开物体
测量工具
厘米为单位,所以下图是502.96米
介绍面板
节点里第三层是最重要的
新建工程
把ao和高度前面的节点换成HBAO与Histogram Range
更改置换高度和细分数
Distance &Blur
使边缘不要这么锐利
强大的Gradient工具
blend中的减法
导出
1.导出三维预览图
2.导出节点图
3.导出成果
导入UE
UE4中提变量
对通道的处理
Swizzle
Mask
Append
AppendMany
SplitComponents
Merge通道
RMAH:Rough/Metal/AO/Height(VertexNormalWS)
在UE里调用时,取消勾选SRGB
Roughness+Metalic+AO+Height置换贴法
Merge贴图每个通道都利用上
更好的复用:选择通道(StaticSwitchParameter)
Wrap + Perlin Noise加噪波,用模糊去除小小噪波的影响
自定义形状:瓷砖生成器+Pattern里的Input
边缘扭曲(Dirty noise)
颗粒感
划痕节点
法线转灰度图
Edge Detecct(边缘检测)
Directional Wrap
方向按形状的黑白权重扭曲
crop greyscale 裁剪
用法
shape splatter会和shape splatter blend color搭配使用
Flood Fill + Flood Fill to Gradient
使得石板表面有起伏,而不是直愣愣的
用结果提取normal的信息(normal改强一点)
使用在高度图已经做好的情况下
也可以再加上一个 ao,blend各取一半使结果更准确
给表面加一些鳞次栉比的色块细节 (clouds2 + slop blur gray)
沙漠填石板 (height blend)
暴露参数
黑色往白里,用乘法;白色往白里,用减法;
Metal材质(60)
Wood材质 (60/61)
Brick材质(61)4:00
岩浆材质(62)
沙漠材质Dessert(63)
泥土材质Dirt (64)
11.21
UE材质
- 细分曲面选项
No Tessellation 无细分曲面
Flat Tessellation VS PN Triangles(PN开销更大,效果更佳)
Crack Free Displacement (使用置换时发现裂纹可以启用修复)
- 置换
- 改UV(大小、偏移、旋转)(TexCoord)
横向和纵向单独调控
Mask(Component Mask)
偏移&旋转
下面这种好几块图案的就可以↑用以上方法挑选贴花纹理
- 改颜色(Desaturation)
- 对比度(CheapContrast_RGB)
- 法线强度
- 细节法线混合(BlendAngelCorrectedNormals)
方2:
- 多个法线图(大小、分辨率都一样的)的存储方式(以4张法线贴图为例)
制作一张不同法线分布的灰度图
在虚幻引擎里新建一个Texture 2D Array
放入全部法线
其中,数字4代表的是UV数,3代表的是法线图的数量-1。round节点得到的是0/1/2/3
- 粗糙度(两种方式)
方一:
方二:
- AO
AO如果没有节点的话,也可以通过与颜色节点相乘使用
- 发光材质+(通过alpha遮罩t贴图)
- 通道的选择
高级通道打包
节省纹理内存与性能
可以如下整理
一张颜色:
R
G
B
roughness
一张法线:
normal_x
normal_y
AO
(Height)
通过normal_x和normal_y来计算normal_z
整理成组
变量的排序
限制范围
(双层保险)
其他节点
WPO(World Position Offset):+SimpleGrassWind
用移动贴图制造模型移动的假象
3s材质:透明度+basecolor+subsurface color
这四种都可以有3s效果
Opacity
使用黑白贴图的时候要把mask打开
各向异性+Tangent(金属拉丝+车漆材质)
三平面投射
- 节省资源的简单做法
- 耗资源的复杂精细做法
做成材质函数
法线的三平面投射
可以从这里开始接着做
UE5/Unity中三平面投影法线贴图!【Ben图形/30】_哔哩哔哩_bilibili
用贴图的单个通道做假法线的快速办法
一张颜色贴图做假树皮效果(泰裤辣)
PerturbNormalLQ节点位置↓(用LQ别用HQ)
Derivates DDX DDY
制作出水晶球效果、玻璃立方体折射效果
节点如下:
折射与反射:做一颗玻璃弹珠
玻璃弹珠的表面有反射,中间是玻璃的折射
卡通材质
11.22
Material Domain 材质域
Surface 上颜色
Deferred Decal贴花(涂鸦)
下面Blend Mode必须选择Translucent
为已有材质上盖印一层材质
LightFunction灯光函数
加在灯光里,丰富灯光的质感
制作波光粼粼的光照
波光粼粼效果:
与IES灯光的区别
User Interface
案例一:制作动态Widget
新建材质M_UI
新建一个Widget蓝图
案例二:做一个魔兽的UI界面
一般会把UI界面拆成4段,以256*256的方式存储成一张图片
新建一个材质M_WOW_UI
新建四个M_WOW_UI的材质实例,通过VOffset与VTilling取出四个部分
例如:图片里第四排的
新建用户界面UI_WOW
后处理Post Process
+ scene texture
教程:
(中英字幕)虚幻引擎4.27!6种不同的后处理效果调试!_哔哩哔哩_bilibili
案例一:利用后处理做深度通道
注意:深度通道信息需要进入后处理框才看的见
案例二:遮罩效果
新建一个材质M_PP_Mask
将后处理框的后处理材质,放入M_PP_Mask
选择几个物体,勾选渲染自定义深度通道
得到的效果如下:
案例三:水下效果
ps:要看实时动画效果需要勾选上面的东西,再右键Preview
节点图:
1. 移动的法线
2.颜色滤镜 (后处理框可以改成无限区域)
3.漂浮物
4.暗角效果
效果:
案例四:红外线效果/热成像
参考
对比度的节点
1.power
在对比度中:(大于1时)亮的变暗,暗的更暗
0=》1=》大于1的走势图
0~1 先快后慢
大于1 先慢后快
2.cheap contrast
比较节省性能
节点如下:
1.丰富细节
2.上颜色
3.抠出物体(有温度的东西,在外面勾选渲染深度通道)
案例五:军事夜视仪
节点如下
1.制作栅格+2.上颜色
3.绿色里面的细节通道
效果(实际效果上栅格比这快很多)
11.23
材质的混合模式
常用的是前三个
Opaque:普通模式
Masked:Masked + Opacity Mask 抠图
Translucent:Translucent + Opacity 透明度
Addtive 、 Modulate:Translucent的平替
制作毛玻璃
Translucent:Translucent + Opacity 透明度
Shading Mode
材质函数
新建材质函数MF_UVs
第三步 公开到库 为了在蓝图中右键可以得到MF_UVs
对几个input函数值进行改名字、设置默认值 的操作
可以把几个输入参数适当的勾选“Use Preview Value as Default”
做小火箭的分层材质
(对于一个模型上的几种材质,可以选择上好几个材质,也可以选择一个uv有好多黑白通道)
准备好要上的材质函数
每个材质函数↓
小火箭材质(mask图+matLayerBlend)
BreakMaterialAttributes:把用到的属性全部连起来
方二:也可以直接勾选小火箭材质的“use material attribute”
如果整体有normal需要添加,可以加一个blendAngleCorrectedNormals节点
数学节点(11.23)
3Blue1Brown的个人空间-3Blue1Brown个人主页-哔哩哔哩视频GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili
abs绝对值(0以下默认都为0)
绿色时间短,图里有误
ceiling向上取整(马赛克效果)
floor向下取整(栅格化效果)
Saturate
该节点可用于将输出或输入值限制在0和1之间。在大多数现代图形硬件上,Saturate的指令成本几乎是免费的,所以您可以在任何时候使用该节点来将输入或输出值限制在0到1之间,而不影响您的材质的性能。
power
在对比度中:(大于1时)亮的变暗,暗的更暗
0=》1=》大于1的走势图
0~1 先快后慢
大于1 先慢后快
绘制小地图(11.23/11.24)
新建一个hud类,重命名为HUD_MiniMap
绘制在左上角(Texture Uwidth和Vhight为1)
或者绘制在右上角(Texture Uwidth和Vhight为1)
在world setting设置HUD Class
这样子可以简单实现一个小地图hud,继续优化
新建一个材质M_Minimap
将蓝图改为绘制纹理节点,放入新建的M_Minimap
小地图就绘制出来了(还可以创建实例材质MI_Minimap进行参数调节)
原理及关卡尺寸的由来
遮罩不动底下地图动
绘制箭头
在所处坐标点放大缩小功能
11.25 室外打光流程
光源六件套
可以先选择窗口==》环境光照混合器,来快速构建上面的一些东西
对于一个工程,新建一个Lighting文件夹,只保留Light Source/PostProcessVolume/SkyLight三样东西
后处理框可以搜索bright勾选上,并且把数字都改成1
拖入天空大气Sky Atmosphere
同时确保Light Source的Atmosphere Sun Light已经勾选了
加入体积云
加入雾,去除黑缝边界
若光照需要烘焙,还需要加一个LightmassImportanceVolume(更改尺寸使得它框住所有东西)(黄框)
lightmass portal:用于放在窗户框内,来使得天光和直射光更精细
调整日光角度
按住ctrl + L 然后松开L键,旋转鼠标就可以调整灯光
直接光照的CSM参数(Cascaded Shadow Maps)联级阴影
Distance Field Shadows距离场阴影
绿色字是重点结论
11.25 Foliage种草
首先,准备好你的小植物
然后点击foliage,将小植物拖进去
最后勾选植物,就可以愉快地刷刷刷了
11.25+11.28(地形软件)
一、WorldMachine
修改尺寸
导出高度图
在UE4里导入地形高度图
插播:spline功能
从Bridge导入材质贴图到UE
蓝图里的landscape栏搜索LandscapeLayerBlend
把刚刚做好的材质实例球丢进去
把三个图都改成Weight-Blended Layer(normal)
等笔刷变白的时候,就可以开始刷地形了(记得更改实例的缩放值)
方二 用MakeMaterialAttributes + Layer Blender
UE4foliage功能
reapply工具
过滤工具
导入通道
尺寸规范
https://docs.unrealengine.com/4.27/zh-CN/BuildingWorlds/Landscape/TechnicalGuide/
11.28
二、Gaea
操作:
鼠标左中右+Alt键
只留工程和教程录屏(笔记就不做了,太碎)
节点:
导出:
其他通道(草地遮罩与泥土遮罩)
合放在一张贴图上(使用RGBMix节点)
通道贴图可以导出4k的
导入到UE4
准备好三种材质的贴图
组一:岩石
组二:泥土
组三:草地
材质混合原理:
MatLayerBlend_Standard
黑的是Base Material Blended Material层
白的是Top Materila层
Alpha是黑白通道信息
每张贴图都受UV重复率控制
混合部分
用Gaea定完地形大型之后,在UE4里用地形笔刷微调
默认层一定要放在第一层
保存之后材质变为黑色,主要储存一下
地形重新给一遍材质
都存储Weight - Blended Layer(Normal)
开刷!
解决贴图重复率过高的问题
新建一个材质函数,重命名为MF_ Cam
打开MF_Cam,先写好BaseColor的规则
材质效果如下:越远材质变越模糊
接着连上法线的
以及高度的和粗糙度的
点击下界面空白处,勾选右边框 Expose to Library
修改M_Gaea的岩石、草、泥土
控制法线
调节到最合适的参数
地形草地工具Landscape Grass Type
使花模型分布在草的区域里
弹痕小案例+雪地案例(11.29)
先做一个
弹痕小案例
准备工作
第一人称工程必须是空白工程后期加到内容文件夹的,不是刚开始选的
新建一个RenderTarget重命名为RT_Test,创建一个摄像机 SceneCapture2D
并且将RT_Test拖入摄像机
新建材质M_Screen
放入场景里的新面片里
二:删掉刚刚的材质,来做弹孔
在创建一个实例材质,就可以调节白点的半径与位置了
在蓝图 TraceShoot 这块蓝图加上
当射击可以打印出数值之后
新建一个材质M_Screen(设置颜色和置换)(材质勾选双面)
右键创立实例材质,赋给平面
就可以打出红色孔洞了
雪地
建立下图的场景(人和立方体都与地面稍穿插一些)
新建一个材质M_PP_Trail,类型改为后处理
Offset的默认值可以根据后面雪地的厚度适当减小值(15)(注意这里是自定义深度CustomDepth减去场景深度SceneDepth)
给物体和人物勾选自定义深度
对材质建立实例。并且添加一个后处理框,添加刚刚的材质实例MI_PP_Trail,并且勾选范围无限大
对地面材质(可以是默认材质,也可以是原本的地面材质)勾选双面材质
得到效果如下:地面由下往上看上去,人物和物体有一层渐变
调整实例材质的深度,使得只出现才下来的白色痕迹
接着关掉后处理框里赋予的实例材质
给地面一个普通材质
新建一个BP actor重命名为BP_SceneCapture2D,在空对象里放入一个SceneCapture摄像机,垂直向上照射
放入场景,位置归零
在摄像机的后处理——渲染特性——新建一个材质,放入实例材质MI_PP_Snow
摄像机投射选择正交投射,正交距离改成平面的大小
新建一个RenderTarget,重命名为RT_ TrailBrush,放入摄像机的场景捕捉里
打开RenderTarget
新建一个材质M_TrailBrush,拖入刚刚的RT_TrailBrush
在捕获摄像机的蓝图的构造脚本里,注意3里面给的是材质M_TrailBrush
新建RenderTarget重命名为RT_FinalTrail
BP_SceneCapture2D的设置如下:
↓↓↓还可以在BP_SceneCapture2D蓝图里加一个按C键实时刷新脚印↓↓↓
第三人称蓝图里面的人物也要设置自定义深度
RT_FinalTrail效果如下:
地面材质M_Ground
鼠标点击选中RT_FinalTrail
来到M_Ground蓝图,搜寻找到它的Texture Obiect节点。将原本的Texture Sample节点改成框选的样子(做了模糊处理),在实例里调整模糊度。
脚印边缘做隆起效果
右键创建材质实例,给到地面,调整参数
摄像机的z轴多旋转了90度
snow的模型的x轴缩放轴前面变成负的
11.30灯光模块
静态光照烘焙
lightmass预计算光照
静态:
1.不可在运行中更改光源属性
2.用于烘焙(预计算光照)
3.运行中开销最小
4.可以制作出更好的额GI效果
动态:
1.完全动态光源
2.可以在运行中随意修改属性,灵活性最高
3.性能开销更高
固态:
1.对于静态几何体进行烘焙,对动态物体表现为动态光源
2.允许改变颜色和强度,但是无法移动
烘焙条件
mesh有光照UV,且UV排布必须在“第一象限内”(不能为了节省资源而重叠),尽量填满第一象限
光照贴图检测(绿色合适,蓝色过疏)
调整↓:
设置合适的光照贴图索引(即贴图UV也可以用来存储光照信息)
引擎内生成光照贴图
这样就有第三张光照贴图被生成了
实例mesh还可以通过在下方更改贴图lightmap密度
(勾选并且更改数值)
布置好光源六组件之后
先关掉天光的Affect Translucent Lighting和Visible
测试直接光照的下面两个参数
(同样天光也需要测试)每一次都单独烘焙测试
先用预览级等感觉光照差不多了,再用产品级
lightmass portal:用于放在窗户框内,来使得天光和直射光更精细
模型的自发光设置
反射的光追
方法1.直接开光追
方法2 放入一个反射球并且在设置里调节分辨率
打开光追
1.
2.
3.
4.
这样子设置之后,打开光追就可以显示为绿
UE5--Lumen
打开SRT软件光追(Software Ray Tracing) 的网格体距离场
硬件光追的开启
lumen的权衡设置
调整距离场精细度
由两方面组成(meshes + cards)
Meshes
1.打开距离场
2.选择物体ctrl+e打开,调整距离场分辨率大小
Cards
可以通过输入下面的指令调出右边的画面(alt + ↑ 键为重复上一次的命令,把1改为0就是回到原来的左边画面)
r.lumen.visualize.CardPlacement 1
可以通过后护理框的 Lumen Scene Detail来调节它的细节
距离场的参数
Nanite
虚幻引擎中的Nanite虚拟几何体 | 虚幻引擎5.3文档 (unrealengine.com)
当物体克隆的特别多的时候,将物体设置为nanite模式,界面可以更好运转一些
联机设置(局域网情况下)
新建一个文件夹SwarmAgent,从相应版本的UE的文件夹里拿取下列6个文件
打开里面的Swarm Agent软件,更改下图的数据
打开 SwarmCoordinator
SSAO&DFAO
打开显示的位置 | 参数调节位置 | |
SSAO | ![]() | ![]() |
DFAO | ![]() | ![]() |
距离场间接阴影
为了看清楚间接阴影的效果,需要关掉上面的SSAO和DFAO
https://docs.unrealengine.com/5.2/zh-CN/using-distance-field-indirect-shadows-in-unreal-engine/
1.确保这个物体距离场mesh已经打开,并且调高大小;
2.选中一个物体,可移动性(Mobility) 设置为 可移动(Movable)
3.进行烘焙
4.勾选该物体Lighting里的距离场间接阴影
用splinemesh + 构造函数来做水管
新建一个蓝图类BP_Pipe,在里面新建两个变量(类型为transform)
注意:这里的跟对象和splishmesh都改为可移动的moveable
用spline + 构造函数来做水管
等距的水管
12.5 水渍贴花
新建一个材质M_Decal
贴画的蓝色箭头是投射方向
12.6 特效
制作一个用来展示特效的场景
大概调一个雾蒙蒙的场景
Cascade(Particles)
常用:点击界面空白处可显示
边界框:制作大量粒子的时候(GPU)需要用到
制作一团烟花
制作一个粒子球M_Sprit
制作出相应的实例材质,放入粒子系统
加大数量
改变速度方向
制作下雪
制作一个粒子球M_Snow
做一个材质实例,放入粒子系统
效果图:
制作雨(细长粒子)
改成GPU渲染
加大粒子数量
更改粒子生命时长
改变粒子大小
改变粒子速度
更改颜色
更改初始值
Size by Speed
12.7 特效
制作火焰
火焰部分
新建一个材质M_Fire
新建粒子系统P_Fire
点击Required,在Sub UV里填上行数和列数
右键选择Subimage Index
选中后,在Sub UV里的In Val和Out Val里填上数字
能看到火焰开始播放起来了
location选sylinder,降低柱状的半径大小和高度;适当加大火焰粒子大小
减少对地面穿插产生的不真实感(在实例材质里调节Fade Distance)
润色一下形态(size by life + )
复制一个材质实例,重命名为MI_Smoke,放入合适的烟雾贴图
按之前的步骤调整出一个烟雾形态
附加步骤↓
Cylinder↓
效果:
制作火星部分
将之前的小白圆材质实例放入E_Spark
Cylinder
制作烟花
可以在竖条爆发之前加上烟雾
制作条带
先做出一个四处向外扩散的E_Head
新建一个Ribbon的材质
效果图
P_Beam
新建一个材质M_Beam(双面材质)
随机化 起始点切线的角度 & 终点的位置
效果:
P_Pickup 道具展示特效
1.E_Egg
2.E_Line
同理制作出E_Point
制作一个圆环材质M_Circle
效果
12.8 Niagara
快捷键
Shift + ? 重新播放
创建一个空白发射器
PS:每一次做都要记得勾选本地空间
面板了解
NS_Fire
1.E_Fire
Spawn Update里放入Spawn Rate(发射数量)
在Particle Update加入Solve Force and Velocity(模拟解算)
加上速度
Sub UV Animation:帧数1-24
降低生命周期以及速度值、Spawn Rate,让动画更真实。将粒子放到场景里,调整粒子的大小到合适。
勾选本地空间,在场景里更好拖动。
在Particle Update下加一个Drag力
2.E_Smoke
同理,用complete empty 的发射器制作烟雾效果
(标注的是比较不一样的地方)
3.E_Spark
细长粒子
扰乱场
NS_Music
目前的效果
新建一个Niagara Module Script重命名为NMS_Music
打开之后新建一个参数Noise_Strength
随意的播放一段音乐,场景里的粒子系统都会翩翩起舞
NS_Surface
先制作一个和上面相同的发射器
并且新建一个Nigara Module Script脚本重命名为NMS_Surface
找到并且放入以下重要参数:Position(系统里有的)、半径(手动创建)和球中心点(手动创建)
手动创建
复制一个NS_Surface,重命名为NS_Center,删掉NMS_Surface和noise,粒子数量改小
在右侧新建一个浮点类型CenterPoint
简单推测上面的原理(Set 粒子CenterDistance是一个百分比完成率,即(终点-起点)/自己规定Distance长度),然后Scale Sprite Size粒子大小再根据这个比例来规定大小。
所以会出现下列的情况:
规定Distance = 30时,超出这个距离的粒子不会立即变小,直到进入30的范围内才开始缩小;
规定Distance = 1000时,由于粒子们所在距离远小于1000,导致大家已经缩到一个很小的比例,看不见了。
奇异博士传送门
新建一个喷泉类的发射器,重命名NS_Portal,打开之后删除速度与重力,将原型location改成Portal Location(外圈200,手柄大小5),方向改成垂直地面,速度改大(5000)。
细长粒子
调整 粒子生命周期、重力、噪波力大小
点吸引力:使得内部也有粒子被吸进去
加上灯光渲染(灯光渲染只能CPU),这样子,门的亮光就能照向地面了 ,碰撞力必须加在最后一个
打火石
新建一个空白奶瓜发射器NE_Base
加上速度
再新建一个发射器继承自NE_Base,重命名为NE_Spark
新建一个奶瓜系统,里面放入NE_Spark,放到场景里观察大小
12.9 摄像机知识
新建一个sequence
新建一个相机
对相机右键转化成spawnable(作用:这样子关掉sequence时候相机也会消失,避免调整别的东西的时候误碰到sequence相机)