ue5学习笔记-1

学习UNF UE5游戏开发课程 https://www.unfgames.com/your-first-game-in-ue5 后总结归纳

涉及知识点

SelectMode------ Modeling的使用

  1. model–PolyGroupEdit
    重点在于可以通过 alt 选边进行面任意更改,只需要选中那个面即可。

    其中insert可以在选中的面基础上,缩小一部分选择,extrude则是剩下的那一部分
    在这里插入图片描述)

  2. creare–CubeGrid 可以使用网格来进行任意的建模

    按住ctrl+q /e 可以缩小拉大一个网格的大小

    按住鼠标左键选中建模范围后,按q降低一层 e建模一层 shift q/e 下降/上升选中的范围 但是不建模
    在这里插入图片描述

  3. uv模块涉及到的功能就是贴图
    本次使用的为Project Uvs,更改投射类型为box,然后可以任意修改,在dimensions可以拖动修改纹理样式。

蓝图使用

1.控制跳跃平台移动

加入移动模块

在这里插入图片描述

最简单的移动方式

通过Control Points 数组,可以控制一个物体的移动。array 0代表初始位置不用设置,新加array元素即可控制往哪个点移动,此处填写为相对坐标,写多少便移动多少

在这里插入图片描述

为了让多个平台不同移动,我们需要更灵活的配置方式。用移动组件Interp to movement 链接设置移动店,同时输入参数。参数通过数组传过来。我们可以将红箭头指向的设为本地变量,将其公开暴露。即可完成配置。

在这里插入图片描述

更进一步考虑用一条线去进行配置。
首先加入一个spine组件

在这里插入图片描述

随后设置获取线的尾部端点坐标,红箭头处要改为1.将这个坐标传给数组。此方法可以在viewport可视化的看到将会移动到哪里。

在这里插入图片描述

2.人物跳上方块后摄像机震动方块延时下坠

首先需要给方块加上一个碰撞触发器。搜索collision 选择盒式碰撞器,然后调整好范围放到平台上方

在这里插入图片描述
在这里插入图片描述
随后在这个组件中找到 当组件开始重叠后的事件,点击+号跳转到触发器事件窗口编辑触发器事件。

在这里插入图片描述

在这里插入图片描述
首先要编写一个镜头震动的蓝图。新建一个蓝图选择DefaultCameraShakeBase,然后双击进入其中调整 Camera Shake Pattern中的参数。

在这里插入图片描述

然后按照下图在event grapg中新建 player world camera shake 导入刚刚的蓝图,配置内半径和外半径具体作用未知。然后连接延迟最后启用物理模拟效果实现重力下坠。

在这里插入图片描述

需要注意实现重力下坠要将sm的collision complexity改为project default。使用建模工具生成的sm一般为 use complex collision as simple。这个参数无法触发我门编写的碰撞检测触发,原因未知待后续学习 ,然后点击左上角碰撞按钮可以一键构筑碰撞单元格

在这里插入图片描述
在这里插入图片描述

点击应用即可

在这里插入图片描述

3.增加暂停界面

首先原理是每个游戏关卡都会有关卡蓝图,其中会有游戏启动后的类,将其连接到一个窗口类上按键显示即可,然后调用游戏暂停函数。
大体蓝图为:
此处打开关卡蓝图

在这里插入图片描述
个人理解,首先游戏开始玩事件调用创建widget窗口函数,此处绑定要显示的窗口。然后返回一个参数表示创建成功,然后将这

个参数保存为一个变量,然后使用变量去后续进行控制。

新建按键q 连到Flip flop这样按多次分别调用不同的功能,第一次调用add to viewport函数将窗口加到主视口中,随后调用游戏

暂停,再按一次则将这个窗口移除从视口中,调用游戏不暂停,靠打勾代表是否暂停。

注意点 需要对按键p勾选暂停时仍然能执行。
在这里插入图片描述
窗口需要新建用户接口 然后选择widget bp。

在这里插入图片描述

分别加入3个组件,画布,文字 和 模糊。zorder调整图层让文字不会受到模糊的影响。数字越大图层越高

在这里插入图片描述

### UE5 蓝图学习教程与笔记 #### 一、蓝图基础概念 UE5中的蓝图是一种可视化脚本系统,允许开发者通过图形界面创建游戏逻辑而无需编写传统代码。这使得开发过程更加直观和高效[^1]。 #### 二、事件分发器的应用 事件分发器类似于C#编程语言里的事件与委托机制,在UE5中用于实现对象间的消息传递功能。当某个特定条件满足时触发相应的动作序列执行。例如定义一个名为`EventDispatcherExample`的自定义事件分发器,并关联多个响应函数如`Func1`, `Func2`等来处理不同类型的输入或状态变化[^2]。 ```csharp // 定义事件分发器及其绑定方法(伪代码) public delegate void EventDelegate(); private EventDelegate eventDispatcher; void BindFunctions() { eventDispatcher += Func1; eventDispatcher += Func2; } void TriggerEvents() { if (eventDispatcher != null) eventDispatcher.Invoke(); } ``` #### 三、常用节点解析 以下是几个常见的蓝图节点解释: - **Space Bar**:检测空格键是否被按下。 - **Spawn Actor BP Bullet**:实例化并生成指定的子弹Actor,其作用相当于Unity引擎内的预制体(Prefab)。 - **Add Impulse**:给定物体施加瞬时力使其移动。 - **Get Player Pawn**:检索当前场景下的默认玩家角色。 - **Get Actor Location** 和 **Get Control Rotation**: 获取目标Actor的位置坐标以及控制视角的方向角度。 - **Get Actor Forward Vector**:计算出面向前方的标准单位向量。 - **Multiply**:执行两个数值相乘运算[^3]。 这些基本组件构成了大多数交互行为的基础框架,熟悉它们有助于更好地理解和应用更复杂的蓝图结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值