UE5入门学习笔记

创建第一个UE工程
创建一个游戏工程 默认选项
开启Quixel Bridge
开启landmass,water插件
创建第一个UE关卡
快捷键
移动 鼠标右键+WASD QE
Ctrl+L 移动太阳
Ctri+Space 打开抽屉
模型:
End:选中的模型落到地面去
W:移动
E:旋转
R:缩放
曝光和后期处理
添加postProcessVolumn
作用范围无线延伸 Infinite Extent(Unbound)

调整手动曝光
Exposure(曝光)Manual

材质
照明和照明类型
在Epic的素材市场下载照片级渲染(Realistic Rendering)
关闭影响视觉的光晕,Light Affects World

Lumens(流明引擎)
Nanite
开启Nanite
进入模型Asset(选中模型 Ctrl+B 或 模型列表右击 Browse to asset)
勾选Enable Nanite Support

或Asset 模型里右击菜单开启

查看

有些材料是不能开启Nanite的
导入FDX模型
把fdx文件拖进content里去
Blueprint
开始游戏时显示文字

创建第一个blueprint工程
将静态网格转换成蓝图类
Convert Selection to Blueprint Class

给方块添加Box,点击Add 搜索Box

添加事件 组件重叠
Events ->On Component Begin Overlap


监听Cast To 重叠的发生

让方块位置从-45降至-35
添加移动节点组件 Move Component To

取出静态网格组件

获取静态网格位置->添加向量
Get Lelative Location->Make Vector



重叠事件结束时静态网格回到原始位置

添加触发方块下沉条件,if语句

连接楼梯,实现踩下踏板楼梯升起来



blueprint变量
添加方格和楼梯速度变量

Instance Editable
让变量出现在编辑界面的Details面板上


blueprint函数
创建一个Blueprint Class(Actor)

添加一个方块

添加一个碰撞盒子

创建一个让方块上升落下的蓝图

创建一个函数,实现蓝图的重用



循环实现方块上升下落
Add Customer Event,创建“Start Move”事件



添加start delay变量,实现不同方块移动不一样

健康和伤害系统
创建第一个游戏
建造地形
Landscape
布景和风景材料
创建一个material
添加LandscapeLayerblend ->添加layer(Sand,Rock,Grass...)
添加一个material function(Grass)
水体
添加water plugin
landscape->enable Edit Layers √
create class-water ocean
添加植物

导入和绑定角色
注意:UE5.1和之前的版本不一样
Take a look at the IK Rigs that come bundled with the UE5 Templates and Metahumans.
Mannequin Rigs are under Characters → Mannequins → Rigs → IK_MannequinMetahuman Rig is under Metahumans → Common → Common → IK_Metahuman
There should be retargeters in the respective folders as well. If you want to use any other animation packs that use different skeletons, you’ll have to create an IK Rig for it and create the chains and goals yourself, then create an IK Retargeter for the actual animation export. For the most part, it’s just copying the settings on to the new Rig and Retargeter by hand.
This is probably a good starting point:
That’s the most I can give you at the moment, gotta go to work.
教程:https://www.bilibili.com/video/BV1TA4y1R7i5
创建目标IKRig

创建IK Retarget
Animation graphs里添加网格体重定向姿势

设置重定向的assets

修改游戏角色蓝图
打开原本的游戏角色->添加新的skeletal mesh->Anim Class修改位上一步创建的角色蓝图,skeletal Mesh 改成对应的角色->redering(渲染)中取消visible(可视化)
Add skeletal mesh

配置skeletal mesh asset 和anim class

选择原来的skeletal mesh 取消勾选rendering(渲染)的visible

Visibility Based Anim Tick Option 改为 Always Tick Pose and Refresh Bones
(基于动画tick的可视化选项改为固定tick姿势和刷新骨骼)

创建HUD覆盖
在character蓝图里创建变量
创建Widget Blueprint

先添加cansva panel,在上面可以添加文字,滑动条

将变量绑定到滑动条上


展示Hub覆盖
Open Level Blueprint


Niagra的特效系统
添加一个湖

添加椰子
让椰子旋转

给椰子周围添加粒子效果
添加Niagra System


把Niagara System拖到椰子下面,拖动椰子会随着椰子移动

把椰子变成可重用的蓝图对象
注:Path目录要选择项目子目录,默认/All/Game好像会卡死

粘贴NI_FOOD(Niagara System进去)

架构游戏机制
实现碰到椰子增加Hunger值
添加HungerSetter函数

添加ThristSetter函数(如上)
给椰子添加碰撞盒子(Collision Box)

给collision添加重叠事件(OnComponentBeginOverlap、OnComponentEndOverlap)

实现overlap椰子就添加Hunger值,离开删除椰子

实现走到湖前添加Thirst值
添加Triger Volume触发事件
Open Level Blueprint

Event定时事件
功能:实现Hunger、Thirst定时扣除,Hunger为0后从Health扣,Thist为0后从Rescue里扣
在第三人称蓝图里添加Event Tick(每帧运行一次)


角色生命值处理
Health、Thirst小于0开始扣除生命值,生命值扣完后所有值都置0

功能:rescue值定时增加,值为100是游戏结束,玩家胜利

完成游戏架构
功能:玩家胜利:弹出rescue画面
玩家失败:显示死亡动作,弹出dead画面
添加rescue和dead两个HUD(添加Widget Blueprint,放入相应图片文字)

Collision Presets里有个Ragdoll倒下的动作, 让角色死亡的时候触发

添加胜利弹出rescue画面逻辑

Done!