如何在 UE4 中制作一扇自动开启的大门

举报
HelloWorld杰少 发表于 2022/08/01 22:07:19 2022/08/01
【摘要】 前言相信很多玩过游戏的朋友都知道,在玩游戏的过程中,如果我们被一道门给挡住了去路,只要按下某一个按键,门就会自动的开启。于是,今天我就带大家来制作一道会自动开启的大门吧! 场景搭建首先,在我们的初学者素材包中找到 Walldoor 这个素材,并将其拖入到我们的场景中。然后选择一个材质,让墙看上去更逼真,效果如图所示:接下来,再我们的初学者包中,在找到 Wall 这个素材,将其拖入到场景中去...

前言

相信很多玩过游戏的朋友都知道,在玩游戏的过程中,如果我们被一道门给挡住了去路,只要按下某一个按键,门就会自动的开启。于是,今天我就带大家来制作一道会自动开启的大门吧!

场景搭建

首先,在我们的初学者素材包中找到 Walldoor 这个素材,并将其拖入到我们的场景中。

image

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

image

image

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

image

image

image

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

image

好了,这样一道嵌在墙里的门就已经做好了,下面我们来看下如何让门动起来。

目标点

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

image

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

image

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

image

目标点的位置:

image

目标点设置好以后,我们接下来去拖蓝图。

蓝图

打开场景的蓝图。

image

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

image

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

image

右键搜索 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 函数,添加到蓝图中。

image

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

image

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

image

image

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

image

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

image

运行效果
image

最后

好了,本次内容到此就结束了,咱们下次再聊。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。