导图社区 UE5虚幻5 使用
包含基础操作、插件、材质纹理、人物、动画、蓝图、AI、UI、粒子、音效、多人、2D等知识,广泛应用于游戏开发、虚拟现实、影视制作、建筑可视化等众多领域。
编辑于2023-09-03 20:53:39 广东这是一篇关于SolidWorks的思维导图,主要内容包括:工具,快捷键,知识,窗口。汇总了实用的快捷键,帮助用户更高效地进行操作。希望通过这些内容的介绍,能让大家更好地掌握SolidWorks,在工程设计的道路上更加得心应手。
这是一篇关于乐理知识的基本知识,介绍了最常见的音符时值,包括全音符(4拍)、二分音符(2拍)、四分音符(1拍)、八分音符(半拍)、十六分音符(1/4拍)、三十二分音符(1/8拍)。
Houdini的基本使用,涵盖窗口界面的布局与模式选择、基础设置的调整与保存、知识补充中动态和表面操作符的相关概念,以及实用的快捷键操作,为初学者搭建起通往Houdini奇妙世界的知识桥梁,助力大家开启创意无限的三维创作之旅。
社区模板帮助中心,点此进入>>
这是一篇关于SolidWorks的思维导图,主要内容包括:工具,快捷键,知识,窗口。汇总了实用的快捷键,帮助用户更高效地进行操作。希望通过这些内容的介绍,能让大家更好地掌握SolidWorks,在工程设计的道路上更加得心应手。
这是一篇关于乐理知识的基本知识,介绍了最常见的音符时值,包括全音符(4拍)、二分音符(2拍)、四分音符(1拍)、八分音符(半拍)、十六分音符(1/4拍)、三十二分音符(1/8拍)。
Houdini的基本使用,涵盖窗口界面的布局与模式选择、基础设置的调整与保存、知识补充中动态和表面操作符的相关概念,以及实用的快捷键操作,为初学者搭建起通往Houdini奇妙世界的知识桥梁,助力大家开启创意无限的三维创作之旅。
UE5
窗口
上方
顶部菜单
文件
导入到关卡中:导入包含实例的FBX场景
导入后会生成一个[FBX场景导入数据]
静态网格体:使用的模型(不包含实例化模型)
***优化:可在导入后,将他们创建为[已打包关卡Actor]
窗口
环境光照混合器
世界分区:开放世界大地图使用
世界分区编辑器(世界分区)
使用世界分区:工具-转换关卡(将关卡转换为世界分区关卡)
新建关卡中的Open World和空白开放世界,即为世界分区关卡
数据层
可以做到何时进行 加载/卸载 场景的任何东西
***数据层大纲视图(数据层):控制世界分区关卡的层级,以及加载与卸载
数据层资产:其他-数据层
数据层类型:编辑器/运行时
编辑器:编辑器控制
Editor
**运行时:游戏运行中可控制
Advanced
已卸载Unloaded:未加载
已加载Loaded:已加载但不可见
随时可用,但一开始不会被调用
已激活Activated:已加载并可见
***数据层可以在不同的世界分区关卡中使用,与图层类型
注意
*子数据层需和父数据层类型一样
**父数据层是已卸载和已加载时,子数据层不可见
物体-数据层
数据层资产:物体所在的数据层
世界分区流送
世界场景设置-世界分区设置
***预览网格:显示流送分区网格
颜色亮的网格:已加载的网格
圆环:加载大小
网格:单元大小
网格:自定义分区网格
网格名称:分区名
***单元大小:网格大小
越小,分的越细
***加载大小:加载范围
建议是[单元大小]的2~3倍
物体-世界分区:物体所在的分区
运行时网格:物体所在的网格名称
None(无),则由分区自动决定
名字输入错误时,则当做None
已空间加载
简单理解 开启:使用网格分区与数据层 关闭:使用数据层
开启:根据网格分区,以及所在数据层是否激活决定
关闭:物体所在数据层加载时,物体就会加载
HLOD
其他-HLOD层:自动低精度模型
开放世界关卡保存时会自动创建一个HLOD
物体-HLOD
添加HLOD层后:走出分区后,会自动生成一个低精度模型
世界分区·蓝图节点
关卡
***可使用[已打包关卡蓝图]优化场景
工具
Nanite工具:一键开启Nanite
Triangle Threshold:三角面数(显示高于此值三角面数的所有网格体)
调试
控件反射器:调整窗口大小
模式
选项模式(默认)
地形模式
管理:创建地形
新建-从文件导入:高度图地形
确保修改分辨率,位置高度,缩放,分段,组件数量
分段大小:越大,地图越大
每个组件的分段
建议1x1
组件数量:X和Y的组件数量
一般为正方形,例如17 x 17
雕刻:雕刻地形
Edit Layers:编辑图层
右键-创建:创建图层
绘制:绘制地形材质
1. 制作地形材质
2. 绘制-层:给每个材质创建[权重混合层(法线)]
3. 调整材质球参数
UV缩放:可减少重复感 (0.05左右)
地形
地形开启Nanite
***每次修改地形后需要点击[重新编译数据]
植物模式
绘制:生成植被
1. 添加植被
2. 勾选上会绘制出来的植被
对齐到法线:对齐地形表面
类似树的 需要关闭
植被
Nanite植被
***保护区域:选择性确定是否开启。
开启后,使周围的叶子正常工作,特别是远处的植被(不会变的光秃)。但会提高性能消耗 (看影响帧率多少决定是否开启)
记得点击[应用]
性能比较(植被越多开启Nanite越强,较少时不需要开启)
网格体绘制
颜色:绘制网格体顶点颜色
权重:绘制网格体权重
建模模式
Create创造
Pattern阵列
PolyModel多边形建模
SubDiv:表面细分
Deform形变
Smooth平滑
Warp变形:弯曲,张开/挤压,扭曲

**Lattice:晶格形变(FFD)
*Displace置换
Transform变换
**Pivot锚点:设置原点(会连同资产库中的一起改变)
Center 中心 Bottom 底部
MeshOps网格操作
Simplfy简化:减面
目标模式:减面的方法 百分比:按百分比比例来减面 三角形数量:按三角形数量来减面
Remesh重构网格:增加面
**Merge合并:合并网格体
可以用于修复穿插
破裂模式
动画模式
配合Sequence制作动画
放置Actor
光源(灯光)
Lumen
源半径:阴影柔和或硬(虚实)
间接光照强度:反射光强度
体积散射强度:体积光强度
必要开启高度雾的[体积雾]
光照通道:仅影响相同通道的物体
物体也需调整为相同光照通道
***性能:灯光剔除
最大绘制距离:灯光可见距离(超出数值则不可见)
最大距离淡化范围:灯光可见的衰减距离
体积
导航网格体边界体积(NavMeshBoundsVolume):AI的可移动范围
***后期处理体积(PostProcessVolume):后期处理
后期设置
***无限范围:效果为无限范围,而非仅体积内
混合权重:添加后期效果的占比(0:无,1:完全后期)
后期特效
Exposure:曝光
建议 
自动曝光:暗处自动补光
最低亮度/最高亮度:越低越亮
若最高=最低:固定亮度
人物蓝图的摄像机可调整仅自己的曝光属性等
全局光照:Lumen
反射:Lumen
Lemen Reflections-高质量半透明反射
加强 水面,玻璃等的反射,但会影响性能
后期处理体积可设置为蓝图
**触发体积(TriggerVolume):触发碰撞检测
可在蓝图设置[碰撞重叠][退出重叠]等事件
*阻挡体积(BlockingVolume):空气墙
过场动画
电影摄像机Actor(CineCameraActor):适合过场动画的摄像机
右键-控制:进入摄像机视角控制
退出
所有类
游戏
***摄像机Actor(CameraActor):适合游戏用的摄像机
右键-控制:进入摄像机视角控制
退出
为玩家自动启用
缆索Actor(Cable Actor):模拟绳子、绳索、线条
缆绳-高级-启用刚度:开启后,不具有弹性
物理约束Actor(PhysicsConstraintActor):将一个物体约束在另一个物体上
设置约束的移动轴和旋转轴
Angular Limits:旋转限制
摆动1运动:X轴旋转
摆动2运动:Y轴旋转
扭曲运动:Z轴旋转
约束Actor2的移动性需为[可移动]
可配合缆索Actor使用
目标点(TargetPoint):可用于标记或获取一个位置,来获取位置信息(变换)
运行
新建编辑器窗口(PIE):独立窗口运行
高级设置:调整窗口(分辨率等)

玩家数量:修改玩家数量
设置
隐藏视口界面:隐藏工具UI
引擎可延展性设置:设置引擎质量
一般是Lumen的消耗较高,可以降低[全局光照]和[反射]
侧方
项目设置
项目-地图和模式:修改人物角色
引擎
输入
(旧)引擎-输入
可在蓝图添加输入事件
轴映射(前后/上下,左右):W/A/S/D
操作映射:蹲/跳/趴等...
增强输入系统
1. 输入-输入操作
值类型:布尔,V1(浮点),V2(Vector2D),V3(向量)
触发器:特殊输入操作
在Triggered触发
下移:按压力度(按键下压到阈值时触发),持续触发
适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
仅对手柄有效
驱动阈值:按压力度(0~1)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
已按下:按下到阈值时触发,仅触发一次
驱动阈值:按压力度(0.1~1)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
已松开:松开到阈值时触发,仅触发一次
长按在Ongoing持续触发,已松开在Triggered触发一次
驱动阈值:松开力度(0~1)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
弦操作:绑定操作(先按下绑定的操作后才能使用本操作),持续触发
弦操作:绑定的操作
驱动阈值:按压力度(0~1)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
点按:短按(时间内连续按键),仅触发一次
短按时间内Ongoing持续触发 短按时间超时则无效,触发Canceled
点按释放时间阈值:可触发的时间(越大越容易触发)
受到时间膨胀影响:是否能被时间膨胀影响
驱动阈值:(0~1,默认0.5)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
组合:多个[输入操作]同时执行
 不能和拥有多个按键的操作组合,但可以为其创建一个新的单个按键操作
组合操作:需要同时按的[输入操作]
取消操作:用于取消组合的[输入操作]
驱动阈值:(0~1,默认0.5)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
脉冲:按一次单次触发,长按重复触发(每间隔X秒触发)
适合用于重复的操作,例如重复攻击,重复远程攻击 长按时Ongoing持续触发 达到触发限制时触发Completed 无触发限制时松开触发Canceled
开始时触发:按下时是否触发(关闭则在间隔时间后再触发)
间隔:间隔时间
触发限制:最多可触发多少次(0=无限次数)
受到时间膨胀影响:是否能被时间膨胀影响
驱动阈值:(0~1,默认0.5)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
长按:长按X秒后触发
长按时Ongoing持续触发
保存时间阈值:长按需要的时间
为一次性:只触发一次(关闭则持续触发)
受到时间膨胀影响:是否能被时间膨胀影响
驱动阈值:(0~1,默认0.5)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
长按和松开:长按X秒后松开触发
长按时Ongoing持续触发
保存时间阈值:长按需要的时间
受到时间膨胀影响:是否能被时间膨胀影响
驱动阈值:(0~1,默认0.5)
鼠标、键盘无效。 适合扳机键、摇杆等需要压力的来使用 类似摇杆的死区
修改器:输入效果
到世界空间:X轴和Y轴互换(前后变左右,左右变前后)
否定:反向(乘-1)
适合用于前后/左右
W和D为1 ,S和A为-1 所以给予S和A[否定]
响应曲线-指数
响应曲线-用户定义
平滑
拌合输入轴值:用于Axis2D(Vector2D)中的Y轴
x轴不需要添加此项
按差量时间缩放
标量
盲区:死区(手柄摇杆用)
视野缩放
2. 输入-输入映射情境:管理[输入操作]的按键映射
为玩家可映射:可以被玩家重新修改键位
3. 增加输入系统蓝图
添加输入映射:为控制器添加增强输入系统
获取EnhancedInputLocalPlayerSubsystem:增强输入本地玩家子系统 添加映射上下文 Mapping Contexet:放置[输入映射情境] Priority:优先级
建议放到控制器
添加映射上下文:添加操作
Priority:优先级(越高越优先)
[高优先级上下文]会覆盖[低优先级上下文]里相同操作的按键
移除映射上下文:移除操作
***EnhancedInputAction XXX:增强输入操作事件(输入操作的名字)
Triggered:触发器事件 (无则为长按时,持续触发) Started:按键开始时 Ongoing:触发器正在触发时(无触发器则不触发) Canceled:触发器触发失败时(无触发器则不触发) Completed:按键结束时 Action Value类型 布尔:在触发时为True,完成后(包含Completed)为False V2:轴映射  Elapsed Seconds:正在触发时长(触发器完成后不再计时) Trigger Seconds:触发成功后时长(成功后开始计时)
碰撞:可添加物体响应通道,检测响应通道,碰撞预设
渲染
允许静态光照:开启时,禁用材质的AO通道
世界场景设置
每个关卡的[世界场景设置]都不一样
场景-摧毁Z:摔落死亡高度(自动销毁)
游戏模式:本关卡的游戏模式
关卡途中可切换游戏模式
编辑器偏好设置
插件:管理插件设置
编辑器视口
视图设置
渲染
渲染图片
方法1:控制台-HighResShot
方法2:高分辨率截图
方法3:F9(截图)
渲染视频
视图模式
Nanite可视化:查看Nanite信息来优化
Nanite总览
三角形:网格体原本的面
簇:Nanite开启后自动分的组
**过渡绘制:越重叠的地方越红(需要优化)
可以使用合并网格体
[右上方]工具
表面对齐
当前位置进行游戏:右键-从此处进行
在鼠标处进行
大纲
物体显示(已卸载)恢复
到窗口-世界分区-世界分区编辑器:找到该物体,右键-加载此场景
或使用[图钉]钉住
下方
内容浏览器
调整缩略图(查看的角度与大小):右上角[设置]-缩略图编辑模式
按住左键调整位置
按住右键缩放
**批量编辑:右键-资产操作-通过属性矩阵进行批量编辑
***内容浏览器中,先打一个空格在打中文,即可改中文名(不会卡拼音)
控制台
***Help:命令大全(所有指令)
限制帧数:t.maxfps (限制最高帧数)
截图:HighResShot
切换UE语言
culture=zh-Hans:简体中文
culture=en:英文
Nanite信息:r.Nanite ShowStats
指令台(运行时使用)
~:指令台
按两下~:查看打印的信息
Stat FPS:显示FPS
快捷键Ctrl+Shift+H(需开启[实时])
Stat unit:显示数据

快捷键Shift+L(需开启[实时])
Stat UnitGraph:显示数据绘制图表
Slomo X:X倍速(X为数字)
倍速变快,消耗也会太大
其他界面
物体(静态网格体)
Nanite
导入Nanite网格体设置
***开启[编译Nanite]
关闭[生成缺失碰撞],默认自动生成的效果不好
**使用Lumen的话,关闭[生成光照贴图UV]
看情况选择是否开启[合并网格体]
注意事项!!!
支持
Nanite支持静态光照贴图烘焙
*Nanite网格体支持平移、旋转和缩放
*Nanite支持[顶点位移材质],但不能使用太大的位移(会影响剔除)
若使用较大的位移材质,也可增加[边界缩放Bound],但消耗性能
外局[细节面板]-渲染-高级:边界缩放  边界缩放:增加渲染的范围,即剔除。越大会越影响性能。
Nanite支持[半透明材质],但消耗较大,不建议
Nanite植被,不要用[半透明材质],消耗较大,不建议
尽量别使用太多分开的个体,会过渡绘制(交接处)
不支持
5.5版本前,Nanite不支持[顶点有变形动画的骨骼物体]
补充
推荐Nanite模型与[虚拟纹理]一起使用
注意是Nanite模型 无需将所有模型都转换成[虚拟纹理]
Nanite网格体的占用大小
 注意Nanite网格体的大小(约150万个三角形)要小于4k法线贴图纹理的大小(19.64MB) 虽然Nanite格式会变小。 但始终多边形越多,占用的内存就越多。(依旧需要减少没用的面)
查看Nanite网格体占用大小

适合Nanite的网格体

Nanite优化
***查看Nanite信息视图
控制台输入r.Nanite ShowStats:Nanite绘制信息
Total总共
Clusters:群集(簇)
Tris:三角面
Nanite工具:可为多个网格体一键开启Nanite
UE创建美术资产(Nanite)
外局[细节面板]上方
[添加]可直接给物体添加组件
*旋转移动组件:移动旋转
***静态网格体可直接拖入蓝图
***已打包关卡蓝图(关卡实例蓝图):打包场景
功能原理:将场景中的[静态网格体]合并以创建,变成渲染优化的蓝图Actor 详细:将[静态网格体]变成[已打包关卡Actor(PackedLevelActor)]类型蓝图的实例  
使用
1. 右键-创建已打包关卡Actor:打包关卡成蓝图
使用[创建关卡实例]:只生成关卡,不会打包成蓝图
不推荐。 因为打包成蓝图后,它会在内容浏览器中,就更方便多次重复使用
2. 确定整体的中心轴
3. 生成一个[关卡]和一个[关卡实例蓝图]
修改内容
方法1:打开对应的关卡,进行调整
方法2:选中蓝图,点击[编辑]或Shift+E进行调整
ESC:退出编辑
Ctrl+S:保存修改
方法3:选中蓝图,右键-关卡-编辑:进行调整
提交:保存修改并退出编辑
丢弃:不保存并退出编辑
关卡实例蓝图
实例:所有的实例内容
注意
只有同模型同材质同属性(例如可移动属性)才被认作为一个实例网格体
修改内容之后,其他的所有都会同时更新
多个[已打包关卡蓝图]也可被打包成[已打包关卡蓝图]
**世界分区中,已打包关卡中的每个物体仍然是根据自身所在网格决定的
导入包含实例的FBX场景
面板
LOD 0:最高精度模型
Nanite模型为LOD Auto(自动LOD),则只有LOD 0
编译设置
***构建比例:修改物体大小(非缩放)
设置完点击[应用改动]
***生成光照贴图UV(Generate Lightmap UVs):不使用光照烘焙时关闭

