导图社区 UE5虚幻5 使用
UE的思维导图,介绍了窗口、补充、快捷键、物理、音效、打包、命名规范、优化、光照阴影、插件、预先需要设置项等知识。
编辑于2023-09-03 20:53:39 广东UE5
窗口
上方
顶部菜单
文件
导入到关卡中:导入包含实例的FBX场景
导入后会生成一个[FBX场景导入数据]
静态网格体:使用的模型(不包含实例化模型)
***优化:可在导入后,将他们创建为[已打包关卡Actor]
窗口
环境光照混合器
工具
Nanite工具:一键开启Nanite
Triangle Threshold:三角面数(显示高于此值三角面数的所有网格体)
调试
控件反射器:调整窗口大小
模式
选项模式(默认)
地形模式
管理:创建地形
新建-从文件导入:高度图地形
确保修改分辨率,位置高度,缩放,分段,组件数量
分段大小:越大,地图越大
每个组件的分段
建议1x1
组件数量:X和Y的组件数量
一般为正方形,例如17 x 17
雕刻:雕刻地形
Edit Layers:编辑图层
右键-创建:创建图层
绘制:绘制地形材质
1. 制作地形材质
2. 绘制-层:给每个材质创建[权重混合层(法线)]
3. 调整材质球参数
UV缩放:可减少重复感 (0.05左右)
地形
地形开启Nanite
***每次修改地形后需要点击[重新编译数据]
植物模式
绘制:生成植被
1. 添加植被
2. 勾选上会绘制出来的植被
对齐到法线:对齐地形表面
类似树的 需要关闭
**植被的网格体需要开启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使用
运行
新建编辑器窗口(PIE):独立窗口运行
高级设置:调整窗口(分辨率等)

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

快捷键Shift+L(需开启[实时])
Stat UnitGraph:显示数据绘制图表
Slomo X:X倍速(X为数字)
倍速变快,消耗也会太大
其他界面
物体(静态网格体)
Nanite
查看Nanite信息视图
Nanite工具:可为多个网格体一键开启Nanite
Nanite补充
**Nanite不支持[顶点有变形动画的骨骼物体]
5.1 Nanite支持[半透明材质],但消耗较大
*Nanite支持这些网格体的动态平移、旋转和非均匀缩放
*Nanite支持[顶点位移材质],但不能使用太大的位移(会影响剔除)
若使用较大的位移材质,也可增加[边界缩放Bound],但消耗性能
外局[细节面板]-渲染-高级:边界缩放  边界缩放:增加渲染的范围,即剔除。越大会越影响性能。
很适合Nanite的网格体

Nanite网格体的大小
 虽然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
*游戏视图:G
不显示图标UI等
**显示场景的碰撞体:Alt+C
显示雾气:Alt+F
**调整太阳:Ctrl+L(松开L)
**记录当前位置:Ctrl+1/2/3.../0
**到记录位置:1/2/3.../0
***鼠标处生成点光源:L+左键
P:查看导航(AI的移动范围)
运行时
**模拟(视图运行):Alt+S
可自由移动且调整物体和模拟物理
***运行时,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
找到选中物体:Ctrl+B
地形/植被
笔刷大小:[ ]
物理
常用属性
物理材质(PhysicalMaterial)
物理材质参数
抖动问题
恢复力:弹性
密度:重量
破裂(破碎)
破裂网格体的要求
破裂模式
Generate:生成
新建:生成破碎网格体
重设:还原
Fracture:切割方式
 黄色:随机切割 蓝色:按图案切割 绿色:自定义切割
