当前位置:网站首页>如何在 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 的。
运行效果
最后
好了,本次内容到此就结束了,咱们下次再聊。
边栏推荐
- Mysql事务隔离级别与MVCC(多版本并发控制)
- LayaBox---TypeScript---Decorator
- idea常用插件
- Alibaba CTO Cheng Li: Alibaba Open Source History, Concept and Practice
- Outsourced Student Management System Architecture Documentation
- SQL 数据更新
- 详细总结SoC、DSP、MCU、GPU和FPGA等基础概念
- 10份重磅报告 — 展望中国数字经济未来
- Shell编程案例
- FPGA手撕代码——CRC校验码的多种Verilog实现方式 (2021乐鑫科技数字IC提前批代码编程)
猜你喜欢
大疆P4M云遮挡矫正
- [email protected] This version of tar is no longer supported, and will not receive"/>
npm WARN deprecated [email protected] This version of tar is no longer supported, and will not receive
4年手工测试被应届生取代了,用血与泪的教训给xdm一个忠告,该学自动化了...
Getting Started with Three.JS Programmatic Modeling
MySql模糊查询大全
博云入选Gartner中国DevOps代表厂商
After 21 years of graduation, I switched to software testing. From 0 income to a monthly salary of over 10,000, I am really lucky...
Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
从测试入门到测试架构师,这10年,他是这样让自己成才的
npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案
随机推荐
STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)
开箱即用-使用异步加载布局来优化页面启动速度的几种方案
Excel动态图制作
暑期总结3
OLED的HAL库代码介绍及使用(stm32f1/I2C/HAL库版/100%一次点亮)
Excel dynamic chart production
Failed to configure mysql, what's going on?
ansible module --yum module
Getting Started with Three.JS Programmatic Modeling
The exchange - string dp
保姆级教程:写出自己的移动应用和小程序(篇二)
windbg分析进程卡死
find查找多类型结尾文件
字母交换--字符串dp
企业级数据治理工作怎么开展?Datahub这样做
Outsourced Student Management System Architecture Documentation
MySQL模糊查询性能优化
Com多进程通信实现
Mysql transaction isolation level and MVCC (multi-version concurrency control)
2022年8月初济南某外包公司全栈开发面试题整理