设置完点击[应用改动]
碰撞
碰撞复杂度:碰撞体
项目默认:自带碰撞体,无则使用简单碰撞
将简单碰撞用作复杂碰撞:简单碰撞
各种形状碰撞体 或 ***[自动凸包碰撞]
移除碰撞:移除简单碰撞体
将复杂碰撞用作简单碰撞:复杂碰撞(自动生成,不可用于物理模拟)
碰撞预设,物体或检测响应通道
可添加物体或检测响应通道
消息日志
部分报错可以点击后面的[修复],进行修复
右键-引用查看器:查看所选资产的所有引用
补充
UE的单位为cm
内容浏览器中,先打一个空格在打中文,即可改中文名(不会卡拼音)
资产
迁移:复制选中项到其他项目中(不会影响原项目)
快捷键
Ctrl+Shift+S:完全保存
复制:Shift+右键
粘贴:Shift+左键
场景
**DCC软件操作:Alt+左键/中键/右键
四视图:Ctrl+中键,往上/下/左/右拖拽
透视视图:Ctrl+中键单击 或 Alt+G
F9:截图
Shift+F11:UE全屏模式
F10:除视图外,全到侧边栏模式
*F11:视图全屏模式
*游戏视图(不显示图标UI):G
**显示场景的碰撞体:Alt+C
显示雾气:Alt+F
**调整太阳:Ctrl+L(松开L)
**记录当前位置:Ctrl+1/2/3.../0
**到记录位置:1/2/3.../0
*鼠标处生成点光源:L+左键
P:查看导航(AI的移动范围)
运行时
**模拟(视图运行):Alt+S
可自由移动且调整物体和模拟物理
*模拟时,选中物体,K:将物体设置到当前位置
***运行时,F8:切换游戏/编辑器状态
Debug调试
~:指令台
; :自由视角
Enter左边第二个键
点击位置后,O:以点击位置为中心查看
V:切换显示模式
***B:显示材质各项属性
' :查看AI状态(视野/导航等)
Enter左边第一个键
小键盘0/1/2/3/4:显示隐藏AI各状态栏
0:导航 1:AI状态 2:行为树状态 3 4:AI视野(视线范围,失去视线范围,跟随目标位置)
TAB:旁观者视角(自由视角)
优化
无光照/线框/白膜...视图:Alt+2/3/4..../9
*Alt+7:光照复杂度,灯光复杂度(越白越消耗性能)
*Alt+8:着色器复杂度,材质复杂度(越白越消耗性能)
***GPU查看器:Ctrl+Shift+,

物体
*框选:Ctrl+Alt+左键
***物体对齐到地面:End
**吸附到其他物体:移动时,按住V
*临时性移动坐标轴:Alt+中键
(不会修改原来的坐标轴)
修改坐标轴用
聚焦到物体:F
隐藏物体:H
显示所有物体:Ctrl+H
**编辑:Ctrl+E
*选中物体,Shift+E:选中当前关卡中全部的选中物体
T:切换是否可选择半透明物体
找到选中物体:Ctrl+B
地形/植被
笔刷大小:[ ]
物理
常用属性
物理材质(PhysicalMaterial)
物理材质参数
抖动问题
恢复力:弹性
密度:重量
破裂(破碎)
破裂网格体的要求
破裂模式
Generate:生成
新建:生成破碎网格体
重设:还原
Fracture:切割方式
 黄色:随机切割 蓝色:按图案切割 绿色:自定义切割
统一:平均
簇:分成几簇,大小有对比
圆形:适合玻璃破碎
补充
Shift+E:碎块分离显示
Shift+B:切换碎块颜色显示
绘制交点:显示破碎的聚焦点
物理场
Anchor Field:固定碎块(范围内碎块固定且不可破坏)
破碎网格体需在Initialization Fields添加物理场
Sleep/Kill Field:稳定/移除碎块(范围内碎块撞击地面后快速稳定)
Master Field:触发破碎(范围内碎块进行破碎)
打包
打包前检查
项目设置-平台-window:游戏启动画面/游戏图标icon
游戏图标icon需要.ico格式
优化?
删除测试用的东西?
打包类型
使用项目设置(开发):测试版本
可使用指令台
F11:切换全屏/窗口
发行:正式版本
无法使用指令台
补充
打包问题
若window无法打包,需安装Visual Studio社区版
*需下载的内容
.NET Core 3.1
Windows 10 SDK(自己的版本)
尽量全部√,包含Win11
打包出问题的话,尝试编辑器切换成英文再打包
***首次打包需要很长时间,后续打包很快
命名规范
资产
前缀/后缀
通用型(General)

关卡Level/Map
Map_
HDRI贴图
HDR_
骨骼网格体Skeletal Mesh
SK_
静态网格体Static Mesh
SM_
蓝图(Blueprints)

蓝图Blueprint
BP_
Actor组件Actor Component
AC_
场景组件Scene Component
SC_
蓝图函数库Blueprint Function Library
BPFL_
蓝图宏库Blueprint Macro Library
BPML_
蓝图接口Blueprint Interface
BI_
枚举体Enum
E_
结构体Structure
F_
游戏实例GameInstance
GI_
游戏模式GameMode
GM_
材质(Materials)

材质Material
M_
材质实例Material Instance
MI_
后期处理材质Post Process Material
PPM_
材质函数Material Function
MF_
材质参数集Material Parameter Collection
MPC_
次表面描述文件Subsurface Profile
SP_
贴花Decal
M_/MI_ _Decal
贴图(Textures)

纹理Texture
T_
漫反射/基础颜色纹理Texture (Diffuse/Albedo/Base Color)
T_
_D
法线纹理Texture (Normal)
T_ _N
粗糙度纹理Texture (Roughness)
T_ _R
透明度纹理Texture (Alpha/Opacity)
T_ _A
环境光遮罩纹理Texture (Ambient Occlusion)
_Occlusion:AO
T_ _AO
凹凸纹理Texture (Bump)
T_ _B
自发光纹理Texture (Emissive)
T_ _E
蒙版纹理Texture (Mask)
T_ _Ma
镜面反射纹理Texture (Specular)
T_ _S
金属度纹理Texture (Metallic)
T_ _Me
包装纹理Texture (Packed)
T_ _P
金属度+粗糙度+环境遮罩Texture(Metallic+Roughness+Ambient Occlusion)
T_ _MRO
粒子效果(Particle Effects)

粒子系统(Cascade)
PS_
Niagara发射器
FXE_
Niagara系统
FXS_
Niagara函数
FXF_
骨骼网格体动画(Skeletal Mesh Animations)

动画蓝图Animation Blueprint
ABP_
绑定Rig
Rig_
骨架Skeleton
SKEL_
动画蒙太奇Animation Montage
AM_
动画序列Animation Sequence
AS_
混合空间Blend Space
BS_
混合空间1D Blend Space 1D
BS_
动画合成Animation Composite
ACP_
动画(Animations)

关卡序列Level Sequence
LS_
主序列Master Sequence
MS_
其他(Other)

数值曲线Curve Float
CF_
颜色曲线Curve LinearColor
CC_
向量曲线Curve Vector
CV_
曲线表Curve Table
CT_
数据表Data Table
DT_
植物(Foliage)

植物Actor Actor Foliage
AF_
地形草地类型Landscape Grass Type
LGT_
静态网格体植物Static Mesh Foliage
SMF_
人工智能(AI)

AI控制器AI Controller
AIC_
行为树Behavior Tree
BT_
黑板Blackboard
BB_
装饰器Decorator
BTDecorator_
服务节点Service
BTService_
Task
BTTask_
场景查询Environment Query
EQS_
2D纸片(Paper 2D)

纸片图像序列Paper Flipbook
PFB_
Sprite
SPR_
Sprite组 Sprite Atlas Group
SPRG_
瓦片地图Tile Map
TM_
瓦片集Tile Set
TS_
物理(Physics)

物理材质Physical Material
PM_
物理资产Physics Asset
PHYS_
破碎网格体Destructible Mesh
DM_
Chaos解算器Chaos Solver
Chaos_
几何体集Geometry Collection
GC_
几何体集缓存Geometry Collection Cache
GC_ _Cache
物理材质遮罩Physical Material Mask
PMM_
声音(Sounds)

音效衰减Sound Attenuation
SATT_
音效并发Sound Concurrency
SCon_
音效提示Sound Cue
SCue_
对话音效Dialogue Voice
DV_
对话声波Dialogue Wave
DW_
音效类Sound Class
SCla_
音效类混合Sound Class Mix
SMix_
用户界面(User Interface,UI)