统一:平均
簇:分成几簇,大小有对比
圆形:适合玻璃破碎
补充
Shift+E:碎块分离显示
Shift+B:切换碎块颜色显示
绘制交点:显示破碎的聚焦点
物理场
Anchor Field:固定碎块(范围内碎块固定且不可破坏)
破碎网格体需在Initialization Fields添加物理场
Sleep/Kill Field:稳定/移除碎块(范围内碎块撞击地面后快速稳定)
Master Field:触发破碎(范围内碎块进行破碎)
音效
MetaSound源
节点
*声波播放器(Wave Player):播放器
分多种 
开始时间:开始播放的时间
音高频移偏移:音高
Stereo Mixe(X):立体声混合(X等于混合数)
Sound Cue
节点
*串联器(Concatenator):按顺序播放(从上到下)
*调制器(Modulator):随机音量和音高
混音器(Mixer):混合
*随机(Random):随机播放
权重:播放概率
延迟(Delay):延迟
正在循环(Looping):循环播放
与音效中的循环节奏不一样
循环次数:播放多少次
Envelope器(Enveloper):曲线控制音量和音高
与调制器(Modulator)类似
音效·补充
音效相关蓝图节点
.WAV格式
空间化-音效衰减:给音效添加距离场
打包
打包前检查
项目设置-平台-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)
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_
动画命名
站立
idle
LR-idle
行走
walk
跑
run
跳跃
jump
下坠/下落
falling
冲刺
sprint
翻滚
roll
蹲
crouch
攻击
Attack
格挡
guarding
受伤
hit
其他
资产
Assets
角色
Character
技能
冷却
CD
Cooling Down
优化
重要
场景
静态物体调整为[静态]
优化Nanite
可以使用合并网格体
删除镜头以外的耗内存的东西
需要预先加载的物体可以放在地底(游戏看不到的地方),使用时再移动位置
**合并物体(合并物体减少面数且仍然可单独调整):工具-合并actor-分批
**使用[打包型关卡蓝图]来打包场景
蓝图
[事件tick]每帧都运作,后面只运行一次的要使用once
部分功能可以使用定时器代替[事件tick]
注意[时间轴]节点的后续节点不要太多,会有不必要的性能消耗
材质
使用材质实例
材质优化
减少遮罩贴图的使用(植被的叶子使用 面>遮罩贴图)
粒子
尽量使用Unlit(无光照)
默认的Sprite即是无光照
光照
灯光
节省面积光的使用
***设置灯光的[最大绘制距离]和[最大距离淡化范围]
控制动态灯光的影响范围,少重叠(重叠的部分会添加复杂度)
阴影
灯光阴影的消耗:(点光>定向光>聚光)
左边:消耗大
减少[投射阴影]的模型数量
是否生成光照贴图UV
不需要光影的物体的材质为[Unlit无光照]
查看
统计数据-engine-unit:查看Draws绘制的面数
优化视图模式-光照复杂度:灯光复杂度
着色器复杂度:材质复杂度
2D
2D游戏图片性能优化
光照阴影
光照的主要构成
可去[环境光照混合器]设置参数
SkyLight天空光照
DirectionalLight定向光源
***源角度:太阳大小(0则无,可手动输入,可更大太阳)
同时会影响阴影的虚实(柔化或硬)
光束
光束遮挡:丁达尔效应
光束泛光
ExponentialHeightFog指数级高度雾
***雾密度:雾气密度(可手动输入,可更大雾)
SkyAtmosphere天空大气
可选择
VolumetricCloud体积云
HDRI背景:需要开启插件HDRIBackdrop,在[光源]中打开
勾选Use Camera Projection
不能和SkyLight同时使用
天空光照,定向光源,指数级高度雾,天空大气,体积云均可设置为蓝图
*光照贴图烘焙:构建-仅构建光照
*关闭自动曝光
光照-曝光[游戏设置]:关
物体关闭阴影:静态网格体-LOD0-分段-投射阴影[X]
UE5 Lumen中的AO应用 / 如何重新启用全局可控的SSAO
插件
官方内置
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专属
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:启用/禁用
Quixel Bridge(顶部菜单-窗口):超级强大的素材库
混合材质:选中2-3个材质后点击按钮(在quixel里面)
混合后的材质会去到BlendMaterials文件夹
Bridge的材质属性
Online Subsystem Steam:Steam在线系统
需要在[独立窗口]运行
非官方
Auto Size Comments:自动调整注释大小
按住Alt将新的节点拖入注释框内
Magic Map(M4):地图自动生成
需要开启插件-landmass,项目设置-启用虚拟纹理支持
Ultra Dynamic Sky:超级天空
和M4地图联动(光照):将M4的UDS蓝图复制到超级天空的蓝图编译
先放蓝图再调整参数(也可以刷新)
刷新
效果
星星star
流星(类似月光骑士)
星星闪烁
night
月亮颜色(满月,腥红之月)
雾气fog
雾气(晨光,沙尘暴)
云cloud
子主题
极光Aurora
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]并添加体积
Dragon.IK - Universal IK System:高级IK系统
蜘蛛IK
蛇IK
瞄准IK
双脚地面对齐IK
四脚地面对齐IK
paperZD:2D动画蓝图(状态机)
AnimationSource:动画来源(管理动画,动画事件)
AnimationSequence:动画
PaperZD AnimBP:动画蓝图(动画状态机,蓝图)
动画事件:动画蓝图中的函数[Receive Notify: XXX]
PaperZD动画蓝图·节点
New Override Slot:覆盖插槽(在此节点位置播放动画,覆盖当前动画)
可更改[插槽名]与[组名]
状态机
Jump:跳到该节点
配合[Jump to Node]节点使用
蓝图人物:PaperZDCharacter
包含一个Animation Component组件:2D动画蓝图组件
动画通知蓝图:PaperZDAnimNotify
推荐[PaperZDAnimNotifyState],具有动画通知开始与结束
事件On Notify Begin/End:动画通知开始/结束
事件On Notify Tick:动画通知tick
PaperZD·蓝图
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:播放的动画
DLSS:深度学习采样
下载: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
预先需要设置项
项目设置
平台-Windows-默认RHI:DX12
python-是否启用远程执行:开
开启后可使用py的插件
抗锯齿方法:TAA
适合DLSS
注意不是[移动平台],是[默认设置]中的抗锯齿方法
渲染
动态全局光照方法,反射方法:Lumen
阴影贴图方法:虚拟阴影贴图
允许静态光照:开启时,禁用材质的AO通道
引擎-一般设置-帧率-平滑帧率:关闭(以免影响场景测试时的帧率)
软件光线追踪模式:细节追踪
选择性设置项
虚拟纹理支持
动态模糊:关
材质
材质函数 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
有的贴图会将三张灰度图合并在R,G,B三个通道上(节省内存)
法线:OpenGL到dx要反转green通道
***sRGB:颜色贴图勾选,法线贴图需要除去
若金属,粗糙,AO,置换等贴图显示的特别油,需要关闭sRGB
材质球
材质=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:全局位置偏移(顶点偏移)
其他
材质参数集MaterialParameterCollection
Collection Parameter:连接需要控制的参数
[细节]面板选择[材质参数集]和[参数名]
使用
用途1:Sequence中设置关键帧动画
用途2:蓝图中控制[参数集]
材质函数:类似蓝图的宏
输入输出(可多个)
快捷键
C:注释
右键-转换为参数:参数(实例化后可调整)
右键[连接圆圈]:直接生成同名参数
Ctrl+Q /右键-开始预览节点:浏览刚好节点效果
自定义快捷键:Ctrl+Q
材质案例
UV缩放
闪烁灯
简单流动材质
能量罩:距离加大
能量罩2:1的基础上+[1-x]
双面
能量罩3:使用菲涅尔
也类似:轮廓,全息扫描
流动水:叠加2个不同流动速度的材质(仿真),深度距离调整清楚和边缘
需开启
材质-混合模式:半透明
半透明-光照:表面半透明体积
草:遮罩+材质
蓝图
蓝图控制材质过渡
节点
参数
***按住1+左键:值(常量)
***按住S左键:浮点参数
保存为实例材质后可对此参数进行修改
可在蓝图中,控制此参数
按住2+左键:二维向量
***按住3+左键:颜色 (三维向量)
0,0,1:法线里的平面
*按住4+左键:颜色+Alpha (四维向量)
**向量参数(二维/三维/四维)
***按住T左键:Texture Sample纹理贴图
*纹理贴图参数
优化:灰度图可仅连接单个通道即可
可转换成[纹理对象]
***Texture Object:纹理对象
**纹理对象参数
与Texture Sample类似。但部分节点仅能连接此节点,不能直接连接到Texture Sample
Static Bool:布尔
*布尔参数
*按住M左键:Multiply乘(混合)
可以作为调节暗部使用
乘-1:反向,翻转
按住D左键:Divide(除法)
按住A左键:add加法(相加,叠加)
Subtract:减法
可以用于高度图的混合(蒙版减法)

