当前位置:网站首页>如何在 UE4 中制作一扇自动开启的大门
如何在 UE4 中制作一扇自动开启的大门
2022-08-02 11:11:00 【华为云】
前言
相信很多玩过游戏的朋友都知道,在玩游戏的过程中,如果我们被一道门给挡住了去路,只要按下某一个按键,门就会自动的开启。于是,今天我就带大家来制作一道会自动开启的大门吧!
场景搭建
首先,在我们的初学者素材包中找到 Walldoor 这个素材,并将其拖入到我们的场景中。

然后选择一个材质,让墙看上去更逼真,效果如图所示:


接下来,再我们的初学者包中,在找到 Wall 这个素材,将其拖入到场景中去,让其模拟成一道石门,改变它的大小和位置,让它看上去更像一道门。



随后也给这道门加上一个材质,让其看上去略带一些科幻元素。

好了,这样一道嵌在墙里的门就已经做好了,下面我们来看下如何让门动起来。
目标点
现在,我们的门还是静止的,为了让它有一个活动的范围,我们需要给这道门设置一个活动的目标点,让其移动到这个目标的时候就停止下来。于是,我们在编辑器的左上角找到 TargetPoint 将其拖入到我们的场景中。

我这里想要门移动的效果是向左侧移到如图所示的位置即可:

所以,我们将刚才添加的目标点的位置就设定在大门最终打开的位置,大门位置如图所示:

目标点的位置:

目标点设置好以后,我们接下来去拖蓝图。
蓝图
打开场景的蓝图。

将上文中添加的 TargetPoint 按住拖动到蓝图中。

然后依次在蓝图中将 TargetPoint 连接到 GetActorLocation - Break Vector,如图:

右键搜索 Make Vector,将 Break Vector 的 X 坐标拖动到 Make Vector 的 X 坐标上。
接下来,将场景中的 Wall 对象也拖动到蓝图中,和上面的 TargetPoint 一样也连接到函数 GetActorLocation - Break Vector 上。因为在场景中,我们的大门只需要移动 X 坐标,Y 轴和 Z 轴是不需要改变的,所以将 Break Vector 的 Y 和 Z 坐标连接到 Make Vector 的 Y 和 Z 坐标上。
右键搜索 MoveComponentTo 函数,添加到蓝图中。

将 Make Vector 的返回值连接到 MoveComponentTo 的 TargetRelativeLocation 节点上,然后设置大门移动的时间为 4 秒。

右键添加键盘按键 E 开启打开大门的事件响应。


将我们之前拖到蓝图中的 Wall 对象再 copy 一个,然后去获取 GetRootComponent,最后连接到 component 上,如图:

回到我们的场景中,选中我们的 Wall 后,在右边的查看面板中,将属性设置为 Movable,否则我们的大门将不会移动,因为默认是 Static 的。

运行效果
最后
好了,本次内容到此就结束了,咱们下次再聊。
边栏推荐
猜你喜欢

5G基础学习1、5G网络架构、网络接口及协议栈

字节跳动软件测试岗,收到offer后我却拒绝了~给面试的人一些忠告....

MapStruct

365天挑战LeetCode1000题——Day 047 设计循环队列 循环队列

C#/VB.NET to add more lines more columns image watermark into the Word document

ssm web page access database data error

当POC遇见RPA:RPA项目顺利实施的关键

QT笔记——Q_PROPERTY了解

X86函数调用模型分析

What is the future of smartwatches?
随机推荐
QT笔记——Q_PROPERTY了解
Mysql transaction isolation level and MVCC (multi-version concurrency control)
从幻核疑似裁撤看如何保证NFT的安全
Nanny Level Tutorial: Write Your Own Mobile Apps and Mini Programs (Part 2)
Shell编程之条件语句
只问耕耘,不问收获,其实收获却在耕耘中
Hongxing, donate another million
Shell编程案例
WPF 截图控件之文字(七)「仿微信」
Oracle 单实例19.11升级到19.12
Excel动态图制作
Failed to configure mysql, what's going on?
FinClip | 来了, 2022 年 7 月更新大盘点
org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
The 38-year-old daughter is not in love and has no stable job, the old mother is crying
LayaBox---TypeScript---JSX
npm install报错npm ERR Could not resolve dependency npm ERR peer
数字化转型中的低代码
深度学习100例 —— 卷积神经网络(CNN)实现mnist手写数字识别
Three.JS程序化建模入门