字体Font
Font_
Slate笔刷Slate Brush
Brush_
Slate向量图数据Slate Vector Art Data
VD_
Slate控件样式Slate Widget Style
Style_
控件蓝图Widget Blueprint
WBP_
-仅个人-
函数
Function_
动画命名
站立
idle
LR-idle
行走
walk
跑
run
跳跃
jump
下坠/下落
falling
冲刺
sprint
翻滚
roll
蹲
crouch
攻击
Attack
格挡
guarding
受伤
hit
其他
资产
Assets
角色
Character
技能
冷却
CD
Cooling Down
优化
重要
场景
静态物体调整为[静态]
优化Nanite
可以使用合并网格体
Nanite资产
删除镜头以外的耗内存的东西
需要预先加载的物体可以放在地底(游戏看不到的地方),使用时再移动位置
**合并物体(合并物体减少面数且仍然可单独调整):工具-合并actor-分批
**使用[打包型关卡蓝图]来打包场景
蓝图
[事件tick]每帧都运作,后面只运行一次的要使用once
部分功能可以使用定时器代替[事件tick]
注意[时间轴]节点的后续节点不要太多,会有不必要的性能消耗
材质
使用材质实例
材质优化
减少遮罩贴图的使用(植被的叶子使用 面>遮罩贴图)
粒子
尽量使用Unlit(无光照)
默认的Sprite即是无光照
光照
灯光
节省面积光的使用
***设置灯光的[最大绘制距离]和[最大距离淡化范围]
控制动态灯光的影响范围,少重叠(重叠的部分会添加复杂度)
阴影
灯光阴影的消耗:(点光>定向光>聚光)
左边:消耗大
减少[投射阴影]的模型数量
是否生成光照贴图UV
不需要光影的物体的材质为[Unlit无光照]
查看
统计数据-engine-unit:查看Draws绘制的面数
***GPU查看器:查看场景各物体的占用
优化视图模式
光照复杂度:灯光复杂度
着色器复杂度:材质复杂度
内存/硬盘占用大小
右键-尺寸贴图
右上角[显示大小]
2D
2D游戏图片性能优化
光照阴影
光照烘焙
静态光照烘焙
使用的话,需要使用[GPU光照烘焙GPU Lightmass]插件,更新光照贴图
预先设置
1. 项目设置-渲染,动态全局光照方法[无],反射方法[屏幕空间]
2. 项目设置-渲染,开启[允许静态光照]
使用
上方[构建]-[仅构建光照]
光照质量:光照贴图质量
光照信息
光照贴图密度渲染选项
光照贴图分辨率调整:光照贴图信息
光照静态网格体信息:查看所有网格体的光照贴图信息(所在关卡,分辨率...)
灯光
包含太阳光
灯光需要是[静态/固定],[固定]仅能烘焙一部分
物体
物体需要为[静态]
光照贴图分辨率
反射·分辨率
项目设置-渲染,反射捕获分辨率
物体·光照贴图分辨率
光照-开启[覆盖的光照贴图分辨率],设置贴图分辨率大小
分辨率必须是2的次方 例:4,16,32,64,128,256,512,1024,2048,4096 这类也可以:2000,2200,3000,3200,3222,3600....
光照贴图密度·查看
Alt+0:光照贴图密度(蓝:密度低,红:密度高)
可以通过上面的纹理大小来调整密度
GPU光照烘焙
光照的主要构成
可去[环境光照混合器]设置参数
SkyLight天空光照
DirectionalLight定向光源
***源角度:太阳大小(0则无,可手动输入,可更大太阳)
同时会影响阴影的虚实(柔化或硬)
光束
光束遮挡:丁达尔效应
光束泛光
ExponentialHeightFog指数级高度雾
***雾密度:雾气密度(可手动输入,可更大雾)
SkyAtmosphere天空大气
可选择
VolumetricCloud体积云
HDRI背景:需要开启插件HDRIBackdrop,在[光源]中打开
勾选Use Camera Projection
不能和SkyLight同时使用
天空光照,定向光源,指数级高度雾,天空大气,体积云均可设置为蓝图
*关闭自动曝光
光照-曝光[游戏设置]:关
与[项目设置-渲染]中的曝光无关,这影响的是查看网格体的窗口
物体关闭阴影:静态网格体-LOD0-分段-投射阴影[X]
UE5 Lumen中的AO应用 / 如何重新启用全局可控的SSAO
预先需要设置项
项目设置
平台-Windows-默认RHI:DX12
python-是否启用远程执行:开
开启后可使用py的插件
抗锯齿方法:TAA
适合DLSS
注意不是[移动平台],是[默认设置]中的抗锯齿方法
光照
动态全局光照方法,反射方法
Lumen
屏幕空间:开销低,适合游戏
阴影贴图方法:虚拟阴影贴图
允许静态光照:开启后,会禁用材质的AO通道
选择性设置项
软件光线追踪模式:细节追踪
启动虚拟纹理支持
动态模糊:关
引擎-一般设置-帧率-平滑帧率:关闭(以免影响场景测试时的帧率)
插件
官方商城
Auto Size Comments:自动调整注释大小
使用
插件-开启[AutoSizeComments],重启UE
操作
按住Alt拖拽节点:加入/移除 注释框内
按住Shift拖拽右下角注释框:调整注释框大小
设置:编辑器偏好设置-插件
Font Size
Default Font Size:默认字体大小
[√]Use Default Font Size:使用默认字体大小
颜色
Default Comment Color Method:默认注释颜色方式
Default:默认
Default Comment Color:默认注释颜色
Random:随机
Comment Bubble
[√]Enable Comment Bubble Defaults:默认启用注释气泡
杂项
Comment Text Alignment:注释文本对齐
Electronic Nodes:蓝图科技线条
使用
插件-开启[Electronic Nodes],重启UE
设置:编辑器偏好设置-插件
Wire Style线条风格
Subway:地铁(科技)
Manhattan
Bubble Style行程线风格
Force Draw Bubbles:行程线
Draw Bubble Only on Exec:仅显示主执行的行程线
图片为[关闭]后的效果
Bubble Display Rule行程线显示规则
Display on Selection:在选择时显示
Selection Rule选择规则
Near:附近的
Far:所有
建议
Switch Language:切换中英
使用
插件-开启[Switch Language],重启UE
点击[图标]切换中英
Ultra Dynamic Sky:超级天空
和M4地图联动(光照):将M4的UDS蓝图复制到超级天空的蓝图编译
先放蓝图再调整参数(也可以刷新)
刷新
设置
星星star
流星(类似月光骑士)
星星闪烁
night
月亮颜色(满月,腥红之月)
雾气fog
雾气(晨光,沙尘暴)
云cloud
极光Aurora
***超级天空的曝光的优先级最高(比后期盒高,其他设置不影响)
Magic Map(M4):地图自动生成
需要开启插件-landmass,项目设置-启用虚拟纹理支持
Physical Layout Tool:物理放置工具
使用
插件-开启[Physical Layout],重启UE
1. 模式切换到[Physical Layout Mode]
2. Paint Place:放置物体
*物体需要有碰撞体
**Damp Velocity:阻尼速度(开启后物体相撞不会击飞)
**Min Distance(*Mesh Radius):物体最小间距
**随机最大-最小:位置/旋转/缩放
推荐设置 旋转最大360,缩放最小
**Place with Gravity:使用重力
放置的物体
烘焙成组
Bake All Paint Placed Actors To InstanceMesh:烘焙所有放置的物体成一个Actor
操作
按住Q:切换到选择模式
按住Shift:对齐物体表面法线
注意
一次不要撤回太多次,会闪退!
按住Ctrl点物体会闪退!
Magic Node:在蓝图中编写C++函数
mklabs
Combo Graph:连招表系统
文档
使用
Target System Component Plugin:简单相机锁定/定位系统
Easy Multi Save(EMS):简易保存系统
文档
使用
插件-开启[Easy Multi Save],重启UE
1. 给需要保存的Actor添加[EMS Actor Save Interface]接口
包括关卡Actor
被摧毁Destroy的Actor永远不会被保存,可以使用隐藏来代替
EMS·蓝图节点
Save Game Actors:保存游戏Actor
On Completed:成功时
Data数据(可多选)
Player Actors
Level Actors(关卡的Actors)
Load Game Actors:读取游戏Actor
Full Reload:完全加载
不勾选时:仅处理尚未加载的数据
Data数据(可多选)
Player Actors
Level Actors(关卡的Actors)
适合在BeginPlay时使用
Event Actor Pre Save:Actor预保存(保存某些特定的变量)
Event Actor Loaded:Actor读取(读取某些特定的变量)
Dialogue Plugin:对话系统
使用
插件-开启[Dialogue Plugin],重启UE
Dragon.IK - Universal IK System:高级IK系统
使用
插件-开启[Dragon.IK ...],重启UE
1. 动画蓝图中,插入对应节点
Dragon Spine Solver:脊椎解算器
Dragon Foot Solver:脚部解算器
例
双脚地面对齐IK
Dragon Spine Solver设置
1. Input Data
Start Spine /Chest:脊椎往上最上的骨骼
Pelvis:骨盆
2. Feet Bones:几只脚添几个
设置对应脚的脚,膝盖,大腿
3. 以上设置复制到Dragon Foot Solver中
其他调整
Pelvis Control
上坡/下坡时额外增加距离(推荐0.2,0.2)
或0.2,0
效果不好再单独设置脚部偏移
以上三项:对齐时影响盆骨的旋转强度(推荐0,0,0)
向下/向上追踪高度(推荐60,60)
Dragon Foot Solver设置
其他调整
Feet Bones
Feet Rotation Limits:脚步旋转角度限制
Feet Height Offset/Fixed Feet Height:脚步高度偏移(防陷入地面)
四脚地面对齐IK
瞄准IK(跑步、射击、近战)
蜘蛛IK
蛇IK
Interactive World:交互世界
使用
1. 插件-开启插件
插件位置:引擎-Plugins-InteractiveWorld内容
2. 运行EditorWidgets-EUW_DrawingBoardSettings
3. 开启/关闭 [雪/土地/水/植物/流体]交互
材质
水交互:混合原材质和水波纹交互的法线
使用BlendAngleCorrectedNormals混合[原本材质的法线]和[MF_WaterInteract],再加上一个[Normalize]连接到法线 [MF_WaterInteract]:水交互节点
半透明水:开启[半透明],折射[折射方法]:像素正常偏移/2D偏移
土地交互:混合原材质和土地脚印交互的法线
使用BlendAngleCorrectedNormals混合[原本材质的法线]和[MF_MudInteract]到法线 [MF_MudInteract]:土地交互节点
植物交互:影响顶点偏移
组件
InteractiveWorld内容-Blueprint-Brushes
BP_Brush_Turbulent:水/植物交互组件
此组件为胶囊体的子级
BP_Brush_Shape:雪地交互
此组件为网格体的子级
**需要给予骨骼到[插槽]
BP_Brush_MudStep:土地交互组件(脚印)
此组件为网格体的子级
**需要给予骨骼到[插槽]
Render Texture:脚印图案
***World Interact Volume:可交互区域(仅在此区域内生成交互)
在对应类型的面板上开启[Use Interact Volume]并添加体积
PaperZD:2D动画蓝图(状态机)
动画蓝图/动画
AnimationSource:动画来源(管理动画,动画事件)
AnimationSequence:动画
PaperZD AnimBP:PaperZD动画蓝图(动画状态机,蓝图)
***动画通知[Receive Notify: XXX]:动画通知执行的事件
对应动画蓝图中的动画通知
条件
Use Transition Animations:使用过渡动画
***Time Remaining(XXX):ZD动画播放剩余时间
仅在条件内可搜到
例:动画播放剩余时间等于0,则等于播放完
Time Remaining(XXX)(ratio):ZD动画播放剩余时间(比率)
PaperZD动画蓝图表·节点
New Override Slot:覆盖插槽(在此节点位置播放动画,覆盖当前动画)
可更改[插槽名]与[组名]
状态机
Jump:跳到该节点
配合[Jump to Node]节点使用
PaperZD蓝图
PaperZD人物:PaperZDCharacter
包含一个Animation Component组件:PaperZD动画蓝图组件
PaperZD动画通知:PaperZDAnimNotify
PaperZDAnimNotify:可共用的动画通知
***PaperZDAnimNotifyState:动画通知状态(开始与结束,Tick)
事件On Notify Begin/End:动画通知开始/结束
事件On Notify Tick:动画通知tick
PaperZD·蓝图节点
**On Anim Sequence Playback Complete:每次非循环动画播放完时执行
例
***Jump to Node:状态机内 跳到去XXX节点
对应[状态机]中的Jump节点,可改名
Jump Name:跳跃到的节点名字
例
Get Anim Instance:获取动画实例
**Play Animation Override with Callbacks:播放动画覆盖(含播放完成和播放取消)
Slot Name:插槽名
Anim Sequence:播放的动画
Play Animation Override:播放动画覆盖
Slot Name:插槽名
Anim Sequence:播放的动画
NVIDIA DLSS 3.5
下载:Download DLSS Unreal Engine Plugin
使用
开启插件
1. 将Plugins文件夹里的放到UE_5.2\Engine\Plugins\Marketplace\nvidia
文件夹包含4个:`DLSS`, `DLSSMoviePipelineSupport`, `NIS`, `Streamline` Samples为演示项目,不需要放入 如果没有Marketplace\nvidia文件夹,可以自己建立
DLSSMoviePipelineSupport:用于支持电影渲染队列
NIS:这是一种与平台无关的技术,如果NVIDIA DLSS无法用于特定的目标平台,则将其用作后备方案
Streamline:用于DLSS帧生成(仅DX12)
AI补帧
Samples:UE5 DLSS测试项目
2. 启动UE5,[插件]搜索NVIDIA,勾选以上3个
DLSS超分辨率支持电影渲染队列:开启Movie Render Queue DLSS/DLAA Support
非必要开启
DLSS·蓝图
DLSS Setting
r.ScreenPercentage
DLSS/DLAA Setting
r.ScreenPercentage
DLSS Auto Setting
r.ScreenPercentage
官方内置
USD Importer:USD格式导入
Blender处USD导出设置
使用
USD阶段编辑器-打开:导入(缓存状态、可重新加载)
操作-导入:导入(将缓存状态的资产转到UE)
正式导入后可以把之前的缓存删除
Water:水
使用
1. 开启Landmass插件
2. [地形模式]下,开启[启用编辑图层]并创建地形
2. 放置Actor:Water
Water Body Lake:湖(在曲线内生成水)
不能和[海]混合
[湖]Selected Points-水:曲线点的参数
Water Body Ocean:海(在地形的边缘生成无边际的水)
[海]Selected Points-水曲线点的参数
***Water Body River:河流(在曲线上生成水流)
***可以和[海]、[湖]混合,连接处的曲线点需要将水的[速度]设置为0
[河流]Selected Points-水曲线点的参数
**右键控制点:显示水速度/河流宽度/深度
参数
Terrain
Elevation Curve Asset:边缘形状
ChannelDepth:水深度(越深水面的浪越大)
Curve Ramp Width:边缘衰减(越大越柔和)
Water Zone:水面区域
使用其他Water,会自动生成一个Water Zone
内容
水-水波:用于[海]Wave-Waves Source[Water Waves Asset Reference]-Water Waves Asset
引擎-Plugins-Water内容
组件
Blueprints-BP_BuoyancyExample里的Buoyancy:跟随水面漂浮
**静态网格体需要开启[模拟物理]和[质量]
**静态网格体必须是根组件
Buoyancy组件参数
补充
**影响的地形边难看,可以在地形[Edit Layers]创建新的图层修饰
Landmass:程序化地形
使用
1. [地形模式]下,开启[启用编辑图层]并创建地形
2. 蓝图-蓝图笔刷:以上三个
类型
CustomBrush_Landmass:调整参数生成地形
CustomBrush_MaterialOnly:根据材质生成地形
Groom:毛发
需要开启[Alembic Groom Importer]
使用
外部DCC软件导入.ABC格式的头发
Geometry Script:几何脚本
使用
蓝图-DynamicMeshActor(动态网格体Actor)
蓝图-GeneratedDynamicMeshActor:生成的动态网格Actor
蓝图节点
On Rebuild Generated Mesh:重新生成网格时
GeneratedDynamicMeshActor专属
Quixel Bridge(顶部菜单-窗口):超级强大的素材库
混合材质:选中2-3个材质后点击按钮(在quixel里面)
混合后的材质会去到BlendMaterials文件夹
Bridge的材质属性
Online Subsystem Steam:Steam在线系统
需要在[独立窗口]运行
Common UI:通用UI系统
GPU Lightmass:GPU光照烘焙
有时候不稳定,不稳定时推荐使用CPU烘焙
预先设置
1. 项目设置-渲染,动态全局光照方法[无],反射方法[屏幕空间]
2. 项目设置-渲染,开启[允许静态光照]
仅GPU烘焙需要开
开启[支持硬件光线追踪]
GPU光照烘焙·使用
上方[构建],GPU Lightmass
GPU Lightmass窗口
构建光照(关闭实时可加快构建时间)
Show Progress Bars:显示进度条(在贴图上显示)
需要开启[虚拟纹理支持]
Mode(Full Bake/Bake What You See):烘焙所有/仅烘焙所看到的
*用Bake What You See会闪退
Compress Lightmaps:压缩光照贴图(不建议关闭,贴图大小会大4倍)
Denoising降噪器
GI Samples(GI采样):越大越细节,构建越慢
推荐参数设置
灯光
包含太阳光
灯光需要是[静态/固定],[固定]仅能烘焙一部分
物体
物体需要为[静态]
光照贴图分辨率
反射·分辨率
项目设置-渲染,反射捕获分辨率
物体·光照贴图分辨率
光照-开启[覆盖的光照贴图分辨率],设置贴图分辨率大小
分辨率必须是2的次方 例:4,16,32,64,128,256,512,1024,2048,4096 这类也可以:2000,2200,3000,3200,3222,3600....
光照贴图密度·查看
Alt+0:光照贴图密度(蓝:密度低,红:密度高)
蓝:完美 绿:好 红:不好
可以通过上面的纹理大小来调整密度
CPU静态光照烘焙
Procedural Content Generation Framework(PCG):程序性内容生成
PCG·使用
1. [内容浏览器]右键-PCG-PCG图表
2. 拖拽到游戏视图使用,框代表生成范围
3. 双击PCG图表进入编辑
PCG·节点
左边面板:全部节点
基础
输入Input
Landscape:跟随地形表面 Landscape Height:跟随地形高度(法向不会跟随)
输出Output
Sampler采样
表面采样器Surface Sampler:在表面生成点
设置 Point Per Squared Meter:每平方米点数(调整密度) Point Extents:点范围(可D预览范围) Looseness:松弛(越大越散开) unbounded:无限范围
样条线采样器Spline Sampler:在样条线生成点
Dimension维度 On Spline在样条线上 On Interior内部 Subdivisions Per Segment:细分等级 Interior Sample Spacing:采样间距 Interior Border Sample Spacing:边框采样间距
复制点Copy Points:复制点的属性
点采样器Point Sampler:生成点
Ratio:数量
BP_Element_MeshToPointsWithColors:网格体生成点(环形)
与[Mesh To Points]类似但不一样
p1 BP_Element_MeshToPointsWithColors p2 Mesh To Points 
Spawner生成
***静态网格体生成器StaticMeshSpawner:生成静态网格体
Mesh Entries:网格体 Weight权重
MeshSocketsToPoints
Density密集度
**密度噪点DensityNoise :密度噪波
Filter过滤
Self Pruning:清除重叠的点
***密度过滤器Density Filter:根据灰度值过滤(黑:0,白;1)
法线转为密度Normal to Density:往法线方向的过滤
Intersect With Tagged Actors Geometry:与标签Actor相交的点
Spatial空间
***变换点Transform Points:设置变换
最大最小随机变换,保持大小 ***Absolute Rotation:绝对旋转(开启后,不会向法向旋转)
获取Actor数据Get Actor Data:获取Actor的数据
获取样条线数据Get Spline Data:获取曲线的数据
可配合蓝图中的样条线组件使用
根据标签选中曲线
注意 标签给的位置是否正确(蓝图的话要给到BP) Select Multiple:选择多个
差异Difference:清除Source和Difference不同的点
输出Source和Difference不同的点 Source:来源 Difference:不同的
相交Intersect
合并:合并数据
***时间射线命中查询:根据世界射线在拥有碰撞体的物体表面采样
例
Blueprint蓝图
执行蓝图
***模版-Blueprint Element Type:选择模版节点
模版
**Mesh To Points:网格体生成点
与[BP_Element_MeshToPointsWithColors]类似但不一样
p1 BP_Element_MeshToPointsWithColors p2 Mesh To Points 
参数Param
**获取Actor属性Get Actor Property:获取指定Actor中的变量
例
变量名不对或无,则会显示WARNING!
Actor Filter:指定的Actor
***若是蓝图中的[PCG]组件,则Self为蓝图内的变量
Property Name: 变量名
PCG·节点组合
随机过滤(减少点)
PCG·快捷键
***D:Debug,预览(显示节点内容)
***E:启用/禁用
材质·纹理
材质函数 https://docs.unrealengine.com/5.1/zh-CN/material-functions-in-unreal-engine/ 材质表达式 https://docs.unrealengine.com/5.1/zh-CN/unreal-engine-material-expressions-reference/
Quixel Bridge材质
贴图(Texture项)
D:颜色
M:金属
ORDp:O(AO),R(粗糙),Dp(置换)
N:法线
基本
00-Global全局
01-Albedo颜色
N/A:无用(没有作用)
植被
06-Translucency半透明
Translucency Strength:透光强度
Translucency Desaturation:透光饱和度
07-Wind风
Wind Intensity:风强度
Wind Height:风高
Wind Speed:风速
贴花Decals
08-Parallax视差
纹理
纹理贴图
命名
*颜色:Diffuse(diff,D),BaseColor,Albedo
*金属:Metallic
值在0到1之间,或是图片
高光:Specular
*粗糙:Roughness
Gloss:光泽度 光泽度 反转=粗糙度 粗糙度 反转=光泽度
值在0到1之间,或是图片
自发光:Emissive
不透明度:Opacity
*法线:Normal(Nor,N)
*环境光遮蔽:AmbientOcclusion(O,AO)
***允许静态光照开启时,禁用材质的AO通道
置换:Disp
格式
优先选择PNG、TGA贴图,不推荐JPG
法线
法线贴图:法线相反或OpenGL到DX,可开启[翻转绿通道](反转法线贴图的绿通道)
***sRGB:法线贴图需要关闭
若金属,粗糙,AO,置换等贴图显示的特别油,需要关闭sRGB
优化
部分贴图会将三张灰度图合并在R,G,B三个通道上(节省内存)
部分贴图A(Alpha)也有,为遮罩贴图
Texture Graph:程序化纹理(类似SD)
类型
Adjustment调整
***Normal From Height Map:转法线
***Convert To Grayscale:转灰度图
Chanels通道
Split Channels:拆分R,G,B,A通道
Combine Channels:合并R,G,B,A通道
Filter过滤器
Blur:模糊
模糊类型
高斯:整体模糊
定向:往一个角度进行模糊
圆形:圆形模糊
Edge Detect:边缘检测
Warp:扭曲(根据一张图来进行扭曲)
Mask:连接遮罩图
可以用Noise
输入
Math数学运算
Invert:反转(颜色反转)
输出
***Output:输出贴图
***可使用多个Output,同时导出
导出贴图设置
导出灰度图:纹理格式-8位灰度
Procedural程序化
Gradient:渐变
渐变类型
简单线性
线性居中
*圆形
轴向线性:A点往B点处渐变
轴向居中
Noise:噪波
***Pattern:图案
图案设置
重复XY:数量
空间XY:间隔大小
***Transform:变换(平移旋转缩放)
Utilities工具
材质·纹理 资产类型
材质
材质参数集MaterialParameterCollection
Collection Parameter:连接需要控制的参数
[细节]面板选择[材质参数集]和[参数名]
使用
用途1:Sequence中设置关键帧动画
用途2:蓝图中控制[参数集]
***材质函数:节点打组(类似蓝图的宏)
**FunctionInput / FunctionOutput:输入/输出 (可拥有多个)
***公开到库:需要点击后才能被搜索到
纹理
渲染目标TextureRenderTarget2D:将目标内容渲染到该贴图上
尺寸X/尺寸Y:贴图大小
用途:将摄像机视角中的内容渲染到该贴图上
RT相关蓝图
材质
材质·补充
材质球
材质=shader,实例=材质球
实例材质可以实时修改并查看
一个shader材质可以生成不同的材质球
地形
***地形的材质一定要实例化
材质设置
混合模式
不透明 Opaque:默认
已遮罩 Masked:遮罩
半透明 Translucent:透明
Additive:添加模式
调制 Modulate:叠加模式(类似正片叠底)