power强度:越大颜色越强(越亮)
可以作为对比度使用,或使用CheapContrast
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差值
一般用于混合(Alpha0.5)
Alpha放灰度图控制,A为黑B为白
层级关系A上B下(A>B)
可用于调整效果强度
材质混合使用MaterialLayerBlend Standard
限制值
*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
Step阶:图形锐化
可用于变成硬边
0:全白,1:全黑
SmoothStep:图形柔和化
DotProduct:点积
简称:Dot
常用组合:世界空间顶点法线+Z轴 连接Dot
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动画
例
移动缩放旋转
CustomRotator:旋转
0=0°,0.25=90°,0.5=180°,0.75=270°,1=360°
特殊效果
**Fresnel菲涅尔:边缘与中心的平滑过渡
 效果
Exponentin:强度
BaseReflectFractionIn:过渡
可用于Alpha(类似丝袜,黑色与皮肤的过渡)
CheapContrast (RGB):对比度
默认为黑白版 RGB为颜色版
Desaturation:去饱和度(变黑白)
0=原本颜色 1=黑白灰
***Depth Fade:深度距离
类似淡化,可模糊透明物体衔接处
***可以判断模型与其他模型相交的边缘
[深度距离]可以[模糊(虚化)/硬]碰到的边缘
BumpOffset凹凸贴图偏移:视差贴图
Height:高度图 (高度贴图中的值越亮,材质的"凸出"效果越明显) HeightRatioInput高度比输入:这个值越大,深度越极端。一般范围是0.02到0.1。
图像特效
VectortoRadialValue矢量到径向值:将图像纹理换螺旋状
例
 纹理-细节面板-Mip值模式:Mip等级 (使用后图像螺旋后会优化混合,下方P1变成P2)  
位置
ActorPosition:Actor位置(世界坐标)
***WorldPosition绝对世界位置:绝对世界坐标(顶点在世界中的位置坐标)
例:调整高度
*VertexNormalWS:法线向量(世界空间顶点法线)
注意,沿法线偏移位置会导致几何图形沿UV缝隙拆分
可实现设置网格体增大或缩小
*建议使用PixelNormalWS,比VertexNormalWS效果好
PixelNormalWS:世界空间像素法线
比VertexNormalWS效果更细腻
VertexTangentWS:世界场景空间顶点切线
可实现球体来回旋转 平面左右移动
深度
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:混合(叠加)

法线
FlattenNormal:法线强度
一般需要反向Flatness来方便控制强度
BlendAngleCorrectedNormals:混合角度校正法线(混合法线)
世界对齐纹理
WorldAlignedBlend:世界对齐混合
例:适合用于制作雪,苔藓
本体连B,覆盖层(雪,苔藓等)连A
***WorldAlignedTexture:世界对齐贴图
例
*TextureSize:贴图大小(类似UV大小)
***WorldAlignedNormal:世界对齐法线
*TextureSize:贴图大小(类似UV大小)
Mask遮罩/Alpha
SlopeMask:斜面遮罩(斜坡遮罩)
SlopAngle:角度
FalloffPower:衰减强度
CheapContrast:对比度
***DistanceToNearestSurface:距离到附近物体表面
适合做水
SkyAtmosphereLightDirection:根据定向光
Sphere Mask:圆形遮罩
动画(世界位置偏移)
适合用于 世界位置偏移(顶点偏移)
Sine正弦:-1到1之间变动(从0开始)
 Sine是从0开始
可以用作灯光闪烁
周期:X秒完成一个波形(周期越长,则越慢)
Cosine余弦:-1到1之间变动(从1开始)
 Cosine是从1开始
可以用作灯光闪烁
周期:X秒完成一个波形(周期越长,则越慢)
***按住p左键:Panner平移(流动材质)
类似纹理的流动(水面)
coord控制uv,time连接time,speed:速度
Coordinate连接不同的渐变效果,材质的移动效果也不一样
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噪波(细节面板可调整细节)
VectorNoise:顶点噪波
可选择Perlin噪波
使用绝对世界位置+除法控制大小

