当前位置:网站首页>【虚幻】按键开门蓝图笔记
【虚幻】按键开门蓝图笔记
2022-07-02 06:35:00 【乔安鱼】
【虚幻引擎】UE4自动门和手动开门蓝图教学
沿用之前自动门的开门逻辑。

按指定键位,开门。
原理是:玩家按F建——玩家碰撞检测——若玩家与门的盒型碰撞重叠——开门
这里面涉及到了两个技术点:
- 蓝图通信——玩家蓝图检测到门,告诉门蓝图执行开门事件。
- 碰撞检测——按键时,对玩家碰撞的物体进行遍历,若有门,则执行通信。
一、建立蓝图通信
蓝图接口——蓝图通信的桥梁
右键>蓝图>蓝图接口。
在蓝图接口内新建一个函数If_Open。
这个时候蓝图接口就设置好了,可以关闭蓝图接口窗口了。
在门蓝图内打开接口:类设置——接口>添加刚才的函数If_Open
二、门逻辑
1.按键开门逻辑
打开门蓝图。
添加IF open事件,与 开门事件相连。
现在的效果是玩家按F开门,进入后门自动关闭。
如果全部都要用按键控制关闭,就要记录门的状态,根据状态决定开关。
2.玩家蓝图设置
打开玩家蓝图。
右键添加F事件
F事件直接连接IF_open接口,此时直接编译报错,必须要给一个目标。
3.玩家碰撞检测
利用玩家胶囊体进行碰撞检测,对碰撞的Actor进行遍历,若有门,则直接执行开门事件。
点击胶囊体组件——添加组件开始重叠事件、组件结束重叠事件
添加一个数组变量存储碰撞Actor信息:
- 重叠开始时——增加信息
- 重叠结束时——删除信息

拖拽组件开始重叠时的“other Actor”引脚提升为变量。


把该变量类型改为数组,改名,删除——按住ctrl从左边变量拖拽到蓝图中,新建这个变量键。
拖拽可以开门的Actor键并新建ADD“添加到数组 ”函数——组件开始重叠时的Other Actor引脚、执行引脚与添加到数组函数相连。
若玩家与此物体碰撞,则把该Actor添加到可以开门的Actor数组中。
拖拽可以开门的Actor键并新建Remove“从数组中移除”函数——组件结束重叠时的Other Actor引脚、执行引脚与添加到数组函数相连。
若玩家不与此物体碰撞,则把该Actor从可以开门的Actor数组中移除。
碰撞检测完整蓝图。
4.碰撞检测信息遍历
此时我们已经拥有了碰撞物体的信息,接下来要从里面挑选出门。
新建一个可以开门的Actor键,拖拽并新建For Each Loop遍历函数——F事件与遍历函数执行引脚相连——遍历函数与 If Open相连
完整逻辑是:按F——对碰撞Actor数组遍历——有门——门蓝图执行开门事件。
为什么使用数组,应该是玩家可能同时遇到多个Actor,或者在没离开上一个Actor时又碰到新的Actor。
边栏推荐
- How to install PHP in CentOS
- Matlab代码生成之SIL/PIL测试
- 个人经历&&博客现状
- [ue5] animation redirection: how to import magic tower characters into the game
- 攻防世界-Web进阶区-unserialize3
- 2837xd 代码生成——StateFlow(2)
- 2837xd code generation - Supplement (3)
- 一次聊天勾起的回忆
- 2837xd 代码生成——StateFlow(3)
- Navicat remote connection MySQL reports an error 1045 - access denied for user 'root' @ '222.173.220.236' (using password: yes)
猜你喜欢

C language programming problems

Alibaba cloud ack introduction

Activity的创建和跳转

BugkuCTF-web24(解题思路及步骤)

Navicat 远程连接Mysql报错1045 - Access denied for user ‘root‘@‘222.173.220.236‘ (using password: YES)

2837xd code generation module learning (4) -- idle_ task、Simulink Coder

c语言编程题

Vs+qt set application icon

PI control of three-phase grid connected inverter - off grid mode

Matlab generates DSP program -- official routine learning (6)
随机推荐
2837xd 代码生成——补充(2)
2837xd 代码生成——StateFlow(1)
TD conducts functional simulation with Modelsim
三相逆变器离网控制——PR控制
Typora安装包分享
2837xd代码生成模块学习(2)——ADC、ePWM模块、Timer0
Bugkuctf-web24 (problem solving ideas and steps)
阿里云Prometheus监控服务
About the college entrance examination
go语言入门
ZK configuration center -- configuration and use of config Toolkit
Judging right triangle in C language
BugkuCTF-web24(解题思路及步骤)
因上努力,果上随缘
How to handle error logic gracefully
Error reporting on the first day of work (incomplete awvs unloading)
FragmentTabHost实现房贷计算器界面
C language strawberry
Share a blog (water blog)
Tools used for Yolo object recognition and data generation