透明度合成(预乘透明度) AlphaComposite(Premultiplied Alpha)
透明度维持 AlphaHoldout:类似剪切蒙版
着色模型
无光照
默认光照:正常光照
次表面:3S材质
双面植物:3S次表面材质(植被)
头发
布料
眼睛
*双面(背面剔除):[细节]面板-材质-双面
开启:不剔除
材质面板
部分节点右上角点击可查看当前效果
右侧-控制板:全部节点
特殊节点接口
Subsurface Color:次表面颜色(3S)
需要切换着色模型为[次表面]
需要额外调整不透明度接口
全局位置偏移WorldPositionOffset:位移(控制移动),置换
自定义材质函数:自定义材质节点
材质·相关蓝图
材质优化
材质节点优化
控制材质的指令数
光泽度不高的材质可用[完全粗糙(Fully rough)],优化性能
类型
贴花Decals
修改为贴花:材质域-延迟贴花
混合模式:半透明
贴花·蓝图
材质节点
Decal Lifetime Opacity:贴花淡入淡出
覆层材质
[骨骼网格体]组件上的[覆层材质]:覆盖在本身材质上的材质
覆层材质·蓝图
参数类型
S:浮点
V3:RGB、三维向量
V4:RGBA、四维向量
B/SB:布尔
WPO:全局位置偏移(顶点偏移)
材质·快捷键
C:注释
右键-转换为参数:参数(实例化后可调整)
右键[连接圆圈]:直接生成同名参数
Ctrl+Q /右键-开始预览节点:浏览刚好节点效果
自定义快捷键:Ctrl+Q
材质案例
UV缩放
闪烁灯
简单流动材质
能量罩:距离加大
能量罩2:1的基础上+[1-x]
双面
能量罩3:使用菲涅尔
也类似:轮廓,全息扫描
流动水:叠加2个不同流动速度的材质(仿真),深度距离调整清楚和边缘
需开启
材质-混合模式:半透明
半透明-光照:表面半透明体积
上下渐变
草:遮罩+材质
蓝图
蓝图控制材质过渡
材质·节点
参数
Add Named Reroute Declaration Node:自定义命名节点
用于整洁
***按住1+左键:值(常量)
***按住S左键:浮点参数
保存为实例材质后可对此参数进行修改
可在蓝图中,控制此参数
按住2+左键:二维向量
***按住3+左键:颜色 (三维向量)
0,0,1:法线里的平面
*按住4+左键:颜色+Alpha (四维向量)
**向量参数(二维/三维/四维)
***按住T左键:Texture Sample纹理贴图
*纹理贴图参数
优化:灰度图连接单通道即可
可转换成[纹理对象]
采样器源
自纹理资产:贴图平铺
[共享:限制]:贴图不平铺
***Texture Object:纹理对象
**纹理对象参数
与Texture Sample类似。但部分节点仅能连接此节点,不能直接连接到Texture Sample
布尔
Static Bool:布尔
**布尔参数
Switch:切换(不能在运行时改变)
不能在运行时改变,更改时会重新编译
***StaticSwitch参数
不能在运行时改变,更改时会重新编译
*适合在材质实例中使用
Switch:切换(可在游戏中实时运行)
使用GPU计算,可实时运行
可用于切换表情等
[细节]面板添加引脚
SwitchValue:1=第一个引脚,2=第二个...
*按住M左键:Multiply乘(混合、正片叠底)
类似PS中的正片叠底
可用于调节亮度使用,越大越亮
乘-1:反向,翻转
按住D左键:Divide除(划分)
类似PS中的图层划分
可用于获取图片中的蒙版:0.01,0.01,0.01除图片的蒙版通道
按住A左键:add加(叠加)
类似PS中的图层叠加
Subtract:减(抠图)
例
AppendVector:附加
示例: 附加0.2 和 0.4 就是 (0.2,0.4);附加 (0.2,0.4) 和 (1.0) 就是 (0.2,0.4,1.0)
简称:Append
*和add完全不同,它并不是数值上的相加
按住O左键:1-x(反转,反向)
仅能用于-1~1以内
其他的翻转可以使用乘法
例:X=0.3,1-0.3=0.7
***按住L左键:Lerp差值(混合/线性插值)
用法
可用于混合A和B,Alpha为两者之间的值
Alpha可以由灰度图来控制,A为黑B为白
层级关系A上B下(A>B)
类似SD中的色阶。A控制最小值,B控制最大值,Alpha为被控制源
例:A和B限制纹理(Alpha)的最亮值(A)和最暗值(B)
可用于做颜色渐变
材质混合使用MaterialLayerBlend Standard
If
例
B:只能是常量,一般在0~1
限制值
*Saturate:限制值在0与1之间
小于0的值被提升到0,大于1的值降低为1 (5=1, -100=0, 0.77=0.77) 0到1之间(包括0和1在内)的值保持不变
比Clamp更节省性能
适合用于限制Alpha值,以防出错
Clamp:限制值在最大最小值之间
Frac:取小数
原理: X - X的整数部分 15.8 - 15 = 0.8 负值则取最大整数的绝对值 0.2 = 0.2 -0.2 = 0.8 [ -0.2- (-1) = 0.8] 1.6 = 0.6 
Truncate:删节(掐头去尾)
0.1=0, 1.3=1, 5.8=5
取整
Round:舍四进五
Ceil:向上舍入到整数
例:0.1=1
Floor:向下舍入到整数
例:0.9=0
DotProduct:点积
简称:Dot
常用组合:世界空间顶点法线+Z轴 连接Dot
Step阶:图形锐化
可用于变成硬边
0:全白,1:全黑
SmoothStep:图形柔和化
图像调整
Power:对比度
也可使用CheapContrast
越小越亮,越大越暗,1:原图
***调整亮度:[纹理]乘[数值]
CheapContrast (RGB):对比度
默认为黑白版 RGB为颜色版
Power也可以调整对比度
Desaturation:饱和度(可变黑白)
0=原本颜色
1=黑白灰
-1=更鲜艳
HueShift:色调偏移
Hue Shift Percentage:0~1(超过1,效果等于0)
也可以使用简单的[颜色+乘]来进行颜色调整
移动缩放旋转
***CustomRotator:旋转
建议旋转-360(-360度),方便调整
0=0°,0.25=90°,0.5=180°,0.75=270°,1=360°
法线
***FlattenNormal:法线强度
一般需要反向Flatness来方便控制强度
BlendAngleCorrectedNormals:混合法线贴图
NormalFromHeightMap:普通贴图转法线贴图
例
UV
**按住U左键:Texture coordinate(UV)
简称:TexCoord
可使用加减来偏移,乘除来缩放
部分地形的UV使用的是LandscapeLayerCoords
***ComponentMask:调整U,V
简称:Mask(R G B A)
**图像里,R=U(横向),G=V(竖向)
**坐标里,R:X轴,G:Y轴,B:Z轴
使用乘法进行缩放
*可使用Mask G控制插值Alpha的上下过渡

BreakOutFloatComponents:中断RGB,中断XZY
和Mask类似
FlipBook:UV动画
例
特殊效果
**Fresnel菲涅尔:边缘与中心的平滑过渡
 效果
Exponentin:强度
BaseReflectFractionIn:过渡
可用于Alpha(类似丝袜,黑色与皮肤的过渡)
阴影通道切换ShadowPassSwitch:可让阴影无视变化
搜索[阴影通道切换]
Shadow:1(无视变化)
***Depth Fade:深度距离
类似淡化,可模糊透明物体衔接处
***可以判断模型与其他模型相交的边缘
[深度距离]可以[模糊(虚化)/硬]碰到的边缘
BumpOffset凹凸偏移:模拟高度(不会影响实际面数)
例:
Height:连接高度图 (高度贴图中的值越亮,材质的"凸出"效果越明显)
HeightRatioInput高度比输入:这个值越大,深度越极端。建议范围0.02~0.1
**ParallaxOcclusionMapping:视差遮蔽贴图
连接
Heightmap Texture:高度图,类型为[TextureObject]
UVs:UV
Heightmap Channel:高度图所在的[通道]
在R通道,则R=1
Render Shadow(Occlusion Mapping):是否渲染阴影,类型为[布尔]
Light Vector:太阳光
一般连接[SkyAtmosphereLightDirection[0]]
参数
Height Ratio
Min Steps
Max Steps
Shadow Steps
Shadow Penumbra
输入
Parallax UVs:连接贴图的[UVs]
Shadow
Pixel Depth Offset:连接[像素深度偏移]
物体需要关闭[投射阴影]
DitherTemporarlAA:颗粒
图像特效
VectortoRadialValue矢量到径向值:将图像纹理换螺旋状
例:贴图纹理需要设置,[细节]面板-Mip值模式:Mip等级(修复缝隙)
位置(坐标)
ActorPosition:Actor位置(世界坐标)
***WorldPosition绝对世界位置:绝对世界位置(顶点在世界中的位置)
例:调整高度
***VertexNormalWS:世界空间顶点法线(获取物体的上下左右前后值)
注意,沿法线偏移位置会导致几何图形沿UV缝隙拆分
可实现设置网格体增大或缩小
*建议使用PixelNormalWS,比VertexNormalWS效果好
PixelNormalWS:世界空间像素法线
比VertexNormalWS效果更细腻
VertexTangentWS:世界场景空间顶点切线
可实现球体来回旋转 平面左右移动
Camera PositionWS:摄像机位置
搜索CameraPositionWS
TransformVector:转换空间
搜索Transform
[细节]面板,设置从源转换到目标空间
深度
PixelDepth:像素深度(像素距离)
摄像机距离有关
CameraDepthFade:相机深度
例:一般连接到Alpha值
Fade Length:淡入淡出距离
地形
***LandscapeLayerBlend:地形混合(混合多个地形材质)
简称:Layer Blend
[细节面板]可自定义添加Layer(层)
***地形的材质勾选[使用材质属性]即可自动连接对应的贴图
多个材质的颜色,法线等自动连接
混合类型:默认为[LB权重混合]
改为[LB高度混合]:会多出来高度通道
一般连接高度的方法
LandscapeLayerCoords:地形UV
简称:Landscape Coords
**映射缩放:地形贴图大小
例:1024贴图则1024
和TexCoord不一样,这个会一比一的贴在整个地形上
LandscapeLayerSample:地形图层采样
旧版(左边):简称 Simple'XXX'
[细节面板]可自定义添加
层权重=预览权重
可以用于绘制两个材质之间的Alpha

LandscapeGrassOutput:生成植被
简称:Landscape XXX
[细节面板]可自定义添加
例:LandscapeLayerSample+LandscapeGrassOutput
材质
*MakeMaterialAttributes:新建材质属性
用于在一个材质球里建立多个材质,一般用于地形混合

BreakMaterialAttributes:中断材质信息(获取材质信息)
GetMaterialAttributes:获取材质信息
例
[细节]面板可自定义添加要获取的参数
BlendMaterialAttributes:材质混合
**MaterialLayerBlend Standard:混合两个材质
简称:MaterialLayerBlend Standard
混合
HeightLerp:使用高度图混合颜色
使用减法混合高度图
HeightLerpWithTwoHeightMaps:混合两张高度图
大多数与HeightLerp属性类似
使用减法混合高度图
混合模式
Blend_ColorBurn Blend_ColorDodge Blend_Darken Blend_Difference Blend_Exclusion Blend_HardLight Blend_Lighten Blend_LinearBurn Blend_LinearDodge Blend_LinearLight Blend_Overlay Blend_PinLight Blend_Screen Blend_SoftLight Lerp_ScratchGrime Lerp_ScratchGrime2 
Blend_Overlay:混合(叠加)

世界对齐纹理
***WorldAlignedTexture:世界对齐贴图(使拼接的不同物体UV一致)
例
TextureSize:贴图大小(类似UV大小)
WorldPosition:位置
***ProjectionTransitionContrast:边缘融合过渡(过小越柔和)
***WorldAlignedNormal:世界对齐法线(世界对齐贴图法线专用)
*TextureSize:贴图大小(类似UV大小)
WorldAlignedTexture_SeperateChannels:世界对齐贴图(分离通道)
R/G/B 3通道使用
例
WorldAlignedBlend:世界对齐混合
例:适合用于制作雪,苔藓
本体连B,覆盖层(雪,苔藓等)连A
Mask遮罩/Alpha
SlopeMask:斜面遮罩(斜坡遮罩)
SlopAngle:角度
FalloffPower:衰减强度
CheapContrast:对比度
***DistanceToNearestSurface:距离到附近物体表面
适合做水
SkyAtmosphereLightDirection:根据定向光
Sphere Mask:球形遮罩(圆形)
Hardness:硬度(边缘柔和),0~1(越小越柔和)
动画(世界位置偏移)
适合用于 世界位置偏移(顶点偏移)
Sine正弦:-1到1之间变动(从0开始)
 Sine是从0开始
可以用作灯光闪烁
周期:X秒完成一个波形(周期越长,则越慢)
Cosine余弦:-1到1之间变动(从1开始)
 Cosine是从1开始
可以用作灯光闪烁
周期:X秒完成一个波形(周期越长,则越慢)
***按住p左键:Panner(UV平移)
类似纹理的流动(水面)
coord控制uv,time连接time,speed:速度
Coordinate连接不同的渐变效果,材质的移动效果也不一样
*Rotator:UV旋转
居中X/Y对应的位置
Time:时间
需开启[结束],结束:每轮持续X秒

风
***SimpleGrassWind:风力
Wind Intensity:风强度
Wind Speed:风速
粒子
DynamicParameter:动态参数
对应粒子的Dynamic Material Parameters
[细节]面板的Index:对应DynamicParameter1/2/3:最多可控制16个参数
Particle Color:粒子颜色
可连接到颜色或自发光
渐变
**LinearGradient:线性渐变
U:左右
V:上下
RadialGradientExponential:中心渐变
radius半径:默认0.5
density密度:越大越硬边
DiamondGradient:菱形渐变
Falloff衰减:越大越小
噪波
最好使用纹理贴图,Noise节点会消耗性能
Noise:噪波
细节面板可调整细节
Position:以上用法则等于Scale
噪波贴图在不同物体上是连续的
VectorNoise:顶点噪波
可选择Perlin噪波
使用绝对世界位置+除法控制大小

噪波纹理贴图
Perlin噪波
Perlin属于软噪波(边缘柔和)
Bubble泡泡
代码
custom:自定义代码
细节面板
人物·动画
人物
IK重定向
可用于给不同角色使用相同的动画
1. IK Rig
动画-IK绑定-IK绑定
选择骨骼网格体
角色与系统角色匹配链条:选中骨骼链(多个骨骼),再按[新增链条]
链条:骨盆到脊椎,脖子到头,手臂到手腕,大腿到脚腕,手指第一节到第三节 特殊的:root根(单独一个)
ue5系统男角色自带IK rig
注意
初始骨骼和末端骨骼是否正确
***设置重定向根(一般为pelvis/Hips (骨盆),不是root根)
2. IK重定向
动画-IK绑定-IK重定向器
1. 源IK Rig:动画源
2. 目标IK Rig:需要复制动画的目标
*[编辑姿势]调整姿势使两个角色初始姿势一致
3. 将动画蓝图重定向到自己的角色
资产浏览器(动画)-导出选定动画
重定向资产-[复制和重定向动画资产]
重定向后的资产
4. 替换角色蓝图内容
复制一份系统角色蓝图(用于替换里面的内容)
替换网格体
动画-动画类选择刚刚的动画蓝图
游戏模式蓝图替换角色pawn
IK Rig
动画-IK绑定-IK绑定
选择骨骼网格体
***设置重定向根(一般为pelvis/Hips (骨盆),不是root根)
解算器
全形体IK:影响全身的IK
**需要在类似"骨盆"处添加[在选定解算器上设置根骨骼]
IK控制器-曝光:暴露参数,可以在[动画蓝图]中的[IK Rig节点]控制其参数
Control Rig
可用于制作动画,实时修改骨骼ik
动画-Control Rig-控制绑定
1. Import Hierarchy:导入骨骼网格体
2.
方法1(推荐)
**创建控制器并解除父级:右键骨骼-新建-Add Controls For Selected
***同时选中多个可直接创建并自动排列父子级
方法2
创建控制器:右键骨骼-新建-新控制点
Shift+P:将控制器移动到最下面(解除父级)
3. 控制器变换连接骨骼变换:控制器控制骨骼
***一次性批量连接多个控制器到骨骼
控制器
值类型:控制的参数
位置
缩放
***旋转
*欧拉变换:变换
形状:改变控制器的形状、颜色和大小
右键-从当前设置Offset变换:将当前位置设为初始变换
Control Rig制作动画
使用[动画模式]
类型
骨骼网格体:包含骨骼的网格体
物理资产:与布料模拟产生碰撞的碰撞体
约束
*Linear Limits:线性限制(限制拉伸)
**Angular Limits:角度限制(限制角度)
摆动1运动:X轴旋转
摆动2运动:Y轴旋转
扭曲运动:Z轴旋转
骨骼
兼容骨架
相似的骨骼可以使用相同的动画
选择后刷新一下即可
布料模拟
使用
部分选择section selection:选择需要布料的块
右键-创建所选服装数据-创建
服装-命名
右键-所选布料-刷需要布料的地方-停止画
(注意物理资产的碰撞体有没有阻挡)
白色为布料模拟,粉色为静态
布料·参数
布料预设值
Burlap:粗麻布
Silk:丝绸
Rubber:橡胶
Heavy Leather:厚重皮革
自碰撞:与自身产生碰撞
性能消耗较高
双层布料需要开启
插件
Kawaii Physics
SPCR Joint Dynamics
下载:https://github.com/SPARK-inc/SPCRJointDynamicsUE4 使用:https://www.bilibili.com/video/BV1mg411t7oT/?spm_id_from=pageDriver&vd_source=c4af4da6f9dbabf0313fc157f99f435b
动画
动画蓝图
命名
InPlace动画:原地进行的动画,不会进行位移
例如:idle,Jump
启用根运动:根据动画来位置
动画蓝图·节点
动画序列:动画
动画
比率范围:播放速度(1则原本速度,-1则倒放)
根运动
游戏,看情况使用根动画(适合攀爬)
过场动画建议使用根动画
动画蒙太奇
状态机无法使用[动画蒙太奇]
混合空间:多方向混合动画
水平和垂直坐标混合
混合空间1D:单方向混合动画
单向混合,仅水平坐标
可用于从站立idle到走walk再到跑run
过场动画
电影摄像机Actor(CineCamera)
摄像机视角
在此处创建相机
添加[关卡序列]
Sequencer面板
快捷键
***选中轨道或物体,Enter:添加关键帧
*选中帧-右键:关键帧插值类型