纹理贴图
Perlin噪波
Perlin属于软噪波(边缘柔和)
代码
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) -可被引用 (单线程执行) -消耗(越大越消耗):事件>宏>函数 执行:仅单个输入和输出 返回值:可带有多个输入值和输出返回值
**函数:类似打组,方便管理和明白
可通过引用(通信)来使用该对象拥有的函数
**纯函数:仅结算出来的数据,无针脚
**局部变量:仅此函数内可使用的变量,外部无法调用
宏
-可以使用[延迟Delay],不可使用[时间轴timeline] -不可被引用 -消耗(越大越消耗):事件>宏>函数 执行:可拥有多个输入输出 返回值:可带有多个有输入值和输出返回值
宏可以生成多个输出输入
无命名针脚:输入execute,输出then
宏可以设置为纯函数(需手动)
蓝图函数库/蓝图宏库
若不是非常多个蓝图需要使用,则不要做成共用宏/函数 过多会影响性能
*蓝图函数库/蓝图宏库:可被公共引用(模块化功能)
例:宏库
变量
***布尔(Bool,Boolean):鉴定是或否(打钩代表true)
在数学里,布尔T代表1,F代表0
数值
字节(Byte):0~255之间的整数
*整数(Integer)
**整数做除法的时候,若结果为小数,则需切换到[浮点]类型,否则将抹除整数后的小数
Integer64
*浮点(Float):含小数点的数值
文本
性能消耗:命名<字符串<文本
*命名(Name):游戏里,不能修改的文本
适用于名字,ID,
*字符串(String)
字符串比对时,==不区分大小写,===区分大小写
*文本(Text):可被翻译
向量(Vector):X,Y,Z
简称Vector3,V3 
旋转体(Rotator):[旋转]的值

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

