在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门

前言介绍:

原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >>

<< https://www.bilibili.com/video/BV1M34y1x7tc >>

官网地址: << Your First Game In Unreal Engine 5 | Tutorial (epicgames.com) >>

<< https://dev.epicgames.com/community/learning/tutorials/e2V/your-first-game-in-unreal-engine-5 >>

所处时间段: [01:01:22] ~ [01:13:23] ;

主要内容: 压力板和开关门

1.压力板蓝图

  • 上一篇已经导入压力板和开关门的模型了,现在先为压力板创建actor蓝图.命名为:BP_PressurePlate;然后拖入2个压力板的模型,层级关系如下;

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第1张图片

  • 添加碰撞组件,输入box搜索得到如下图组件.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第2张图片

  • 然后修改缩放大小和位置,覆盖整个压力板.和设置ai导航范围时类似.使用其他视图更加方便.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第3张图片

  • 然后打开事件图表,在Box组件上右键,添加它的组件开始重叠时(Box)节点.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第4张图片

  • 注意,不同组件可以添加同类的事件,别选错组件了.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第5张图片

  • 用同样的方法,为Box组件添加组件结束重叠时(Box)节点.效果如下.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第6张图片

bug:这个写法有个bug,它只检测进入和退出的触发,不检测触发对象.导致后面程序有个漏洞,玩家触发时ai跟着触发,顺序会乱掉.

  • 初步弄好后就可以把模型放到场景中测试了.效果如下

  • 测试完后回归蓝图,添加时间轴节点,并命名为时间轴_0,然后对这个节点双击,可打开新的窗口.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第7张图片

  • 添加新的轨道,选择浮点型,设置总长度0.5,然后添加2个关键帧,选择关键帧可以设置时间和值,设置完后可以点击缩放图标调整显示范围.这样就算弄弄完了,这个节点就相对在设定时间内输出设定的值.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第8张图片

  • 然后蓝图设置内容如下,运行测试结果,正常.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第9张图片

2.开关门蓝图

  • 创建开关门蓝图,命名为BP_Door;拖入模型,门框和2个门.门使用场景组件嵌套,全部层级关系如图.门的相对父级坐标是0,发生起始偏移的是场景组件.这样方便一会写蓝图.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第10张图片

  • 开始编辑蓝图,同样使用到时间轴节点,不一样的是采用平滑曲线,而不是折线.分别对2个关键帧右键,都设置为中断即可.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第11张图片

  • 最后蓝图如下,设置了3秒定时器,3秒后会开门并且打印字符串.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第12张图片

  • 然后把actor蓝图拖入场景布置,开始运行看效果.如果你的门移动的方向反了或距离不够,将蓝图的乘法系数修改一下即可.

3.Actor组件蓝图

推荐参考: << 浅谈_UE5/UE4蓝图通信之恰恰舞_哔哩哔哩_bilibili >>

这个up的讲解生动形象,简单明了,还幽默风趣,强烈推荐.

  • 接下来要让压力板和开关门联动起来.使用actor组件蓝图,创建一个,命名为BP_InteractionComponent.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第13张图片

  • 双击打开后做出如下设置.创建2个自定义事件,1个事件分发器,且有1个布尔类型的输入参数.就算设置完成了.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第14张图片

  • 回到压力板的蓝图,添加组件,搜索得到刚刚创建的actor组件蓝图.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第15张图片

  • 然后对压力板的蓝图做出以下修改:

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第16张图片

  • 然后运行查看效果,当触发压力板时就会调用actor组件蓝图中的事件.这样就有思路了,开关门也作出类似的关联.

  • 回到开关门的蓝图,创建一个actor引用类型的变量,并公开.然后对蓝图做出如下逻辑修改.程序判断变量是否有效,然后获取组件,然后再判断组件有没有效,最后才绑定到事件分发器.

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门_第17张图片

  • 完成后运行,在场景中为变量赋值,点击吸管图标再选取压力板.运行游戏.每次触发压力板门就会打开.

4.总结

  • 这节的蓝图逻辑实现有点绕,教程主要是想展示更多方法的使用.
  • 下一篇就是最后的了.讲简单的特效和声音制作.

你可能感兴趣的:(UE5,学习笔记,虚幻,ue5,虚幻引擎5,游戏)