按住Alt拖拽:复制帧
←/→:上一帧/下一帧
↑:到开头
[ :设置为播放开头
] :设置为播放结尾
***[+轨道]:添加动画内容
物体可以直接拖进来
渐变轨道:黑幕的淡入淡出
0=无 1=全黑
***曲线
编辑动画的曲线
渲染视频
渲染影片设置
关卡序列:过场动画
音效
.WAV格式
音频轨道
动画蓝图·节点
多数节点与蓝图一致
State Machine:状态机
简称成 '添加新状态机......'
状态机无法使用[动画蒙太奇]
***运行时选中人物,即可查看状态机当前动画状态
插槽:播放[动画蒙太奇]时,优先播放
刚体:刚体物理模拟
覆盖物理资产:选择对应的[物理资产]
IK绑定(IK Rig):IK实时动画调整
Rig定义-绑定定义资产:选择对应的[IK Rig]
IK Rig中的IK控制器曝光参数后,可在此节点看到并控制其参数
也可通过蓝图来写入数据来控制参数
Blend:混合
动画相关
剩余时间 (比率):动画距离播放完还剩余的时间
等于0即等于动画播放完
Control Rig
向前解析:控制器控制骨骼
向后解析:骨骼控制控制器
设置事件:Control Rig运行时执行时一次
针对每个For Each:获取数组每个项目的数据
获取控制变换Get Control Transform
基础IK(Basic IK):IK
对应的骨骼
主轴和次轴需要调整XY为-1或1
左右方向的手或脚轴都不一样
极向量
Chop切分:减少X个文本数
Control Rig常用组合
***一次性批量连接多个控制器到骨骼
[项目数组]:选中多个控制器拖入,点击[创建项目数组]
蓝图
左侧[我的蓝图]
Construction Script(构建脚本):在编辑器时就执行
Construction Script 相当于在编辑器的Runtime就执行了。 Begin Play则是在游戏运行的Runtime执行
事件
-可以使用时间类节点(时间轴timeline,延迟Delay) -可被引用 (多线程执行) -消耗(越大越消耗):事件>宏>函数 执行:仅输入 返回值:可带有输入值
可通过引用(通信)来使用该对象拥有的事件
事件可自带输入值
事件和函数之间的选择
**事件与函数之间可以转换
函数要是带有输出则无法转换
会将所有连接的节点同步转换
函数可在内部使用[局部变量]所以消耗比事件小
但是函数无法使用[时间类节点](时间轴timeline,延迟Delay)
结论
***在无时间类节点时,使用函数,且将内部变量设置为[局部变量]
函数
-不可使用时间类节点(时间轴timeline,延迟Delay) -可被引用 (单线程执行) -消耗(越大越消耗):事件>宏>函数 执行:仅单个输入和输出 返回值:可带有多个输入值和输出返回值
**函数:类似打组,方便管理和明白
可通过引用(通信)来使用该对象拥有的函数
**纯函数:仅结算出来的数据,无针脚
**局部变量:仅此函数内可使用的变量,外部无法调用
宏
-可以使用[延迟Delay],不可使用[时间轴timeline] -不可被引用 -消耗(越大越消耗):事件>宏>函数 执行:可拥有多个输入输出 返回值:可带有多个有输入值和输出返回值
宏可以生成多个输出输入
无命名针脚:输入execute,输出then
宏可以设置为纯函数(需手动)
蓝图函数库/蓝图宏库
若不是非常多个蓝图需要使用,则不要做成共用宏/函数 过多会影响性能
*蓝图函数库/蓝图宏库:可被公共引用(模块化功能)
例:宏库
***宏库的父类需要选择Object
变量
***布尔(Bool,Boolean):鉴定是或否(打钩代表true)
在数学里,布尔T代表1,F代表0
数值
字节(Byte):0~255之间的整数
整数(Integer)
**整数做除法的时候,若结果为小数,则需切换到[浮点]类型,否则将抹除整数后的小数
Integer的最大值为2147483647
Integer64:最大值更大的整数
Integer64的最大值为18446744073709551615
*浮点(Float):含小数点的数值
文本
性能消耗:命名<字符串<文本
*命名(Name):游戏里,不能修改的文本
适用于名字,ID,
*字符串(String)
字符串比对时,==不区分大小写,===区分大小写
*文本(Text):可被翻译的文本
向量(Vector):X,Y,Z
简称Vector3,V3 
旋转体(Rotator):[旋转]的值

变换(Transform):[移动,旋转,缩放]的值