其他
***Actor
*角色:对应有[角色移动]的对象
Vector4:四维向量
一般用于颜色+透明度(RBG+A)
材质
材质实例
纹理2D:纹理贴图
按键
键:按键
增强输入
增强操作键映射
输入映射上下文
获取Mappings:获取[输入映射上下文]中的所有[输入操作]
从上到下获取 
中断EnhancedActionKeyMapping:获取[输入操作]的数据
Action:输入操作
***Key:按键
设置EnhancedActionKeyMapping中的成员:设置[输入操作]的数据
输入操作
变量类型
单个:一个变量
数组:多个变量
蓝图·数组
右键变量可切换为数组
集:与数组类似,常用于比较
蓝图·集
映射:左边的变量,输出右边的变量
蓝图·映射
可以有多种不同类型的映射
添加时,若有默认值(0/0.0/0,0,0),则需修改才能再添加值
细节面板-变量类型:可切换为单个,数组,集,映射
补充
变量引用类型
*对象引用:引用类中的一个对象
对象引用=实例
*类引用:引用这个类型的所有对象
一个类可以有很多对象
类引用=文件
软对象引用
软类引用
变量·设置
可编辑实例:开启后可编辑
引用可编辑
外部可编辑
生成时公开:开启后,[生成Actor]蓝图会生成引脚
同时需要开启[可编辑实例]
私有:不可被引用
**部分变量可检测是否生效
[仅 向量/变换]显示3D控件:在视图选中蓝图,即可显示和移动位置
复制:多人
显示继承的变量:显示父类中继承的变量
**局部变量:仅此函数内可使用的变量,外部无法调用
***蓝图-结构:可自定义包含多个变量类型的变量
可适用于制作角色的名单:生命/属性/背景/伤害等
**可在蓝图[变量]里,添加结构(可分割引脚)
结构·常用节点
设置XXX中的成员:修改结构中的变量
中断XXX:获取结构信息
隐藏未连接的引脚
菱形◆◇的变量:临时变量
***临时变量不会保存,所以需要再次设置
***数组的话,可使用[设置阵列元素]
***可在蓝图[类默认项]里,直接给予结构变量的默认值
**子级蓝图会继承父级的[结构],但不会继承父级[结构]中变量的[值]
***蓝图-枚举:可自定义多个选项的变量
蓝图和结构[变量]里,可添加枚举
枚举·常用节点
***切换到XXX(Switch XXX):枚举当前为X则执行X
不相等/等于:判定当前枚举
例
其他
其他-数据表格:选择[结构],获取信息
[添加]:添加行(行可重命名)
外部的 .CSV格式可直接导入进来
例:Google 表格
数据表格·常用节点
获取数据表行名称
获取数据表行XXX
Row Name:行命名
选择Data Table资产后,可直接选择其表格行
输出行:结构信息
数据表格·常用组合
[获取数据表行名称]+[获取数据表行XXX]
例
通信
事件分发器
事件分配器 适用于告知其他"正在倾听的"蓝图已发生事件。事件发生时,正在倾听的蓝图便会作出反应,并相互独立地执行预期的操作。 例如,游戏中有一个 Boss,它被消灭时将会调用"OnDied"事件分配器。可将"OnDied"事件 绑定在任意数量的其他蓝图中,如角色(作出庆祝动作)、关卡中的门(会打开)或 HUD(显示 UI 信息)。所有这些蓝图均在收到 Boss 被消灭的"OnDied"通知后执行。 事件分配器 使用时机的例子: 需要从角色蓝图到关卡蓝图进行通信。 玩家角色升级,需要开放之前锁定的区域。 玩家角色按下行动按钮,对关卡执行某种操作。 生成的 Actor 执行某种操作时触发事件。 生成一个 Boss,Boss 被消灭时触发事件,在世界场景中生成一个奖励。 在关卡中生成一个道具(武器、回复剂等)并在道具被拾起时告知道具和角色。
使用类型
**调用:使用XXX,执行绑定到的事件
绑定:绑定事件到XXX
绑定=可以被使用,可以被调用
也可以配合[创建事件]使用
**解除绑定:解除XXX绑定的某个事件
连接要解除绑定的事件
也可以配合[创建事件]使用
**解除所有绑定:解除XXX绑定的所有事件
事件:自定义事件
***分配:绑定+事件
可添加自定义变量
蓝图接口
通过 蓝图接口(简称 接口)可实现与多种类型对象(均共享特定功能)形成互动的一般方法。 例如汽车和树是完全不同的两种对象,但拥有一个共同点 - 它们均可被武器开火击中并遭到破坏。 蓝图接口的函数都是空的,需要在连上接口的蓝图内给予接口函数值,不给则空。 蓝图接口是一对一通信(每个接口的内容都不一样,所以并不是一对多) 作用:方便调用多个含有该函数/事件的蓝图 不需要建立多个相同的时间或函数 调用的接口都一样,但每个使用接口的蓝图里,内容都不一样
蓝图接口和事件分发器的区别
蓝图接口窗口
可以给函数添加输出入,输出和输出值
使用蓝图接口
1. 添加蓝图接口:类设置-接口
左侧[接口]
没有改面板时,试着编译
黄色:没有输出值,为事件(蓝图接口的函数只有输出,所以为事件)
只有输出,没有输出值也是黄色
灰色的函数:可给予接口函数值,不给则空
子类不会继承父类接口中的数值,需重新连接
调用接口的蓝图
调用接口[函数/事件]:获取对应接口函数的值/执行对应接口的事件
蓝图接口·常用节点
获取有接口的所有actor:获取拥有对应接口的所有Actor
引用
组件
碰撞盒
Box Collision:盒体碰撞盒(方形)
设置盒体范围:设置盒体范围大小
Sphere Collision:球体碰撞盒
Capsule Collision:胶囊体碰撞盒
***弹簧臂组件:类似手机架
**滞后:平滑跟随
若镜头速度不够产生拖影(类似卡顿),则加大延迟速度
可使用于[箭头组件]
旋转移动组件:设置移动或自转
箭头组件:说明朝向的方向
可获取箭头的变换(位置旋转缩放)
场景组件
放到根位置,静态网格体即可移动
**发射物移动组件:自定义子弹
发射物重力
发射速度
是否抛物线,抛物线
样条组件:Spline(曲线)
控制
按住Alt拖拽:添加点
闭合循环:首尾闭合
文本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
行走-地面摩擦力:越低越滑(滑冰面)
*上跳/下落-摔倒横向摩擦力:空中左右速度,越高越灵敏
旋转速率:角色旋转的速度
上方-类默认值:更多设置项
跳跃最大数量:多段跳(二段跳,三段跳等)
跳跃最大按压时间:跳跃滞空时间,可按住继续上升时间(类似长按大跳)
角色行为
正在地面移动(地面)/掉落(空中)/蹲伏(蹲下)/飞行/游泳:检测正在进行的行为
事件跳跃时:跳跃时触发
跳跃
停止跳跃:终止跳跃按压时间
时间着陆时:到地面时触发
2D,2.5D
平面移动:约束在平面,不会被约束的轴影响
**平面约束设置:约束一个轴
AI
回避,回避考虑半径:AI寻路时,躲避障碍的考虑半径
官方文档:寻路系统
官方插件
PCG:程序化生成
实例-Graph:选择PCG图表
**生成区域需要使用一个[碰撞盒]
可在[构建脚本]中,实时改变盒子大小
动态网格体组件
AI组件
多人·组件设置
蓝图类型
玩家控制器:玩家的控制器能触发的内容
可以分别为登入界面,游戏等创建不同的控制器
游戏模式基础:定义游戏的规则
可以分别为不同的游戏创建不同的游戏模式
**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游戏加载顺序
调试
运行
***游戏运行时,F8:切换游戏/编辑器状态
断点
***F9:激活断点(执行到这时停用运行)
F10:跳到当前图表中下一个被执行的节点
F11:跳到下一个被执行的节点
Alt+Shift+F10:继续执行
运行时查看流程:运行后,调试对象选择对应的蓝图
BUG解决
部分Bug可以在事件开始时添加一个[延迟]
可能是由于部分Actor或组件等未生成,获取不到,所以添加一个延迟给时间生成
补充
常用
游戏模式蓝图替换角色pawn
右键蓝图,创建子蓝图类:继承父级的蓝图
**子级蓝图会继承父级的[结构],但不会继承父级结构变量中的[值]
[结构]在蓝图[类默认项]-默认
**子级蓝图会继承父级的[组件],但不会继承父级组件中的[值]
父类:右键-[将调用添加到父函数]
修改碰撞预设,需先将根部件替换(成为根部件后不能移动旋转,可以缩放)
p1→p2
添加场景组件恢复移动
标签
可用于区别种类
所有的东西都可以加标签
注意蓝图识别的是Actor的标签
使用
选中物体,将选项转换为蓝图类(不推荐,会失去原先的物体)
粒子设置
使用 [在位置处生成发射器] 节点来生成粒子,或直接拖入使用[激活]
关闭粒子第一次:激活-关闭自动启用
*载具(Pawn):内容浏览器-添加-添加功能内容包
节点
常用
***自定义事件
[自定义事件]可自带输入参数
[自定义事件]在服务器上运行
***键盘+[空格]+[任何键]
例:键盘 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
延迟
可再触发延迟:途中再触发会刷新延迟
***按住b+左键:分支
***按住s+左键:序列Sequence(同时执行多个)
***Filp Flop:A和B之间切换执行
适合用于切换
***multigate:多个之间执行,可随机可轮流
*Gate:门
案例
**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:销毁,摧毁
引用(通信)
UI
获取类的所有控件:获取所有UI控件的引用
场景Actor
单个
**获取类的Actor:获取单个Actor
***引用场景中的物体使用这个!
多个
**获取类的所有Actor:获取所有该类的Actor
***引用场景中的物体使用这个!
Actor太多会影响性能
可以在已开始就获取,然后保存为变量
获取有标签的所有Actor:获取所有拥有该标签的Actor
获取有标签的类的所有Actor:获取所有拥有该标签且为该类的Actor
***Cast to XX(类型转换为XX):转换成XX,然后可引用其事件,变量,函数
消耗高
Object的连接
角色:优先连接[获取玩家Pawn]或[获取玩家角色],其次[获取玩家控制器]
[获取玩家控制器]某些时候会失败
动画蓝图:连接[网格体]+[获取动画实例]
游戏模式/玩家控制器:连接[获取游戏模式]/[获取玩家控制器]
通过获取引用
***时间轴:使变化过程有动画,双击调整时间曲线
右键添加帧上方调整时间与变化的值,F或左上两按钮看所有帧,右键帧调整曲线
事件轨道:添加一个时间点触发
事件轨道的值(value)没有作用,只需要设置时间
向量轨道:添加向量的变化过程
共用
创建
创建文字浮点:自定义一个浮点
同理
创建旋转体:自定义一个旋转
X:0,Y:0,Z:0
创建向量:自定义一个向量
X:0,Y:0,Z:0
创建数组:设置数组项
数值
Compare Float:比较
++,Increment:值每次+1
--,Decrement:值每次-1
限制Clamp(Float):限制值(浮点)
随机整数:Max最大数值
数组
**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:合并,并去除多余相同的项目
交集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向前向量:获得前面的量(蓝色箭头为前)
和向前同理(默认右为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不一样,推荐用射线检测的
功能性
变换
设置
**设置相对位置/旋转:同理,物体移动/旋转位置
**设置相对变换:物体变换位置(注意会同时影响移动旋转缩放的值)
**设置世界位置:设置目标世界坐标位置
世界和相对
***设置Actor位置:设置位置(pawn也可以)
设置actor变换:Actor变换
设置Actor 3D缩放:设置缩放
*将组件移至:移动组件位置
添加Add
添加Actor位置:原本的位置上添加位移
变换位置Transform Location:传送到位置
例:适合用于传送角色
不推荐
碰撞
设置碰撞已启用:启用/禁用碰撞体
设置Actor启用碰撞:禁用碰撞体(按钮:是否启用碰撞)
设置通道的碰撞响应:改变某个类型的碰撞响应
对应的碰撞类型和响应
可视性
设置Actor在游戏中隐藏:隐藏(是否可见)
设置可视性:隐藏/显示(不影响碰撞)
激活:使用
[细节]面板可设置[目标]默认是否激活
Reset:重置
设置激活:设置是否使用
[细节]面板可设置[目标]默认是否激活
Reset:重置
组件
按类添加组件:添加组件
将Actor附加到组件:将目标移动到parent上
从组件分离:到另一个位置
停用Deactivate:停用组件
射线检测
检测到的首个(单个)
线条射线
按通道进行线条追踪
针对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:伤害物,造成伤害的物品
例
物理
开启[物理模拟]的蓝图
设置模拟物理(开关物理)
设置碰撞描述文件名(模拟该动作名字的动作)
人物蓝图-碰撞-碰撞预设:设置模拟物理的动作
Update Overlaps:开启后,不重叠(防止卡墙里等等)
添加作用力Add Force:施加一段时间的力
添加冲量Add Impulse:施加一次爆发的力
适用于:击退
***弹射角色Launch Character:角色往一个方向弹射
与角色移动的[摔倒横向摩擦力]有关,摩擦力越大弹射距离越短
***(Z/XY)Override覆盖:覆盖原来的力
适用于:跳板,击飞等
立即停止移动:立刻停下,清空加速度
适用于:电击,僵直等
若在空中,仍会掉落
控制
添加控制器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范围时的衰减
关卡
关卡切换时,数据会刷新,可以使用[游戏实例]或[存档]来跨关卡保存数据
获取当前关卡名,打开关卡(按名称):获得当前关卡名字,进入[关卡名字]的关卡
案例
***打开关卡:进入选中关卡
时间
设置全局时间膨胀Set Global Time Dilation:时间缩放(TimeScale),时间速度
慢动作
获取游戏时间(以秒计):游戏开始后计算的时间
现在Now:当前年/月/日/小时/分/秒/毫秒
作为日期As Date:获取当前年/月/日
作为日期时间As DateTime:获取当前年/月/日/小时/分/秒/毫秒
存档
在开发平台上,保存的游戏文件使用.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:控制台命令
AI
AI·节点
UI
UI·节点
多人
多人·节点
存档共同点
Slot Name:存档名字
即[SaveGame]类型的蓝图的名字
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为[数组],其他与单通道相同
蓝图案例
游戏
怪物的碰撞伤害:持续碰撞
道具类
生成
发射子弹(远程)
子弹
发射子弹(多发),类型散弹
Each Loop 的 Index 为子弹数量
子弹:需要排除自身
材质
蓝图控制材质过渡
材质:控制Lerp的Alpha值
修复BUG
碰撞体BUG1:碰撞盒内有多个Actor,其中一个销毁的话,会直接结束重叠
旧·蓝图案列
游戏
造成伤害(为造成伤害体做改好控制)
血包(回复,恢复,回血):进行吃回复药回蓝等
回复生命/精力等 且不超过上限
受到伤害
修复bug:死亡不会再显示血量
死亡
人物
操作
键盘人物移动操作(W/A/S/D)
项目设置-引擎-输出
鼠标镜头操作
奔跑
人物:二段跳
按2次 瞬移
无敌时间
冲刺,过程无敌
爬墙跳
连接在[跳跃]后
鼠标
移动到鼠标点击处(按住移动,松开停止)
从玩家到鼠标处的射线检测
物体
物体上升后下降移动
上升下降函数
自动单开门
自动双开门
E键互动开关门
E键钥匙开门
钥匙
加速区域
按键随机位移其中物品
旧版
旧版 子弹
灯光跟随
弹跳物
物理系统
碰到后掉落,再重新生成
数学
求出A和B的距离
计时器
部分可使用[定时器]
摄像机
摄像机滞后(进阶版):盒子内移动微跟随,盒子外正常跟随
预先设置:获取摄像机原Y位置,设置检测盒子到角色
角色对应方向增加视野:[摄像机滞后]的基础上根据[角色方向]来修改
X轴:水平
Y轴:垂直
切换人物(视角):镜头切换
2D
人物
移动动画事件
分辨左右朝向(红线区域无关)
关卡
重新开始关卡(重置关卡)
UI/HUD
添加UI视图
记录时间的UI/HUD(非完整)
有问题
上载具(载具蓝图)
人物上车(注意引用)
宏库
长按XX键
AI
可移动范围
1. 导航网格体边界体积(NavMeshBoundsVolume):AI的可移动范围
P:查看导航(AI的移动范围)
绿色区域
在[大纲]自动生成RecastNavMesh-Default
2. RecastNavMesh-Default:AI移动范围的设置
显示(移动范围信息)
生成
***代理最大斜面:可行走的坡度
3. [上方]构建-构建所有关卡:构建导航范围(使其生效)
AI蓝图
蓝图-AIController(AI控制器)
AI角色蓝图
在AI的角色蓝图[类默认值]-Pawn-AI控制器类,替换
自动控制AI
***建议设置为:已放置在场景中或已生成
AI任务蓝图
将值保存到[黑板]的变量
***1. 在[变量]-创建[黑板键选择],并开启[可编辑实例]
所有的[黑板键选择]变量都需要开启
2. 使用[将黑板值设为XXX]获取值
3. 在[行为树],选中任务,设置[黑板键选择]变量为对应[黑板]中的变量
4. 即可在整个[行为树]中使用
AI组件
AI感知组件AIPerception:使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好
黑板
***将黑板值设为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)
Wait:等待X秒
等待时间:等待X秒
随机偏差:随机X秒(最小秒数=[等待时间])
例: [等待时间]设置为0,则在0~X秒内 [等待时间]设置为2,则在2~X秒内 X=随机偏差的值
***自定义任务=任务蓝图名字
UI
控件蓝图
面板
***画布面板:显示画面比例
垂直框:垂直对齐
填充:间距
***大小到内容:开启后,框会根据内容自动调整大小
渲染变换-变换:变换
水平框:水平对齐

