参考原文: https://www.bilibili.com/video/BV164411Y732?p=27

自动门

1,放置一个门,且确保门的碰撞正常。

可以具体调整碰撞的大小范围。
2,添加一个盒体触发器。当角色进入触发器范围内即会触发动作。

3.修改门为可移动属性

然后选中盒体触发器,打开关卡蓝图。

然后右键新建节点。添加一个进入触发器时触发的动作,一个离开触发器时触发的动作。

然后在主界面选中门,这时候回到蓝图中右键添加该门的引用。

然后添加门的动作。



然后添加时间轴来模拟开门时动作。


然后双击打开。添加一个【浮点型轨道】。

右键添加关键帧。


这里要注意,由于它使用的是update的模式,所以要根据实际情况来调整数值的变化,由于我的门是90为关,0为开,所以实际的时间轴如下。
调整整个时间帧长度。与最后一帧时间点保持一致。

将旋转的xyz拆开

保存后连线。

点击开关门

按键点击开关门

参考原文:https://www.bilibili.com/video/BV164411Y732?p=28
首先,在内容浏览器里面右键新建一个actor。


进入后在右侧选择【添加组件】-【静态网格体】

改名成DoorFrame,然后添加对应的静态网络体。

然后再添加一个门,适当的调整下位置,方法同上。

如果添加的旋转轴不在目标的位置上,例如门的旋转轴是在门中央的。可以通过添加一个Scene,然后把结构体放到该Scene组件之下来,然后外面控制Scene来达到旋转的效果。

不过最好还是在建模软件中重现设置坐标轴。
然后添加触发盒子,适当调整的大小。


然后添加事件。


右键添加控制gate

添加按键【e】(在输入-键盘个事件中)


添加按键输入,按键关闭,玩家控制权



添加输出2分器【flip flop】,模拟第一次开,第2次关的动作。

最后完成流程

鼠标点击开关门

添加点击触发事件

开启玩家控制器里面对于点击模型的触发事件。


世界场景设置中选择刚新建的。

蓝图中添加显示鼠标与关闭鼠标显示选项。

最后的总蓝图

双开自动门

参考文章:https://www.bilibili.com/video/BV164411Y732?p=32
先新建一个蓝图actor,添加静态网格体【门框】,然后在门框下面添加玻璃当门使用。

要注意两边的玻璃的坐标原点要对称,否则等下后面的数值控制不好控制。

然后添加触发盒子(Box Collision)

然后在添加事件【组件开始重叠时】与【组件结束重叠时】
然后将中间的两块玻璃拖进事件中。

添加时间轴,添加两条轨道。两条轨道时间轴的运行目标值是刚好相反的。

最后总蓝图

双开双向旋转门

参考文章:https://www.bilibili.com/video/BV164411Y732?p=33
参考文章:https://www.bilibili.com/video/BV1ft411u7Xj
参考文章:https://blog.csdn.net/Nstalker/article/details/113886915
参考文章:https://www.bilibili.com/video/BV1f5411Y7SY
先新建一个蓝图actor,添加静态网格体【门框】,然后在门框下面添2个门。

然后在box上添加【组件开始重叠时】与【组件结束重叠时】,然后将中间的两块门拖进事件中。

添加鼠标显示控制。
添加时间轴,其值范围在0-1。然后添加【LERP】来控制具体的数值。


添加获取门的旋转值【获取Relative Rotation】


添加变量,用来存储开门前(初始状态)的门的旋转数值。确定变量属性是否合适,然后拖进来,选择【设置】

然后将连接门的数值连上,同时添加变量-开门的旋转角度,设置默认值(如果无法设置就编译一下就好)

添加加法/减法,让初始旋转值与固定的旋转角度进行计算得到目标旋转值。


获取人物参考,由此获得人物的坐标等信息。添加【事件开始运行(Event BeginPlay)】,【获取玩家角色(Get Player Character)】【类型转换为ThirdPersonCharacter(Cast to ThirdPersonCharacter)】,添加一个变量来存储玩家参考。
注:类型转换根据实际是使用第一人称还是第三人称游戏来确定。

获取人物坐标(用于计算与门的相对位置),添加两个actor位置【getactorlocation】,添加一个变量来存储方向。

其中一个与玩家控制器连接,然后向量相减,输出拆分,这边只对x值是否大于0进行判断(x,y,z的选择需要根据蓝图本身的方向来确定)。

然后添加分支计算,设置方向值。

然后把这一系列流程设置为一个自定义事情,空处右键-“添加自定义事件”,重命名为"Player_Door_Judge",然后将其连接到"分支"的左侧。

方向模块蓝图


总蓝图

需要钥匙开关门

参考文章:https://www.bilibili.com/video/BV164411Y732?p=35
基础门的蓝图是沿用之前的【按键点击开关门】与【双开双向旋转门】结合在一起,保留需要的部分而成。


添加是否可以开门的状态变量,然后通过【分支 branch】与按键相连接。当无法开门时则打印出语句(一般用于测试)