其他
***Actor
*角色:对应有[角色移动]的对象
Vector4:四维向量
一般用于颜色+透明度(RBG+A)
材质
材质实例
纹理2D:纹理贴图
按键
键:按键
增强输入系统
增强操作键映射
输入映射上下文
获取Mappings:获取[输入映射上下文]中的所有[输入操作]
从上到下获取 
中断EnhancedActionKeyMapping:获取[输入操作]的数据
Action:输入操作
***Key:按键
设置EnhancedActionKeyMapping中的成员:设置[输入操作]的数据
输入操作
增强输入系统·节点
***为操作注入输入向量:模拟输入(向量)
**为操作注入输入:模拟输入(按键)
X 1.0=True
Action:注入的操作输入
变量类型
单个:一个变量
数组Array:多个变量
蓝图·数组
右键变量可切换为数组
集Set:与数组类似,但不能有重复的变量。适合用于比较
蓝图·集
映射:左边的变量,输出右边的变量
蓝图·映射
可以有多种不同类型的映射
添加时,若有默认值(0/0.0/0,0,0),则需修改才能再添加值
细节面板-变量类型:可切换为单个,数组,集,映射
补充
变量引用类型
*对象引用:引用类中的一个对象
对象引用=实例
*类引用:引用这个类型的所有对象
一个类可以有很多对象
类引用=文件
软对象引用
软类引用
变量·设置
可编辑实例:开启后可编辑
引用可编辑
外部可编辑
生成时公开:开启后,[生成Actor]蓝图会生成引脚
同时需要开启[可编辑实例]
私有:不可被引用
**部分变量可检测是否生效
[仅 向量/变换]显示3D控件:在视图选中蓝图,即可显示和移动位置
复制:多人
分组
分组中再分组:分组的命名后加 |
例: Setting|XXX
显示继承的变量:显示父类中继承的变量
**局部变量:仅此函数内可使用的变量,外部无法调用
***蓝图-结构:可自定义包含多个变量类型的变量
可适用于制作角色的名单:生命/属性/背景/伤害等
**可在蓝图[变量]里,添加结构(可分割引脚)
结构·常用节点
设置XXX中的成员:修改结构中的变量
中断XXX:获取结构信息
隐藏未连接的引脚
菱形◆◇的变量:临时变量
***临时变量不会保存,所以需要再次设置
***数组的话,可使用[设置阵列元素]
***可在蓝图[类默认项]里,直接给予结构变量的默认值
**子级蓝图会继承父级的[结构],但不会继承父级[结构]中变量的[值]
***蓝图-枚举:可自定义多个选项的变量
蓝图和结构[变量]里,可添加枚举
枚举·常用节点
***切换到XXX(Switch XXX):枚举当前为X则执行X
不相等/等于:判定当前枚举
例
其他
其他-数据表格:选择[结构],获取信息
[添加]:添加行(行可重命名)
外部的 .CSV格式可直接导入进来
例:Google 表格
数据表格·常用节点
获取数据表行名称
获取数据表行XXX
Row Name:行命名
选择Data Table资产后,可直接选择其表格行
输出行:结构信息
数据表格·常用组合
[获取数据表行名称]+[获取数据表行XXX]
例
蓝图通信
引用(通信)
UI
获取类的所有控件:获取所有UI控件的引用
场景Actor
单个
**获取类的Actor:获取单个Actor
***引用场景中的物体使用这个!
多个
**获取类的所有Actor:获取所有该类的Actor
***引用场景中的物体使用这个!
Actor太多会影响性能
可以在已开始就获取,然后保存为变量
获取有标签的所有Actor:获取所有拥有该标签的Actor
获取有标签的类的所有Actor:获取所有拥有该标签且为该类的Actor
***Cast to XX(类型转换为XX):转换成XX,然后可引用其事件,变量,函数
Cast开销较大。 ***所以不建议经常调用[Cast to XXX],可以在蓝图的事件运行时Cast转换并生成变量,后续直接使用该变量
不同类型Object的连接
角色:优先连接[获取玩家Pawn]或[获取玩家角色],其次[获取玩家控制器]
[获取玩家控制器]某些时候会失败
动画蓝图:连接角色的[网格体]+[获取动画实例]
游戏模式/玩家控制器:连接[获取游戏模式]/[获取玩家控制器]
***可以在蓝图的事件运行时Cast转换并生成变量,后续直接使用该变量
通过[获取类节点]引用
事件分发器
事件分配器 适用于告知其他"正在倾听的"蓝图已发生事件。事件发生时,正在倾听的蓝图便会作出反应,并相互独立地执行预期的操作。 例如,游戏中有一个 Boss,它被消灭时将会调用"OnDied"事件分配器。可将"OnDied"事件 绑定在任意数量的其他蓝图中,如角色(作出庆祝动作)、关卡中的门(会打开)或 HUD(显示 UI 信息)。所有这些蓝图均在收到 Boss 被消灭的"OnDied"通知后执行。 事件分配器 使用时机的例子: 需要从角色蓝图到关卡蓝图进行通信。 玩家角色升级,需要开放之前锁定的区域。 玩家角色按下行动按钮,对关卡执行某种操作。 生成的 Actor 执行某种操作时触发事件。 生成一个 Boss,Boss 被消灭时触发事件,在世界场景中生成一个奖励。 在关卡中生成一个道具(武器、回复剂等)并在道具被拾起时告知道具和角色。
使用类型
***调用Call:执行目标绑定到的事件
例
绑定Bind:绑定事件到目标
例
绑定=可以被使用,可以被调用
**解除绑定Unbind:解除目标绑定的某个事件
事件:要解除绑定的事件
**解除所有绑定Unbind all:解除目标绑定的所有事件
事件Event:自定义事件
***分配Assign:绑定+事件
[细节]面板
可添加自定义变量:点击对应的事件分发器-添加变量
蓝图接口
通过 蓝图接口(简称 接口)可实现与多种类型对象(均共享特定功能)形成互动的一般方法。 例如汽车和树是完全不同的两种对象,但拥有一个共同点 - 它们均可被武器开火击中并遭到破坏。 蓝图接口的函数都是空的,需要在连上接口的蓝图内给予接口函数值,不给则空。 蓝图接口是一对一通信(每个接口的内容都不一样,所以并不是一对多) 作用:方便调用多个含有该函数/事件的蓝图 不需要建立多个相同的时间或函数 调用的接口都一样,但每个使用接口的蓝图里,内容都不一样
蓝图接口和事件分发器的区别
蓝图接口窗口
可以给函数添加输出入,输出和输出值
使用蓝图接口
1. 添加蓝图接口:类设置-接口
左侧[接口]
没有改面板时,试着编译
黄色:没有输出值,为事件(蓝图接口的函数只有输出,所以为事件)
只有输出,没有输出值也是黄色
灰色的函数:可给予接口函数值,不给则空
子类不会继承父类接口中的数值,需重新连接
调用接口的蓝图
调用接口[函数/事件]:获取对应接口函数的值/执行对应接口的事件
蓝图接口·常用节点
获取有接口的所有actor:获取拥有对应接口的所有Actor
组件
***组件的设置项可通过右键-[拷贝内部名称]来搜索到来使用
碰撞盒
Box Collision:盒体碰撞盒(方形)
设置盒体范围:设置盒体范围大小
Sphere Collision:球体碰撞盒
Capsule Collision:胶囊体碰撞盒
***弹簧臂组件:类似手机架
摄像机位置
目标臂长度:弹簧臂长度
Target Arm Length
***插槽偏移:以弹簧臂结束处偏移
建议设置Y
*目标偏移:以弹簧臂起始处偏移
建议设置Z
**滞后:平滑跟随
若镜头速度不够产生拖影(类似卡顿),则加大延迟速度
可使用于[箭头组件]
旋转移动组件:设置移动或自转
箭头组件:说明朝向的方向
可获取箭头的变换(位置旋转缩放)
场景组件Scene
放到根位置,静态网格体即可移动
静态网格体组件StaticMesh:静态网格体
设置静态网格体:添加对应的静态网格体
添加静态网格体组件:添加静态网格体组件
点击节点,可在[细节]面板调整
样条网格体组件SplineMesh:可以将网格体进行旋转和扭曲
设置静态网格体:设置样条的静态网格体
添加样条网格体组件:添加样条网格体组件
点击节点,可在[细节]面板调整
***向前轴:样条网格体的朝向
X/Y/Z
样条组件:Spline(曲线、样条)
控制
按住Alt拖拽:添加点
闭合循环:首尾闭合
节点
获取样条点数量:获取曲线点的数量
获取样条点处的位置:获取曲线点的位置
Point Index:第几个点(从0开始)
Coordinate Space:坐标空间(场景位置/本地位置)
获取样条点处的变换:获取曲线点的变换
Point Index:第几个点(从0开始)
Coordinate Space:坐标空间(场景位置/本地位置)
获取样条长度:获取样条的长度
获取沿样条的距离处位置:获取目标在整个样条上的坐标位置
例:Actor跟随路径移动
获取沿样条的距离处旋转:获取目标在整个样条上的坐标的旋转
**发射物移动组件:自定义子弹
参数
发射物重力
发射速度
是否抛物线,抛物线
节点
抛物线绘制
按照对象类型预测发射物路径
按照检测通道预测发射物路径
***预测发射物路径(高级)
发射速度
建议发射物速度:从起点位置发射到终点位置(需要起点到终点抛物线中途不能有遮挡,否则此节点失败)
布尔:中途有遮挡则F
***建议发射物速度自定义弧:从起点位置发射到终点位置(中途可以有遮挡,则执行真实的碰撞)
Out Launch Velocity:外发射速度
赋予给[发射物移动组件]的速度
布尔:是否正确的计算出抛物线
额外参数
Override Gravity Z:额外覆盖重力(0则对原本重力无影响)
Arc Param:弧形参数(默认0.5,越大弧形越直(1),越小弧形越弯(0))
例
文本TextRender
默认可视
控件组件:Widget(UI)
用户界面
空间:UI坐标(朝向)
场景:场景坐标
**屏幕:朝向屏幕
***控件类:添加UI(控件蓝图)
Niagara粒子
物理
物理约束组件PhysicsConstraint:将一个物体约束在另一个物体上
与[物理约束Actor(PhysicsConstraintActor)]类似
约束的物体(静态网格体组件)
约束-组件2的移动性需为[可移动]
设置约束的移动轴和旋转轴
Angular Limits:旋转限制
摆动1运动:X轴旋转
摆动2运动:Y轴旋转
扭曲运动:Z轴旋转
可配合[缆索组件Cable]使用
缆索组件Cable:模拟绳子、绳索、线条
与[缆索Actor(Cable Actor)]类似
缆绳-高级-启用刚度:开启后,不具有弹性
光照组件
天空光照组件
定向光源组件
指数级高度雾组件
注意不是[大气雾组件]
天空大气组件
体积云组件
后期处理组件:后期处理体积
混合权重Blend Weight:可用于过渡
添加后期处理组件Add Post Process Component
可通过[设置Setting]来修改设置
角色移动CharMoveComp:人物角色属性
*Character,PaperCharacter专属
移动速度:最大行走速度Max Walk Speed
行走-地面摩擦力:越低越滑(滑冰面)
*上跳/下落-摔倒横向摩擦力:空中左右速度,越高越灵敏
旋转速率:角色旋转的速度
上方-类默认值:更多设置项
跳跃最大数量:多段跳(二段跳,三段跳等)
跳跃最大按压时间:跳跃滞空时间,可按住继续上升时间(类似长按大跳)
角色移动·蓝图节点
角色行为
正在地面移动(地面)/掉落(空中)/蹲伏(蹲下)/飞行/游泳:检测正在进行的行为
跳跃时:跳跃时触发
跳跃
停止跳跃:终止跳跃按压时间
着陆时:到地面时触发
走出平台时:走出平台时触发
角色·物理
***弹射角色Launch Character:角色往一个方向弹射
与角色移动的[摔倒横向摩擦力]有关,摩擦力越大弹射距离越短
***(Z/XY)Override覆盖:覆盖原来的力
适用于:跳板,击飞等
禁用移动:角色无法移动
立即停止移动:立刻停下,清空加速度
适用于:电击,僵直等
若在空中,仍会掉落
平面移动:约束在平面,不会被约束的轴影响
适合2D,2.5D
**平面约束设置:约束一个轴
AI
回避,回避考虑半径:AI寻路时,躲避障碍的考虑半径
官方文档:寻路系统
官方插件
PCG:程序化生成
实例-Graph:选择PCG图表
**生成区域需要使用一个[碰撞盒]
可在[构建脚本]中,实时改变盒子大小
动态网格体组件
AI组件
多人·组件设置
蓝图类型
Actor:任何东西
Pawn:可控制的Actor
角色Character:含[角色移动CharMoveComp]组件的角色(属于Pawn的一种)
玩家控制器:玩家的控制器能触发的内容
可以分别为登入界面,游戏等创建不同的控制器
游戏模式基础:定义游戏的规则
可以分别为不同的游戏创建不同的游戏模式
***Actor组件:可附加给任意Actor上
模块化
**附加上的Actor可以使用组件上的函数
宏无法被附加上的Actor使用
关卡蓝图:当前关卡会触发的内容
能不写在关卡蓝图里就尽量别写
*Trigger触发体积:框内触发事件
**GameInstance(游戏实例):数据库
从游戏开始就产生的类,一直直到游戏结束。 每次游戏重新打开,则重新进行创建。 在BeginPlay之前执行
***用于保存跨关卡的数据
可保存角色数据
项目设置-项目-地图和模式-游戏实例类:更改游戏实例
游戏实例蓝图
获取游戏实例
***SaveGame(保存游戏):存档
建议使用[结构]数组,来构建数据(数组可添加多个存档)
保存的游戏文件扩展名 .sav
在开发平台上,存档位置:在项目的Saved\SaveGames中
在其他平台(尤其是游戏主机)上,为适应特定的文件系统,会有所不同
发行版本上,存档位置:C\用户\用户名\Appdata\Local\游戏名\Saved中
摄像机摇晃CameraShakeBase:使摄像机产生摇晃
摄像机抖动面板
根晃动模式
Perlin噪点摄像机晃动模式
使用
过场动画:在[Sequence],摄像机添加[Camera Shake]轨道,选中创建的[CameraShakeBase]
蓝图:使用[开始摄像机晃动]或[播放场景摄像机晃动]节点
几何脚本
GeneratedDynamicMeshActor:生成的动态网格Actor
DynamicMeshActor(动态网格体Actor)
*已打包关卡Actor(PackedLevelActor):关卡实例蓝图
用于优化
编辑器工具:UE自定义窗口工具
插件
PaperZDCharacter:包含2D状态机的角色
快捷键
选中节点,Q:对齐
选中节点,Shift+W/A/S/D:向上/左/下/右对齐
Home:查看全部蓝图
C:注释
知识
类 Class:类型,同一个类型
常量:不会改变的数值
变量
UE4游戏加载流程,UE4游戏加载顺序
空指针:变量的内容为空(Null)或零(0)的状态
调试
运行
***游戏运行时,F8:切换游戏/编辑器状态
断点
***F9:激活断点(执行到这时停用运行)
F10:跳到当前图表中下一个被执行的节点
F11:跳到下一个被执行的节点
Alt+Shift+F10:继续执行
运行时查看流程:运行后,调试对象选择对应的蓝图
BUG解决
部分Bug可以在事件开始时添加一个[延迟]
可能是由于部分Actor或组件等未生成,获取不到,所以添加一个延迟给时间生成
补充
常用
游戏模式蓝图替换角色pawn
右键蓝图,创建子蓝图类:继承父级的蓝图
**子级蓝图会继承父级的[结构],但不会继承父级结构变量中的[值]
[结构]在蓝图[类默认项]-默认
**子级蓝图会继承父级的[组件],但不会继承父级组件中的[值]
父类:右键-[将调用添加到父函数]
修改碰撞预设,需先将根部件替换(成为根部件后不能移动旋转,可以缩放)
p1→p2
添加场景组件恢复移动
标签
可用于区别种类
所有的东西都可以加标签
注意区分Actor和组件的标签
使用
组件设置的变量
可通过[拷贝内部名称]来搜索到来使用
选中物体,将选项转换为蓝图类(不推荐,会失去原先的物体)
粒子设置
使用 [在位置处生成发射器] 节点来生成粒子,或直接拖入使用[激活]
关闭粒子第一次:激活-关闭自动启用
*载具(Pawn):内容浏览器-添加-添加功能内容包
节点的查找方式
关键词后加空格,在加关键词(XX XX XX...)
例:获取 组件
蓝图节点语言切换
编辑器偏好设置-区域和语言:开启[使用本地化图表编辑器节点和引脚命名]
蓝图案例
节点
常用
***自定义事件
[自定义事件]可自带输入参数
[自定义事件]在服务器上运行
***键盘+[空格]+[任何键]
例:键盘 9
可修改为组合键
Tick
*事件tick:每帧都在执行(根据游戏每秒帧数,例如游戏60fps=1s/60帧)
delta seconds是距上一帧的时间间隔
Delta的意义:让物体移动的距离在不同的刷新率的游戏环境中保持一致
优化:tick每帧都运作的节点后面只运行一次可以使用once
获取场景差量(秒):tick的Delta值
命中
**事件命中Event Hit:此Actor与阻挡物体发生碰撞时
需要开启[模拟生成命中事件]
需要[命中Actor]和[被命中Actor]的碰撞都为[阻挡]才会触发命中事件
组件命中时On Component Hit:与[事件命中]类似
重叠
***组件开始重叠时/结束重叠时
Other Comp:其他组件
需要开启[生成重叠事件]
部分需要在外部的[细节]面板开启[在关卡流送时生成重叠事件]
需要Actor的碰撞为[重叠]才会触发重叠事件
***开始重叠后持续检测:使用定时器
注意要清除或停用定时器,否则会持续执行
***获取重叠Actor
球体重叠Actor:创建一个球形重叠检测
Object Types:碰撞类型
配合[创建数组]来选择
Actor Class Filter:Actor类过滤(可重叠的Actor类)
Actor to ignore:需要忽略的Actor
延迟
可再触发延迟:途中再触发会刷新延迟
***按住b+左键:分支
***按住s+左键:序列Sequence(同时执行多个)
***Filp Flop:A和B之间切换执行
适合用于切换
***Multigate:多个之间执行,可随机可轮流
*Gate:Open时执行Enter则成功执行Exit,Close时执行Enter则无法执行Exit
案例
**Do once:仅执行一次
Reset:重置
Start Closed:初始状态为已使用?
*Do N:执行N次
Reset:重置
*whild loop 循环直到...:当满足条件时进入循环,条件不满足时跳出循环
以上直接[√]用会无限循环崩溃,给予完成或循环到XX取出[√]
循环类节点的Loop Body后不能添加[延迟](无法正常执行)
***For Each Loop(数组):循环
*For Each Loop with Break(可打断)
Array Element:每个
循环类节点的Loop Body后不能添加[延迟](无法正常执行)
For Loop:循环
For Loop with Break:循环(可打断)
循环类节点的Loop Body后不能添加[延迟](无法正常执行)
可用于发射多发子弹(散弹)
Is Valid:是否有效(是否生效)
选择Select:根据条件选择播放动画/音效等
***生成Actor XXX:生成实例
若出现bug,尝试调整为[尝试调整位置,但固定生成]
生成时公开:开启后[生成Actor],会在此生成引脚
Instigator:伤害源,誰造成的伤害(连接Self)
生成AI使用[从类生成AI]
销毁
销毁Actor:销毁,摧毁,删除Actor
设置生命周期:到达时间则自动销毁
0则不会被销毁
获取生命周期:生命周期剩余的时间
***时间轴:使变化过程有动画,双击调整时间曲线
右键添加帧上方调整时间与变化的值,F或左上两按钮看所有帧,右键帧调整曲线
事件轨道:添加一个时间点触发
事件轨道的值(value)没有作用,只需要设置时间
向量轨道:添加向量的变化过程
共用
创建
创建文字浮点:自定义一个浮点
同理
创建旋转体:自定义一个旋转
X:0,Y:0,Z:0
创建向量:自定义一个向量
X:0,Y:0,Z:0
创建数组:设置数组项
数值
Compare Float:比较
++,Increment:值每次+1
--,Decrement:值每次-1
随机
随机整数:Max最大数值
范围内随机浮点:随机小数
同理
随机布尔
随机旋转体:随机旋转值
限制Clamp(Float):限制值(浮点)
已限制映射范围:将[值]从InAB映射到OutAB中
截断Truncate:去除小数点
截断Truncate:浮点去除小数点为整数
截断(向量):向量的XYZ去除小数点为3个整数
截断到Integer64:浮点去除小数点为Integer64
数组
**GET(复制):获取,不会影响原来的数值
代码中,0是第一位
GET(引用):获取,会影响原来的数值
区别: GET(引用):会影响原来的数值 GET(复制):不会影响原来的数值
***长度Length:数量,数组内的数量
同理
随机数组项目Random:随机数组中的一个
随机Shuffle:随机打乱数组
***添加Add:添加到数组
**添加唯一Addunique:添加到数组,若已有则不会添加
***移除项目Remove:从数组中移除对应的项目
移除索引Remove Index:从数组中移除对应数字的项目
清除Clear:移除数组中的所有项目
包含项目Contains:包含数组中的其一,则true
不为空Is Not Empty:不是空的数组,则true
为空Is Empty:空的数组,则true
设置阵列元素:修改数组中的值
若Index数字的项目不存在,则无变化
Size to Fit:开启后,若Index数字的项目不存在,则添加到数组
集
到数组To Array:集转为数组
联合Union:合并,并去除多余相同的项目
Difference:仅保留不同的项目
交集Intersection:仅保留相同的项目
映射
查找Find:查找值对应映射的值
布尔:若找到则T,找不到则F
关键帧Keys:左边的项目转数组
值Values:右边的项目转数组
布尔检测
not:等于将True和False反过来
包含(字符串):Search In包含Substring则True
为空is Empty:字符串内容为空
Actor拥有标签:拥有该标签的目标
加标签
例
文本
附加:添加字符串(文字数字符号)
例
替换:替换句子的XX为XX
左切分/右切分:从左边/右边开始减少文本数
左切分为减少右边
右切分为减少左边
Count:减少文本数
时间(秒)为字符串:浮点转换成时/分/秒(记录时间)
获取显示命名:获取Actor名字
格式化文本:类型附加,{}内为自定义参数
例
插值Lerp
**插值Lerp:从A到B,alpha为A和B的过渡
插值(向量)
***F插值到Finterp:浮点之间平滑插值
V插值到Vinterp:向量之间平滑插值
R插值到Rinterp:旋转之间平滑插值
T插值到Tinterp:变换之间平滑插值
**距离(向量):两者之间的距离
返回值
**向量长度
Actor位置
限制向量大小:限制向量的最大最小值
旋转向量:旋转一个向量
旋转向量
***寻找查看旋转:将Start朝向Target处
类似unity的LookAt
Start面向Target
利用X创建旋转Make Rot from X:使物体的X朝向一个向量
例
利用XY创建旋转Make Rot from XY:使物体的X和Y各朝向一个向量
例
利用轴线创建旋转Make Rotation from Axes:使物体的向前/右/上向量各朝向一个向量
例:Make Rot from x 等同于以上的操作
获取
获取玩家
**获取玩家控制器:获取玩家的控制器
**获取玩家pawn:获取玩家编号的Object
***获取玩家角色:获取玩家角色Object
可直接引用[角色移动]组件
获取游戏模式
**获取动画实例:获取动画蓝图
获取Actor位置:获取Actor的位置
目标为Actor,组件使用获取世界位置
获取世界位置:获取组件的位置
目标为组件
获取Actor向前向量:获得前面的量(蓝色箭头为前)
和向前同理(默认右为1,则左为-1)
旧版输入:对应[缩放]
返回值:1,0,0
获取向前向量:获取组件的前面的量
注意目标是场景组件,于Actor不同
获取向前向量Get Forward Vector:以旋转来获取向前向量
例
获取单元方向(向量):From到to的方向,获取朝向
配合[向量长度]使用:X,Y,Z
左:-1,右:1
获取到此的距离:目标到Other Actor的距离
获取速度:获取速度值
返回值(上升/右:正数,下坠/左:负数)
例:配合[向量长度]使用,将值转为浮点
获取插槽变换Get Socket Transform:获取骨骼或插槽变换
骨骼网格体-骨骼树
***中断命中结果:获取hit中所得出的各种数据结果
例
《射线检测中HitResult结构体的各个分量的意义》
补充
Time:当未发生碰撞时 Time为1(即无穷远)
Initial Overlap:射线在初始位置,是否已经发生碰撞
Initial Overlap:为true时,也意味着Distance的值为0
Impact Point和Location的区别,法线同理
射线检测的布尔 和 Blocking Hit不一样,推荐用射线检测的
功能性
变换
设置(变换/位置/旋转/缩放)
场景
**设置相对位置/旋转:物体移动/旋转位置
**设置相对变换:物体变换位置(注意会同时影响移动旋转缩放的值)
**设置世界位置:设置世界坐标位置
世界和相对
设置场景范围3D(Set World Scale 3D):设置缩放
Actor
***设置Actor位置:设置位置(pawn也可以)
设置actor变换:Actor变换
设置Actor 3D缩放:设置缩放
瞬移Teleport:将目标瞬移到一个位置
*将组件移至:移动组件位置
添加Add(偏移/旋转/变换)
***添加Actor本地偏移:原本先有的位置上添加位移
添加Actor(本地/世界)变换/偏移/旋转
差量(旋转体) Delta(Rotation)
变换位置Transform Location:传送到位置
例:适合用于传送角色
不推荐
碰撞
设置碰撞已启用:启用/禁用碰撞体
设置Actor启用碰撞:禁用碰撞体(按钮:是否启用碰撞)
设置通道的碰撞响应:改变某个类型的碰撞响应
对应的碰撞类型和响应
可视性
设置Actor在游戏中隐藏:隐藏(是否可见)
设置可视性:隐藏/显示(不影响碰撞)
激活:使用
[细节]面板可设置[目标]默认是否激活
Reset:重置
设置激活:设置是否使用
[细节]面板可设置[目标]默认是否激活
Reset:重置
组件
按类添加组件:添加组件
将Actor附加到组件:将目标移动到parent上
从组件分离:到另一个位置
停用Deactivate:停用组件
射线检测
检测到的首个(单个)
线条射线Line
按通道进行线条追踪
针对Object进行线条追踪
按描述文件进行线条追踪
形状射线
按描述文件/通道/Object进行球体追踪
Radius:半径
按描述文件/通道/Object进行盒体追踪
Half Size:尺寸
Orientation:旋转
**适合2D使用
按描述文件/通道/Object进行胶囊体追踪
Radius:半径
Half Height:半高度(中心到半圆顶部或底部)
检测到的全部(多个)
线条射线
按描述文件/通道/Object进行多线条追踪
形状射线
按描述文件/通道/Object进行多盒体/胶囊体/球体追踪
抛物线检测(抛物线绘制)
定时器
tick每秒60次的执行速度,用定时器则可以自定义执行速度,优化执行频率 推荐0.03(每秒30次) 或 0.1(每秒10次)
**以函数名设置定时器:定时执行函数
适用于火烧毒气等
**Time:每秒执行X次
例: Time为1,则1秒执行一次 Time为2,则2秒执行一次 Time为0.5,则1秒执行2次 Time为0.2,则1秒执行5次 Time为0.1,则1秒执行10次 每秒次数: 1除X 例:1/0.5=2
Looping:循环执行
返回值为定时器本身
不需要放在Tick上执行
**以事件设置定时器:定时执行事件
适用于火烧毒气等
**Time:每秒执行X次
例: Time为1,则1秒执行一次 Time为2,则2秒执行一次 Time为0.5,则1秒执行2次 Time为0.2,则1秒执行5次 Time为0.1,则1秒执行10次 每秒次数: 1除X 例:1/0.5=2
Looping:循环执行
返回值为定时器本身
不需要放在Tick上执行
以句柄清除定时器並使之无效:使定时器无效
以句柄暂停定时器Pause Timer by Handle:暂停定时器
可直接连接定时器或其变量
以句柄取消暂停定时器Unpause Timer by Handle:取消暂停定时器
为有效定时器柄:检测定时器还是否有效
创建事件:绑定到一个事件上
伤害
事件任意伤害:受到任何伤害时执行
Instigated By:造成伤害的Actor控制器
应用伤害Apply Damage:造成伤害
Event Instigator:伤害源,誰造成的伤害(连接控制器)
Damage Causer:伤害物,造成伤害的物品
例
物理
开启[物理模拟]的蓝图
设置模拟物理(开关物理)
设置碰撞描述文件名(模拟该动作名字的动作)
人物蓝图-碰撞-碰撞预设:设置模拟物理的动作
Ragdoll:布娃娃模拟
Update Overlaps:开启后,不重叠(防止卡墙里等等)
添加作用力Add Force:施加一段时间的力
添加冲量Add Impulse:施加一次方向的力
适用于:击退
添加径向冲量Add Impulse:施加一次球形范围的力
Origin:施加力的位置
Radius:球形冲量可影响的半径范围
Strength:力的强度
控制(玩家控制器)
增强输入系统
模拟输入
添加控制器Yaw/Pitch/Roll输入:镜头视角旋转控制