***大小到内容:开启后,框会根据内容自动调整大小
*覆层:叠加
例:按钮叠加图片
***控件切换器:分页
可右键[包裹]-控件切换器:快速添加
根据顺序来切换
特殊效果
背景模糊:让背景内容模糊
例
通用
按钮
按钮正常,悬停,按压时的样式
为可聚焦:开启时,鼠标左键/空格/回车 都可响应此按钮
关闭时,仅鼠标左键可触发
按钮事件
进度条
血量,精力值等
**绑定数值
例:***当前÷最大,(部分算法需要除100)
**注意若是整数做除法的时候,若结果为小数,则需切换到[浮点]类型,否则将抹除整数后的小数
图像:图片
行为-可视性(非可命中测试):鼠标悬停时不会被检测到
仅自身:仅本图像
自身和所有子项:本图像且包含子级
文本
图元
间隔区:空白区域

用户创建
可添加自定义的控件蓝图
高级
*输入键选择器:自定义按键输入
事件
选定键时:输入了任意按键时
Selected Key:输入的按键
选择键已变更时:按下改变按键时
[细节]面板
锚点
可快速调整锚点位置
锚点会影响不同窗口比例下组件的位置
是变量:设置UI是否为变量
UI·动画
可用于制作启动画面
使用
1. 添加[动画]
2. 选中动画,选择UI组件进行K帧(添加关键帧)
3. 图表,给动画连接[播放动画]
补充
UI类型
UI:菜单和其他的交互性元素,例如主菜单,暂停游戏时的暂停菜单
HUD:在游戏过程中覆盖在屏幕上的状态及信息。例如当前状态,分数、生命值、剩余时间等,通常是不能交互的
操作
右键[包裹]:生成为父级
是变量:组件生成为变量
若未开启,则不会显示对应的事件
UI自适应分辨率调整:将UI的锚点四个角对齐UI
可使用多个[控件蓝图]来为不同面板使用
例:分数面板,血量,胜利,金币等
**建议UI在[玩家控制器]内构建并使用
UI·节点(包含相关的)
**事件预购造:在编辑器即可触发
**事件构造:窗口构造时(被使用时)
从父项中移除后,再使用也会执行
事件tick(UI)
Delta的意思:让物体移动的距离在不同的刷新率的游戏环境中保持一致
优化:tick每帧都运作的节点后面只运行一次可以使用once
***创建控件(create widget)/构建NONE:创建UI/HUD组件
添加视口add to viewport:添加到视图
从父项中移除:移除UI
移除所有控件remove all widgets:移除所有UI
添加子项:添加子级
适用于:添加存档等
Content:子级
清除子项:移除所有子项
设置视口中的位置:设置UI生成的位置
适用于:伤害数值
设置输入模式游戏和UI:设置鼠标是否能触发游戏或UI(或同时可以)
Hide Cursor During Capture:鼠标使用时隐藏(锁定)光标
设置输入模式UI
附加:添加字符串(文字数字符号)
案例
左切分/右切分:从左边/右边开始减少文本数
左切分为减少右边
右切分为减少左边
Count:减少文本数
格式化文本:类型附加,{}内为自定义参数
例
获取当前关卡名
UI·
设置激活控件索引:设置[控件切换器]切换到X的UI
0为第一页
根据顺序来切换
UI·图片
使用纹理设置笔刷:设置UI图片
UI·动画
播放动画Play Animation
获取结束时间Get End Time
例:播放完销毁
粒子
Niagara粒子
属性
**本地空间:发射器以本地空间进行移动
开启后没有移动轨迹(p1关闭,p2开启)
模拟目标
CPU模拟
需要[计算边界模式]切换为[动态]
GPU计算模拟
需要[计算边界模式]切换为[固定]
固定边界:剔除场,效果范围
发射器更新
Emitter State发射器状态
Loop Duration:循环周期(多久生成一次)
例: 1,则一秒一次 2,则2秒一次 0.5,则一秒两次
***Spawn Rate粒子生成率:粒子生成数量
连接[Scalability Distance Based Float]:根据距离控制粒子生成数量
*Spawn Burst Instantaneous:瞬间爆发式生成
粒子生成
粒子生成时
***Initialize Particle初始化粒子:粒子寿命,颜色,大小,旋转
Lifetime:粒子寿命
**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
Wind Force风力:模拟风吹
Vector Noise Force矢量噪波:随机运动
***Gravity Force重力
***Drag阻尼:类似拖拽力
Acceleration Force加速力:更新添加的力
*Solve Forces and Velocity:计算力和速度
一般用于修复力相关
物理模拟不理想时使用
Velocity连接[Vector from Float]:设值为1(速度为1,保持网格体当前动作)
碰撞
**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:实时更新网格体形状粒子
*放在[粒子生成]中为,阶段性生成网格体形状
Move to Nearest Distance Field Surface GPU:移动到最近表面上
移动到最近距离场表面GPU
材质
Dynamic Material Parameters动态材质参数:控制对应材质参数
渲染
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:曲线控制浮点
该曲线在[曲线]面板显示
Color from Curve:曲线控制颜色
控制Alpha,否则消失生硬
Scalability Distance Based Float:按距离控制浮点
Bias:完全为0的距离
粒子案例
残影
略带扭曲版
重点: 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 
粒子·蓝图
粒子相关蓝图节点
粒子·蓝图设置
粒子相关材质节点
旧-笔记
补充
Niagara系统和Niagara发射器的关系
*Niagara系统:可以包含多个Niagara发射器
Niagara发射器:单独的Niagara发射器
其他-Cascade粒子系统(旧版):旧版粒子系统
隐藏背景图:窗口-预览场景设置-环境-显示环境
所有粒子项下方:显示/隐藏高级项
多人
运行
网络模式:以监听服务器运行
玩家数量
补充
NetMode网络模式
Server:主机,服务器(只有一个)
Client:客户端(多个)
若是网络游戏,则所有的都是客户端,服务器是专用的服务器
多人·蓝图
事件
自定义事件-复制
复制类型
未复制:默认(本地运行,各自运行)
某些事件客服端可以看到主机的事件,但主机无法看到客户端的事件
***组播:在服务器和所有客户端上运行此事件(必须由服务器发起)
由[事件]执行[服务器事件] 由[服务器事件]执行[组播事件] X [事件]无法直接执行[组播事件] X
若由客户端发起,则为客户端本地运行
***在服务器运行:在服务器(主机)上运行此事件
在拥有的客户端上运行
可靠函数:开启后,信息必定通信成功,如果不成功则一直尝试通信直到成功为止
适合开启的数据
类似释放大招
不适合开启的数据
位移移动 (丢包、卡顿时,可能会丢失数据)
性能较大,不建议在Tick上使用
变量
变量-复制
复制类型
None:无
Replicated:复制(同步)
ReNotify:复制并执行一个函数(同步并执行)
生成一个函数
节点
Switch Has Authority
为本地控制器
为服务器:判定是否为主机(服务器)
多人·蓝图设置
复制:网络通信
复制运动:移动同步
组件
组件复制replication:组件同步
2D
预先设置
项目设置
2D纹理
1.
***右键-应用Paper2D纹理设置
(备用方法,适合像素画)
*纹理-压缩-压缩设置:用户界面2D (内存大,无损)
默认:内存小,有损压缩(2D不建议)
纹理-纹理-高级-过滤器:最近 (类型硬边,否则模糊)
像素必开(不然会模糊像素块)
2.
开启[sRGB]
2D法线:使光照时纹理拥有立体感
Sprite-额外纹理(+)
*不使用要删除额外纹理,否则光照有问题
*某些需要反转绿通道
***Sprite和瓦片地图光照
内容浏览器-显示引擎内容
区别
默认:遮罩光照MaskedLitSpriteMateria(实例)
半透明光照TranslucentLitSpriteMaterial(实例)
不透明光照OpaqueLitSpriteMaterial(实例)
Lit:有光照
UnLit(或没Lit的):无光照
*引擎-plugins-paper2D内容
人物在蓝图Sprite使用MaskedLitSpriteMateria(实例)
批量编辑Sprite
可新建实例自定义材质
瓦片地图使用MaskedLitSpriteMaterial(实例)
(备用方法,不推荐)引擎-plugins-paper2D内容-DefaultSpriteMaterial(无光照)
材质-着色模型:默认光照
自发光→基础颜色,高光:0,粗糙:1
开启Sprite阴影
Sprite-光照-开启[投射阴影]
抗锯齿:像素适合FXAA
Sprite蓝图
PaperCharacter:2D的角色蓝图
***角色移动
PaperSpriteActor:2D Actor
***PaperZD:2D动画状态机
Sprite动画
纸片图像序列视图:Sprite序列帧动画
0帧等于静止帧
瓦片地图
瓦片集:2D地图材质块
设置:大小,碰撞
默认64*64一块
1.基本块
*红部分碰撞,绿色部分让地面有凹凸起伏
PS/Krita加工模糊黑边
2.
3.装饰
若出现此问题,需在该瓦片集使用[限定瓦片薄片纹理]
瓦片地图:使用瓦片集绘制地图
绘制,橡皮檫,填充
橡皮檫:需擦放置位置的那一块
选择工具:按住Shift
**水平垂直翻转,旋转
Z:旋转
X:水平翻转
Y:垂直翻转
图层
PageUp:上一个图层
PageDown:下一个图层
Ins:新建图层
2D·蓝图节点
2D·蓝图案例
游戏性
打击感
顿帧(停顿)
镜头
晃动
滞后:平滑跟随
音效
大小
设备震动
人物闪烁
闪白/闪红...
氛围感
后期盒子
大气雾
灯光
音乐
高低声调