然后创建一把钥匙。然后添加一个球形的碰撞。

然后添加拾取钥匙的操作,实际上跟开门的差不多。

添加一个自定义事件,事件名为【获取到钥匙时需要修改的所有状态】。然后添加【获取类的所有actor get all actors of class】,来修改门那边的【Door_是否可以开门】的变量,使门可以打开。最后把获得的钥匙销毁。



拾取钥匙后发生的事件。

注:【获取类的所有actor get all actors of class】有提示不建议使用,由于使用时会查看所有的类。所以应该有更好的办法来通信的。
整体钥匙蓝图

UE4开关门简单记录相关推荐

  1. UE4使用时间轴制作简单开关门

    UE4版本为4.20 1.在StarterContent->Props中把SM_Door托如场景中 2.在SM_Door周围放置一个盒体触发器(基本->盒体触发器) 3.打开关卡蓝图,为盒 ...

  2. UE4 关卡蓝图实现开关门

    目录 1.创建门 2.为门添加碰撞体 ​3.添加盒体触发器 4. 开关门实现 最终效果: 1.创建门 可以使用系统自带的门,如下图 创建门的步骤: 1.1 按下图步骤点击添加内容包 1.2 将 Sta ...

  3. UE4(unreal Engine)中使用蓝图类Actor创建开关门,并使用鼠标和键盘控制开关门

    UE4系列文章目录 文章目录 UE4系列文章目录 前言 一.具体步骤 (一)自动开关门 (二)使用键盘开关门 (三)使用鼠标开关门 总结 前言 上一节中我们讨论了用蓝图来控制开关门,虽然可以实现效果, ...

  4. UE4学习笔记:GamePlay框架与蓝图功能实现,开关门互动、鼠标、按键开门、按键升降电梯

    前言: 目前是正式学习ue4第二周 个人觉得很重要的一点就是理解UE4 GamePlay框架.后续学习unity以及其他引擎,框架应该是需要最先了解的 我是先看了近2周谌嘉诚老师的教程,然后中途才了解 ...

  5. UE4学习日记:实现自动开关门和通过鼠标按键控制开关门

    实现自动开关门和通过鼠标/按键控制开关门 1.右键内容导视图-蓝图类-创建一个新的actor 2.双击创建的actor,左上角添加组件,添加门(door)和门框(doorframe)两个静态网格体 3 ...

  6. UE4(虚幻4)基础:蓝图初识--开关门(二) 键盘控制门

    键盘控制门:通过玩家在键盘上按键来控制门的打开关闭,如"按E打开": 1.创建蓝图类和模型: 创建的方法如我的上一篇文章:  感应门     <--戳这里 2.处理蓝图,事件 ...

  7. UE4使用Matinee做开关门动画

    关掉matinee界面 编译保存后,运行场景,就可以看到开关门效果 FR:海涛高软(hunk Xu)

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

    在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  9. 数据库开发文档记录方法

    一.引言 最近因为项目需求变动原因,数据库已经改的面目全非,和自己最初设计的数据库至少查了十多个版本,基本跟推翻了一样.由于缺少原有的记录加上改的比较零碎,所以忘记了原来的表关系,发现将数据库中的表记 ...

最新文章

  1. Reids 的五大数据类型
  2. 你还在用Swagger?试试这个神器!
  3. 两步聚类算法+Two Step
  4. No changes detected
  5. SPI初始化C语言编程,SD卡spi模式读写,初始化和复位都成功了
  6. 蓝桥杯第五届省赛JAVA真题----最长公共子序列
  7. HTML连载71-翻转菜单练习
  8. Compound供应量突破70亿美元
  9. SQL Server中的约束:SQL NOT NULL,UNIQUE和SQL PRIMARY KEY
  10. windows+nginx+tomcat实现集群负载均衡(生产环境必读)
  11. 自己的 「QA票 CheckList 」 KPT
  12. dojo uploader使用,ps.返回值
  13. 基于react做了一个仿qq空间
  14. java获取登录内网ip地址
  15. 阿凡题——智慧的背囊
  16. python对接支付宝支付_python对接支付宝PC端支付
  17. ESP8266+电能计量芯片
  18. Oracle调优总结
  19. 面试指南(三):想跳槽,这些问题你会了吗?
  20. 虚拟光盘刻录光盘的大师级软件Alcohol 120%教程

热门文章

  1. Linux Shell 编程语法
  2. python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值
  3. python 算法测试结果自动保存到excel表格
  4. MySQL 序号(排序)函数:row_number() 、rank() 、 dense_rank()、ntile()
  5. 0906期特别策划——“架构师大阅兵”
  6. 【ArcGIS教程】(1)带有经纬度的EXCEL数据如何转换为shp矢量数据?
  7. 有趣的黑掉卫星Hack-A-Sat CTF比赛——模拟卫星视角beckley
  8. 《十》浏览器基础及渲染引擎解析一个网页的过程、JavaScript 引擎解析 JavaScript 代码的过程
  9. 欧拉角中各种角度的名称
  10. html加图标 favicon图标