配合人物操作方式的事件
添加移动输入:pawn移动
world direction(世界方向):移动目标的方向
启用输入/禁用输入:启用控制/禁用控制
控制:切换控制pawn,控制器
设置控制旋转:设置控制器的旋转
已控制玩家:是被玩家控制的人物
获取输入键暂停:获取某个键的按住时长
鼠标
*都可以连接玩家控制器
鼠标·射线检测
按通道获取光标下的命中结果:获取鼠标光标点击处的信息
射线检测共同点
获取光标下的对象命中结果;获取鼠标光标点击处的信息
射线检测共同点
Show Mouse Cursor显示鼠标光标
将鼠标位置转换到世界空间:获得鼠标在游戏的世界位置
world direction(世界方向):方向
左-1右1上1下-1
触屏(手机)
[触屏版]按通道获取手指下的命中结果
射线检测共同点
材质
获取材质:获取材质(非动态材质,不可控制参数)
Element Index:给予第几个材质
设置材质:替换材质
Element Index:给予第几个材质
***创建动态材质实例:创建动态的材质实例(可修改参数的材质)
Element Index:给予第几个材质
Source Material:材质
参数
**设置标量参数值:设置动态材质实例中的[浮点]参数
例
目标:[创建动态材质实例]的动态材质实例
*设置向量参数值:设置动态材质实例中的[向量(颜色)]参数
目标:[创建动态材质实例]的动态材质实例
*设置纹理参数值:设置动态材质实例中的[纹理(图片)]参数
目标:[创建动态材质实例]的动态材质实例
获取参数
获取标量参数值:获取动态材质实例中的[浮点]参数
获取向量参数值:获取动态材质实例中的[向量(颜色)]参数
获取纹理参数值:获取动态材质实例中的[纹理(图片)]参数
材质参数集
设置标量参数值:设置材质参数集中的参数
材质中[材质参数集]的设置
贴花
在位置生成贴花:生成贴花
Life Span:贴花存在时间
**设置淡出:贴花逐渐消失
例
***需要在材质中,Decal Lifetime Opacity连接到Opacity才可以使用
目标是贴花
设置淡入:贴花逐渐显示
***需要在材质中,Decal Lifetime Opacity连接到Opacity才可以使用
目标是贴花
覆层材质
设置覆层材质
2D
设置图像序列视图set flipbook:播放序列帧(sprite)
获取总时长:获得目标动作的时长
例
设置播放速率:改变Sprite的速度,正常为1
(需要在Sprite拉出)
粒子
在位置处生成发射器:在位置处生成粒子
设置暂停Set Paused:是否暂停粒子
***设置Niagara变量(XXX):设置Niagara系统中User的变量
***In Variable Name(变量名):粒子系统用户中的变量名
如果不生效,尝试添加User前缀 例:User.XXX
设置粒子的时间速度
动画
播放蒙太奇:播放蒙太奇动画
In Skeleton Mesh Component:连接骨骼网格体
Play Rate:播放速率
***混出时:动画混出时(过渡)
对应[动画蒙太奇]-混出-混合时间
适用于:普通攻击等
不建议:死亡动画
音效
播放位置处的音效:在位置处播放音效(有远近衰减空间感)
在位置处生成音效:在位置处播放音效(有远近衰减空间感)
生成音效2D:播放没有空间感的音效(没有远近衰减)
淡入Fade In:音频逐渐出现
Fade in Duration:淡入持续时间
淡出Fade Out:音频逐渐消失
例
Fade Out Duration:淡出持续时间
适用于UI的
播放音效2D:播放没有空间感的音效(没有远近衰减)
摄像机
***使用混合设置视图目标Set View Target with Blend:切换摄像机视图
例
*Blend Time:淡入淡出过渡时长
开始摄像机淡化:摄像机淡入淡出
目标:摄像机
开始摄像机晃动:摄像机晃动
Shake:摄像机晃动类型
播放场景摄像机晃动(Play World Camera Shake):在场景位置中晃动玩家摄像机
Shake:摄像机晃动类型
Epicenter:晃动位置
Inner Radius:此半径范围内的摄像机无视晃动
Outer Radius:在Inner Radius范围外,此半径范围内的摄像机进行晃动
Falloff:靠近Outer Radius范围时的衰减
关卡
关卡切换时,数据会刷新,可以使用[游戏实例]或[存档]来跨关卡保存数据
获取当前关卡名,打开关卡(按名称):获得当前关卡名字,进入[关卡名字]的关卡
案例
***打开关卡:进入选中关卡
时间
获取游戏时间(以秒计):游戏开始后计算的时间
现在Now:当前年/月/日/小时/分/秒/毫秒
作为日期As Date:获取当前年/月/日
作为日期时间As DateTime:获取当前年/月/日/小时/分/秒/毫秒
设置全局时间膨胀Set Global Time Dilation:时间缩放(TimeScale),改变全局速度
0:完全静止,1:正常速度,1以上:快速度
Custom Time Dilation(自定义时间膨胀):改变Actor的速度
搜Custom Time Dilation
0:完全静止,1:正常速度,1以上:快速度
设置自定义时间膨胀Set Custom Time Dilation:改变Niagara系统的速度
0:完全静止,1:正常速度,1以上:快速度
存档
在开发平台上,保存的游戏文件使用.sav扩展名,并显示在项目的Saved\SaveGames文件夹中。 在其他平台(尤其是游戏主机)上,为适应特定的文件系统,这会有所不同。
*创建游戏存档对象:创建存档
Save Game Class:[SaveGame]类型蓝图
*将游戏保存到插槽Save Game to Slot:保存游戏,存档(将数据保存到对应存档名)
*将游戏异步保存到插槽Async Save Game to Slot:保存游戏,存档(另线程执行)
由另外的单个线程来执行保存,不会导致主线程卡顿
**[将游戏保存到插槽]和[将游戏异步保存到插槽]的区别
即便在保存大量数据时,[将游戏异步保存到插槽]也能避免卡顿,因此推荐使用此方法保存游戏。 但是,若SaveGame数据较小或在菜单或暂停屏幕中进行保存,则可改用[将游戏保存到插槽]
游戏存档存在:存档是否存在(对应的存档名是否存在)
*从插槽加载游戏Load Game From Slot:加载存档,读档(从对应的存档名加载数据)
*从插槽异步加载游戏Async Load Game From Slot:加载存档,读档(另线程执行)
由另外的单个线程来执行保存,不会导致主线程卡顿
**[从插槽加载游戏]和[从插槽异步加载游戏]的区别
从[插槽异步加载游戏]的工作原理大致相同,但具有两个执行输出引脚。 加载操作开始时将执行第一个引脚,加载操作完成时则执行第二个引脚。 执行第二引脚前,变量输出引脚无效。 [已成功]:加载操作是否成功
删除插槽中的游戏:删除对应存档名的存档
控制台
执行控制台命令Execute Console Command:控制台命令
世界分区
数据层
获取data layer subsystem(Get data layer subsystem):获取数据层子系统
获取数据层运行时状态:获取数据层当前为已卸载/已加载/已激活
In Data Layer:数据层
设置数据层运行时状态:设置数据层当前为已卸载/已加载/已激活
例
In Data Layer:数据层
渲染目标Render Target(RT)
Begin Draw Canvas to Render Target:开始绘制
例
Draw Texture:画笔
Render Texture:绘制的图案
Screen Position:画笔位置
Screen Size:画笔大小
Coordinate Position:画笔图案UV位置
Coordinate Size:画笔图案大小
Render Color:颜色
Blend Mode画笔的叠加模式
Translucent半透明
Additive叠加
Rotation:画笔旋转
Pivot Point:轴心
End Draw Canvas to Render Target:结束绘制
Clear Render Target:清除渲染目标2D
AI
AI·节点
UI
UI·节点
多人
多人·节点
存档共同点
***Slot Name:存档名
*重复名则会覆盖数据
存档名=存档
User Index:用户ID
例:保存游戏数据
例:添加保存游戏数据
共同点
F/V/R/T插值到常量:线性(没有平滑)
Delta连接[获取场景差量]
Interp Speed:速度
射线检测共同点
类型
*通道
Trace channel:检测响应通道,对则布尔返回值True
**针对Object
Object Types:对应Actor碰撞的[对象类型]
配合[创建数组]来选择
描述文件
Profile Name:直接输入[碰撞预设]的名字
Profile Name:碰撞预设,对则布尔返回值True
共同
***都需要开启碰撞
Draw Debug Tpye:绘制射线(显示射线,显示多久)
***[中断命中结果]获取信息
Actor to ignore:需要忽略的Actor
检测到的首个(单个)
重叠和阻挡都仅触发一次,但终点位置不一样
检测到的全部(多个)
***多线条追踪:忽略:无,重叠:命中且不阻挡,阻挡:命中并阻挡
多线条/多X体的out hit为[数组],其他与单通道相同
AI
可移动范围
1. 导航网格体边界体积(NavMeshBoundsVolume):AI的可移动范围
P:查看导航(AI的移动范围)
绿色区域
在[大纲]自动生成RecastNavMesh-Default
2. RecastNavMesh-Default:AI移动范围的设置
显示(移动范围信息)
生成
***代理最大斜面:可行走的坡度
3. [上方]构建-构建所有关卡:构建导航范围(使其生效)
AI蓝图
蓝图-AIController(AI控制器)
大脑组件(Get Brain):可通过AI控制器获取大脑组件
大脑组件可控制行为树
**例如[开始逻辑]和[停止逻辑]
AI角色蓝图
在AI的角色蓝图[类默认值]-Pawn-AI控制器类,替换
自动控制AI
***建议设置为:已放置在场景中或已生成
AI任务蓝图
将值保存到[黑板]的变量
***1. 在[变量]-创建[黑板键选择],并开启[可编辑实例]
所有的[黑板键选择]变量都需要开启
2. 使用[将黑板值设为XXX]获取值
3. 在[行为树],选中任务,设置[黑板键选择]变量为对应[黑板]中的变量
4. 即可在整个[行为树]中使用
AI组件
AI感知组件AIPerception:使AI拥有视觉/听觉
***建议添加在[AI控制器]
AI感知-感官配置:添加配置
AI视力配置:视觉
视线半径:视野范围
失去视线半径:丢失目标视野范围(超出该范围则丢失目标)
次要视觉半角角度:视野角度
按归属检测
建议全勾上
Debug:运行时查看AI感知状态
AI感知组件·节点
感知更新时(AI感知组件):感知有目标时
目标感知更新时:对目标的感知更新时
例:视力感官更新时
Pawn感应组件PawnSensing:使AI拥有视觉
周边视觉角度:视野范围角度
使用
1. 设置了AI的可移动范围
2. 创建行为树和黑板
设置逻辑
创建任务
3. 创建和替换AI控制器
设置[自动控制AI]项
BeginPlay连接[运行行为树]
AI蓝图案例
感知组件
跟随看到的目标
AI·节点
AI控制器
***运行行为树(Run Behavior Tree):使用行为树
**建议在AI控制器中使用
事件控制时:AI控制器控制Pawn时
比BeginPlay好
大脑组件Get Brain:控制行为树
黑板
***将黑板值设为XXX:将值赋予到[黑板]中的变量
*注意分辨对象和Actor
***Key:连接[黑板键选择]变量
将值保存到[黑板]的变量
[Key]的变量要开启[可编辑实例]
例
***将黑板值作为XXX获取:获取[黑板]中的变量的值
*注意分辨对象和Actor
***Key:连接[黑板键选择]变量
[Key]的变量要开启[可编辑实例]
例
将值设为XXX:将值设置为[黑板]中的变量
*注意分辨对象和Actor
***Key Name:[黑板]中的变量
目标
方法1:连接[获取黑板]
方法2:√显示继承的变量,可选中[黑板]变量,连接[目标]
例
获取黑板
行为树
开始逻辑
停止逻辑
Reason:停止的原因
任务
***事件接受执行AI(Event Receive Execute AI):开始任务
Controlled Pawn:控制的角色
***完成执行(Finish Execute):判定是否完成任务
***Success:是否成功
失败的话:以上
设置焦距SetFocus:目标朝向New Focus处
[目标]连接AI控制器
[New Focus]连接一个[对象]变量
例
清除焦距ClearFocus:取消朝向
获取半径内可抵达的随机点
GetRandomReachablePointInRadius
获取到此的距离:目标到Other Actor的距离
AI Move To:AI移动位置
Acceptance Radius:可接受半径
可接受半径:目标的半径范围内
移动到位置或Actor(Move To Location or Actor):移动位置
***从类生成AI:生成AI
人工智能
黑板
管理行为树中的变量
左上角[新建]:创建变量
默认自带一个SelfActor变量
行为树
补充
***行为树内部的逻辑是从左到右执行的
右上角进入[行为树/黑板]
**右上角的数字代表第几个被执行
***新建任务(任务):创建自定义任务
蓝图类型为[BTTask_BlueprintBase(BT任务蓝图基础)]
不建议选[已有任务]作为任务基础类
任务的蓝图节点
新建装饰器:创建自定义条件
[行为树节点]-右键-使用
**[细节]面板设置选项
装饰器·节点
***Blackboard:以黑板的变量做条件,通过则可执行
黑板键:给予变量来做条件
变量条件
Object/类:是对应的Actor
浮点/整数:比较一个数值
字符串/名称:为相同/不相同/包含/未包含
布尔:为true
向量/旋转体:是对应的值
***Cooldown:冷却时间
注意放的位置,不然会抽搐
新建服务
行为树·节点
行为树内除了根,所有的节点都可修改名字(行为树节点,装饰器,任务)
Selector:选择
Sequence:序列
Move To:移动到...
可接受半径:目标的半径范围内
黑板-黑板键:移动到的位置(变量)
[黑板键]变量:可以是向量Object(Object的Actor)
一直跟随的话使用对象(Object)
Wait:等待X秒
等待时间:等待X秒
随机偏差:随机X秒(最小秒数=[等待时间])
例: [等待时间]设置为0,则在0~X秒内 [等待时间]设置为2,则在2~X秒内 X=随机偏差的值
***自定义任务=任务蓝图名字
UI
控件蓝图(UMG)
面板
***画布面板:显示画面比例、设置锚点
锚点:绿色(根据位置固定),红色(根据屏幕四边一致调整)
右上角可快速设置
包裹框:控件放不下时,自动换行
尺寸框:固定大小框
需开启[大小到内容]
垂直框:垂直对齐
填充:间距
***大小到内容:开启后,框会根据内容自动调整大小
渲染变换-变换:变换
水平框:水平对齐

***大小到内容:开启后,框会根据内容自动调整大小
***覆层:叠加多个子级
*覆层+边界:自定义背景色窗口(没有锚点,只能通过[填充]和[对齐]来调整位置)
滚动框ScrollBox:内容过长时带滚动条的窗口
例:聊天窗
统一网格面板:将控件平均大小
例
网格面板:将控件自由排列成网格,可自定义占比大小
根据[填充规矩]决定大小
***控件切换器:分页(切换控件)
可右键[包裹]-控件切换器:快速添加
根据顺序来切换
设置激活控件索引:设置[控件切换器]切换到X页的UI
0为第一页
根据顺序来切换
输入
文本框:输入文本
为密码:输入时显示 ·········
文本框 事件
文本框(多行):输入文本(可换行)
组合框(键):下拉菜单,选项菜单
**组合框(字符串):下拉菜单,选项菜单
内容-默认选项:选项
选中的选项:默认选项
组合框 事件
选择已变化时
Selected Item:选择时的设备(点鼠标时、按键时)
Selection Type:所选择的内容
添加选项:添加内容到选项
设置选定索引:设置默认选项
获取选定索引:获取选项中所选的项
特殊效果
背景模糊:让背景内容模糊
例
通用
按钮
按钮正常,悬停,按压时的样式
为可聚焦:开启时,鼠标左键/空格/回车 都可响应此按钮
关闭时,仅鼠标左键可触发
按钮 事件
进度条
血量,精力值等
**绑定数值
例:***当前÷最大,(部分算法需要除100)
**注意若是整数做除法的时候,若结果为小数,则需切换到[浮点]类型,否则将抹除整数后的小数
命名的插槽:让此控件被其他控件使用时在此放入子级
图像:图片
行为-可视性(非可命中测试):鼠标悬停时不会被检测到
仅自身:仅本图像
自身和所有子项:本图像且包含子级
使用纹理设置笔刷:设置UI图片
文本
设置字体:大小,字体...
图元
间隔区:空白区域

