欢迎光临散文网 会员登陆 & 注册

UE5入门学习笔记

2023-04-01 19:33 作者:AI人工智障小白  | 我要投稿

Unreal Engine(5)

创建第一个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:https://www.youtube.com/watch?v=9cKuEXFDwl0&t=161s&ab_channel=Jobutsu 39

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!








UE5入门学习笔记的评论 (共 条)

分享到微博请遵守国家法律