用户创建
可添加自定义的控件蓝图
高级
*输入键选择器:自定义按键输入
事件
选定键时:输入了任意按键时
Selected Key:输入的按键
选择键已变更时:按下改变按键时
[细节]面板
锚点
可快速调整锚点位置
锚点会影响不同窗口比例下组件的位置
是变量:设置UI是否为变量
Common UI
使用
1. 项目设置-引擎-一般设置,游戏视口客户端类为[CommonGameViewportClient]
UI·动画
可用于制作启动画面
使用
1. 添加[动画]
先选中要动画的控件,再点[动画]会出现在第一个
2. 选中动画,选择UI组件进行K帧(添加关键帧)
3. 图表,给动画连接[播放动画]
***只需要做一个动画,播放动画中Play Mode的[快进]/[翻转]:正放/倒放
补充
UI类型
UI:菜单和其他的交互性元素,例如主菜单,暂停游戏时的暂停菜单
HUD:在游戏过程中覆盖在屏幕上的状态及信息。例如当前状态,分数、生命值、剩余时间等,通常是不能交互的
操作
右键[包裹]:生成为父级
ZOrder:优先级(越大越前面)
是变量:组件生成为变量
若未开启,则不会显示对应的事件
UI自适应分辨率调整:将UI的锚点四个角对齐UI
可使用多个[控件蓝图]来为不同面板使用
例:分数面板,血量,胜利,金币等
**建议UI在[玩家控制器]内构建并使用
UI案例
UI·节点(包含相关的)
**事件预购造:在编辑器即可触发
**事件构造:窗口构造时(被使用时)
从父项中移除后,再使用也会执行
事件tick(UI)
Delta的意思:让物体移动的距离在不同的刷新率的游戏环境中保持一致
优化:tick每帧都运作的节点后面只运行一次可以使用once
***创建控件(create widget)/构建NONE:创建UI/HUD组件
添加视口add to viewport:添加到视图
从父项中移除:移除UI
移除所有控件remove all widgets:移除所有UI
添加子项:添加子级(相当于在UI给目标添加子级控件)
适用于:聊天框添加文字
*需要从UI控件中搜索此节点
***目标:父级UI控件
例
Content:子级UI控件
清除子项:移除所有子项
设置视口中的位置:设置UI生成的位置
适用于:伤害数值
*设置输入模式游戏和UI:可同时控制UI和游戏
开启UI后连接此节点就不用点一下激活鼠标/手柄
Hide Cursor During Capture:鼠标使用时隐藏(锁定)光标
设置鼠标是否能触发游戏或UI
*设置输入模式UI:UI模式(只能控制UI)
In Widget to Focus:对应的UI
*设置输入模式游戏:游戏模式(只能控制游戏输入)
附加:添加字符串(文字数字符号)
案例
左切分/右切分:从左边/右边开始减少文本数
左切分为减少右边
右切分为减少左边
Count:减少文本数
格式化文本:类型附加,{}内为自定义参数
例
获取当前关卡名
UI·动画
***播放动画Play Animation
**Play Mode的[快进]和[翻转]:正放/倒放
省去做两个动画,只需要一个即可
***播放动画Play Animation Reverse:倒放动画(用于播放完后收回动画)
获取结束时间Get End Time
例:播放完销毁
窗口
获取支持的全屏分辨率
For Each EWindow Mode:获取窗口的显示模式(窗口化,全屏,无边框)
获取游戏用户设置:获取用户本地设置的数据(屏幕分辨率、是否全屏、垂直同步等)
位置在 项目名\Saved\Config\WindowsEditor\GameUserSettings.ini
设置屏幕分辨率:设置分辨率
目标:游戏用户设置
应用分辨率设置:仅保存分辨率的设置
目标:游戏用户设置
Check for Command Line Overrides:可使用命令行覆盖设置
可关闭,不影响打包
应用设置:保存所有的用户设置
目标:游戏用户设置
Check for Command Line Overrides:可使用命令行覆盖设置
可关闭,不影响打包
用户设置:分辨率、是否全屏、垂直同步等
粒子
Niagara粒子
属性
**本地空间:发射器以本地空间进行移动
开启后没有移动轨迹(p1关闭,p2开启)
模拟目标
CPU模拟
需要[计算边界模式]切换为[动态]
GPU计算模拟
需要[计算边界模式]切换为[固定]
固定边界:剔除场,效果范围
需要固定ID:每个粒子的ID不变
发射器更新
Emitter State发射器状态
Loop Duration:循环周期(多久生成一次)
例: 1,则一秒一次 2,则2秒一次 0.5,则一秒两次
***Spawn Rate粒子生成率:生成(持续)
连接[Scalability Distance Based Float]:根据距离控制粒子生成数量
***Spawn Burst Instantaneous:生成(单次)
Spawn Particles from Other Emitter:在其他发射器上生成粒子
Emitter Name:发射器名字
粒子生成
粒子生成时
***Initialize Particle初始化粒子:粒子寿命,颜色,大小,旋转
Lifetime:粒子寿命
Sprite Size Mode
Uniform均匀
Non-Uniform非均匀:XY不一样
**Shape Location:生成时的形状
Transform变换:调整移动缩放旋转
*Initialize Mesh Reproduction Sprite:生成网格体形状
Initial Mesh Orientation初始网格方向
***Add Velocity:添加力
Velocity Mode
In Cone:圆锥形
新建暂存区模块:自定义模块
设置完,需要点击[应用]
粒子更新
每帧更新变化
粒子更新·设置
***Loop Behavior循环行为
Infiniti:无限循环
Once:单次
Multiple:多次
Loop Duration循环持续时间
引力
Point Attraction Force:吸引力(点)
Attraction Strength:引力强度
Attraction Radius:引力半径
Kill Radius:清除中心半径的粒子
Line Attraction Force:吸引力(线段)
Point Force点力:点排斥力,点状往外推的力
效果为Point Attraction Force反向的力
Linear Force线性力:一个方向的力
***Curl Noise Force卷曲噪波力:扭曲噪波
适合用于使粒子更自然,类似材质中的Noise
Vector Noise Force矢量噪波:随机运动
Wind Force风力:模拟风吹
Acceleration Force加速力:更新添加的力
***Gravity Force重力
*Solve Forces and Velocity:计算力和速度
一般用于修复力相关
物理模拟不理想时使用
Velocity连接[Vector from Float]:设值为1(速度为1,保持网格体当前动作)
***Drag阻尼:类似拖拽力
***Kill Particles:销毁粒子
Kill Particles连接[HasCollided]:碰撞时销毁
碰撞
**Collision碰撞:与其他碰撞体交互
有一定的性能消耗
Bounce:弹性
Friction:摩擦
碰撞时销毁
颜色
Color颜色
连接[Color from Curve曲线颜色]:颜色随时间变化
注意控制好Alpha,否则消失生硬
Scale Color:与Color类似
大小
***Scale Sprite Size:Sprite大小
UV
Sub UVAnimation:UV动画
同时需要给[Sprite渲染器]的子图像大小
Start Frame:起始帧
End Frame:最后帧(设置为一共的UV子图像数量)
例:8行8列,则63帧(0为第一帧)
网格体
*Update Mesh Reproduction Sprite:实时更新网格体形状粒子
*放在[粒子生成]中为,阶段性生成网格体形状
Update Mesh Orientation:更新网格体方向
Orientation Method:方向方法
***Orient To Vector(s):朝向Vector
Rotation Rate:旋转速率(自动旋转)
Move to Nearest Distance Field Surface GPU:移动到最近表面上
移动到最近距离场表面GPU
材质
Dynamic Material Parameters动态材质参数:控制对应材质参数
事件Events
使用方法: 1. 在A发射器使用[XXX Event] 2. 在B发射器添加[事件处理器],并在[源]选择A发射器的[XXX Event],设置[执行模式:生成粒子],设置[生成数量:X(不是0即可)] 3. 在B发射器添加对应的[Receive XXX Event]
Generate Location Event生成位置事件:粒子位置处每帧位置
需要在[发射器属性]开启[需要固定ID]
Send Rate
Event Send Rate:每秒X次的生成位置事件
Generate Death Event生成死亡事件:粒子死亡处位置
接收事件
Receive Location Event接收位置事件:获取[Generate Location Event]的粒子位置信息
Receive Death Event接收死亡事件:获取[Generate Death Event]的粒子死亡信息
事件处理器:事件处理器属性
在属性[+阶段],添加[事件处理器]
源:选择发射器的[事件]
执行模式
每个粒子:所有粒子
**生成粒子:事件的粒子
每帧最大事件:0=无限
0=无限 (接受所有A发射器的事件)
生成数量:生成粒子数量(0则无)
渲染
Sprite渲染器:图片
默认的Sprite为无光照
***对齐-速度对齐:图片变形时跟随力对齐
朝向模式
***朝向摄像机
子UV
子图像大小:若使用UV动画时,修改成对应的几行几列
网格体渲染器:网格体
***网格渲染-网格体:生成的网格体(可添加多个)
条带渲染器:线条
光线渲染器:光照(类似灯光)
半径缩放:光照范围
颜色添加:颜色
连接节点
***从新的User参数读取(Read from new User Parameter):用户参数(类似变量)
[用户参数]面板
在[用户参数]面板中,编辑参数
添加[用户参数]
可直接拖拽[用户参数]到对应类型项中
数值
Vector from Float:浮点控制2D或3D向量
Make Float from Vector 2d:2d向量通道中的浮点控制值
Channel:通道(X,Y)
***Float from Curve:曲线控制浮点
该曲线在[曲线]面板显示
Make Vector:创建向量(拆分XYZ)
Color from Curve:曲线控制颜色
控制Alpha,否则消失生硬
Scalability Distance Based Float:按距离控制浮点
Bias:完全为0的距离
粒子案例
粒子·蓝图
粒子相关蓝图节点
粒子·蓝图设置
粒子相关材质节点
补充
Niagara系统和Niagara发射器的关系
*Niagara系统:可以包含多个Niagara发射器
Niagara发射器:单独的Niagara发射器
其他-Cascade粒子系统(旧版):旧版粒子系统
隐藏背景图:窗口-预览场景设置-环境-显示环境
所有粒子项下方:显示/隐藏高级项
音效
MetaSound源
知识
与蓝图不同
MetaSound节点没连接上,也会运行
MetaSound变量1帧只能改变一次
成员
输入
图标输入
控件:旋钮/滑条/垂直滑条
可自定义名字,范围值
输出
变量
按住Shift:变为输出
Trigger:触发
设置
MetaSound
输出格式:声道
***单声道:适合物体、音效
立体音:适合BGM
四边形
5.1
7.1
节点
基础默认
输出(声道):对应[输出格式]的声道
输入:播放音效
可以有多个
输出:结束音效
可删除。若删除后,该音效需蓝图来控制播放/暂停
生成器(发声)
***正弦(Sine)
频率:越大音越高
*正方形(Square):类似8bit,像素风
三角形(Triangle)
锯齿(Sawtooth)
音乐
MIDI To Frequency(Float):Midi音符转为频率(0~127)
BPM到秒:节拍器
例
BPM:节拍(越高越快)
全音分法:几拍
触发器
触发重复:重复播放
周期:间隔多少秒
触发计数器:调整[值]逐渐调高或低
例
重设计数:到这个值时重置
*声波播放器(Wave Player):播放器
分多种 
开始时间:开始播放的时间
音高频移偏移:音高
Stereo Mixe(X):立体声混合(X等于混合数)
数学
乘(浮点):调整音量
乘(Audio):混合音频
Clamp(Float):限制
Trigger Compare(Int32):触发比较(比较A和B)
比较:什么时候需要比较
类型
Equals等于
包络
AD Envelope(Audio):音量逐渐衰退
例
混音
Mono Mixer (2):混音(2音频)
声波写入器:
保存到 项目/Saved/AudioCaptures
空间化-音效衰减:给音效添加距离场
音效·补充
音效相关蓝图节点
.WAV格式
Sound Cue
节点
*串联器(Concatenator):按顺序播放(从上到下)
*调制器(Modulator):随机音量和音高
混音器(Mixer):混合
*随机(Random):随机播放
权重:播放概率
延迟(Delay):延迟
正在循环(Looping):循环播放
与音效中的循环节奏不一样
循环次数:播放多少次
Envelope器(Enveloper):曲线控制音量和音高
与调制器(Modulator)类似
多人
运行
网络模式:以监听服务器运行
玩家数量
补充
NetMode网络模式
Server:主机,服务器(只有一个)
Client:客户端(多个)
若是网络游戏,则所有的都是客户端,服务器是专用的服务器
多人·蓝图
事件
自定义事件-复制
复制类型
未复制:默认(本地运行,各自运行)
某些事件客服端可以看到主机的事件,但主机无法看到客户端的事件
***组播:在服务器和所有客户端上运行此事件(必须由服务器发起)
由[事件]执行[服务器事件] 由[服务器事件]执行[组播事件] X [事件]无法直接执行[组播事件] X
若由客户端发起,则为客户端本地运行
***在服务器运行:在服务器(主机)上运行此事件
在拥有的客户端上运行
可靠函数:开启后,信息必定通信成功,如果不成功则一直尝试通信直到成功为止
适合开启的数据
类似释放大招
不适合开启的数据
位移移动 (丢包、卡顿时,可能会丢失数据)
性能较大,不建议在Tick上使用
变量
变量-复制
复制类型
None:无
Replicated:复制(同步)
ReNotify:复制并执行一个函数(同步并执行)
生成一个函数
节点
Switch Has Authority
为本地控制器
为服务器:判定是否为主机(服务器)
多人·蓝图设置
复制:网络通信
复制运动:移动同步
组件
组件复制replication:组件同步
2D
预先设置
项目设置
剔除?
***抗锯齿:FXAA(其他可能会导致出现拖影)
动态模糊:关
2D纹理
1.
***右键-应用Paper2D纹理设置(自动设置压缩设置,过滤器)
备用:手动设置
压缩-压缩设置:用户界面2D (内存大,无损)
默认:内存小,有损压缩(2D不建议)
纹理-高级-过滤器:最近 (类型硬边,否则模糊)
像素必开(不然会模糊像素块)
2. 开启[sRGB](默认已开启)
2D光照
***2D纹理光照
内容浏览器-显示引擎内容
Sprite材质的区别
默认:遮罩光照MaskedLitSpriteMateria(实例)
半透明光照TranslucentLitSpriteMaterial(实例)
不透明光照OpaqueLitSpriteMaterial(实例)
Lit:有光照
UnLit(或没Lit的):无光照
*引擎-plugins-paper2D内容
人物在蓝图Sprite使用MaskedLitSpriteMateria(实例)
批量编辑Sprite
可新建实例自定义材质
瓦片地图使用MaskedLitSpriteMaterial(实例)
2D法线:使光照时纹理拥有立体感
添加法线贴图:Sprite-额外纹理(+)
*不使用要删除额外纹理,否则光照有问题
*注意法线是否反转,否则需要反转绿通道
修复
修复法线纹理在转向时,法线相反
Sprite阴影:蓝图-Sprite-光照-[投射阴影]开启
Sprite蓝图
PaperCharacter:2D的角色蓝图
***角色移动(和3D角色的一致)
使用PaperZD的话,使用PaperZDCharacter
PaperSpriteActor:2D Actor
Sprite动画
纸片图像序列视图:Sprite序列帧动画
0帧等于静止帧
轴心需要为居中下方
***PaperZD:2D动画状态机
2D·蓝图节点
2D·蓝图案例
3D高清纹理像素化
LOD
LOD偏移:越高越糊(分辨率越小)
纹理组:2D像素(未过滤)
瓦片地图Tilemap
瓦片集:2D地图材质块
设置:大小,碰撞
默认64*64一块
1.基本块
*红部分碰撞,绿色部分让地面有凹凸起伏
PS/Krita加工模糊黑边
2.
3.装饰
若出现此问题,需在该瓦片集使用[限定瓦片薄片纹理]
瓦片地图:使用瓦片集绘制地图
绘制,橡皮檫,填充
橡皮檫:需擦放置位置的那一块
选择工具:按住Shift
**水平垂直翻转,旋转
Z:旋转
X:水平翻转
Y:垂直翻转
图层
PageUp:上一个图层
PageDown:下一个图层
Ins:新建图层
案例
旧·蓝图案列
游戏
造成伤害(为造成伤害体做改好控制)
血包(回复,恢复,回血):进行吃回复药回蓝等
回复生命/精力等 且不超过上限
受到伤害
修复bug:死亡不会再显示血量
死亡
人物
操作
键盘人物移动操作(W/A/S/D)
项目设置-引擎-输出
鼠标镜头操作
奔跑
人物:二段跳
按2次 瞬移
无敌时间
冲刺,过程无敌
爬墙跳
连接在[跳跃]后
鼠标
移动到鼠标点击处(按住移动,松开停止)
从玩家到鼠标处的射线检测
物体
物体上升后下降移动
上升下降函数
自动单开门
自动双开门
E键互动开关门
E键钥匙开门
钥匙
加速区域
按键随机位移其中物品
旧版
旧版 子弹
灯光跟随
弹跳物
物理系统
碰到后掉落,再重新生成
数学
求出A和B的距离
计时器
部分可使用[定时器]
摄像机
摄像机滞后(进阶版):盒子内移动微跟随,盒子外正常跟随
预先设置:获取摄像机原Y位置,设置检测盒子到角色
角色对应方向增加视野:[摄像机滞后]的基础上根据[角色方向]来修改
X轴:水平
Y轴:垂直
切换人物(视角):镜头切换
2D
人物
移动动画事件
分辨左右朝向(红线区域无关)
关卡
重新开始关卡(重置关卡)
UI/HUD
添加UI视图
记录时间的UI/HUD(非完整)
有问题
上载具(载具蓝图)
人物上车(注意引用)
宏库
长按XX键
函数库
获取玩家蓝图
开启[纯函数]
获取游戏实例
开启[纯函数]
蓝图案例
游戏
怪物的碰撞伤害:持续碰撞
道具类
生成
发射子弹(远程)
子弹
发射子弹(多发),类型散弹
Each Loop 的 Index 为子弹数量
子弹:需要排除自身
材质
蓝图控制材质过渡
材质:控制Lerp的Alpha值
修复BUG
碰撞体BUG1:碰撞盒内有多个Actor,其中一个销毁的话,会直接结束重叠
UI案例
切换开关UI
模块化
按钮:可编辑文本/大小,事件
需开启[可编辑实例]和[生产时公开]
必须使用事件分发器,否则其他的无法使用
粒子案例
残影
略带扭曲版
重点: Solve Forces and Velocity-Velocity连接[Vector from Float] 设值为1(速度为1,保持网格体当前动作)
静态版
类似阵列
可调整数量
Spawn Brust Instantaneous-Spawn Count:调整数量 Initialize Particle-Sprite Size Mode:调整粒子大小模式及大小 Shape Location-Sphere Radius:调整总体大小 Shape Location-Transform:调整移动缩放旋转 重点: · Shape Location 
环境资源
风格化
Dreamscape: Stylized Environment Tower - Stylized Nature Open World Fantasy (树,石头,木板,草,花,水晶,藤蔓)
LUSH: Stylized Environment Set
Stylized Modular Crystal Mine (铁链,木板)
Cartoon Water Shader (水,海洋,湖,河,瀑布)
游戏性
打击感
顿帧(停顿)
镜头
晃动
滞后:平滑跟随
音效
大小
设备震动
人物闪烁
闪白/闪红...
氛围感
后期盒子
大气雾
灯光
音乐
高低声调