【UE4】从零开始制作战斗机(中:飞机操控逻辑)
上一篇:
【UE4】从零开始制作战斗机(上:准备模型、定义函数和变量)_Zhichao_97的博客-CSDN博客
效果
步骤
1. 打开“BP_Jet”,在事件图表中添加如下节点
由于我们希望飞机一开始就是在空中飞行,所以一开始就给飞机一个推力,并且设置飞机当前速度
接下来开始编辑“PrintVariables”函数,其中打印字符串节点的“Duration”参数设置为0
打开“UpdatePosition”函数,添加如下节点。判断当前的推进速度是否小于当前飞机的实际飞行速度,如果是就表示飞机正在减速,如果不是就设置飞机当前的飞机速度为推进速度。
新添加一个局部变量,命名为“NewPosition”
然后每一帧去更新“NewPosition”变量
接下来开始计算重力,让“CurrentSpeed”在0~“MinThrustToNotFall”(4000)范围内做一个映射,相应的在“Gravity”(981)~0这个范围内输出重力的值。也就是说当“CurrentSpeed”为0时,“AppliedGravity”的值就为981,当“CurrentSpeed”为4000时,“AppliedGravity”的值就为0。
再根据重力更新飞机每一帧的位置
现在运行游戏飞机会以恒定的速度(4000)沿直线飞行,这是因为我们还没有通过键盘事件来改为飞机的方向和速度。
2. 打开“项目设置”,添加如下轴映射
3. 在“BP_Jet”的事件图表中,添加如下节点。当按下W/S键后,将“AxisValue”和delta second、“ThrustMultiplie”相乘就可以得到加速或减速的值,再加上之前的推进速度,就可以得到现在的推进速度。
此时我们就可以通过W/S键来控制飞机的加速/减速。
继续在事件图表中添加如下节点
打开“UpdateYaw”函数,添加如下节点。其中“TargetYaw”表示飞机最终会达到的旋转值,但是并不意味着飞机会立马达到这个值,需要通过插值节点逐渐达到。
此时运行游戏我们就可以通过A/D键来控制飞机向左/右飞行
为了让飞机的方向舵跟着旋转,首先添加一个宏,命名为“NegateFloat”
然后设置方向舵的相对旋转
接下来,继续编辑飞机升降的逻辑
基本和“UpdateYaw”函数内容一致
最终效果如文章开头所示。
【UE4】从零开始制作战斗机(中:飞机操控逻辑)相关推荐
- UE4从零开始制作数字孪生道路监测平台
UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...
- 从零开始制作一个飞机大战类型的射击游戏
射击类游戏是极为经典的游戏系列之一,它往往有着精美绚丽的画面,高度有趣的音效,为玩家呈现不一样射击体验,让人流连忘返. 今天,我们用scratch从零开始制作了的一个射击类型的小游戏,适合学习者进行学 ...
- Unity从零开始制作飞机大战
初学Unity3D制作了一个飞机大战游戏练练手,效果如下: 有时间整理下写成一篇详细的博客,其实代码量不是很大.
- 用JAVA制作小游戏——飞机大战(二)
本篇博客是对飞机大战游戏使用代码的展示 重难点: 首先需要鼠标能够控制战机,使鼠标在窗口内时始终能够使战机的位置与鼠标相同,实现鼠标控制战斗机移动. 其次需要能够以一定的速度产生子弹和敌机,并且以一定 ...
- 【UE4 】制作螺旋桨飞机
一.素材资源 链接:https://pan.baidu.com/s/1xPVYYw05WQ6FABq_ZxFifg 提取码:ivv8 二.课程视频链接 https://www.bilibili.com ...
- 从零开始制作即时战略游戏(0)
"看这个题目,就觉得很傻屌."--某同学 问题1:为什么要从零开始制作即时战略游戏?难道SC/SC2,steam上一大堆还不够玩的? 回答:我就想在iphone/ipad上玩. 问 ...
- 使用Pygame制作微信打飞机游戏PC版
前一阵子看了一篇文章:青少年如何使用Python开始游戏开发 .看完照葫芦画瓢写了一个,觉得挺好玩儿,相当于简单学了下Pygame库.这篇文章是个12岁小孩儿写的,国外小孩儿真心NB,想我12岁的时候 ...
- 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll).除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包.然而做源代码 ...
- ue4 怎么传递变量到另一个蓝图_[UE4蓝图]虚幻4中实现简易天气系统(三)—— 受风力影响的Cascade雨水粒子...
上一篇: 架狙只打脚:[UE4蓝图]虚幻4中实现简易天气系统(二)-- 随机风力zhuanlan.zhihu.com Cascade就是现在UE4中正在使用的ParticleSystem. 制作雨水 ...
最新文章
- xmpp 开源项目选择_如何选择和维护安全的开源项目
- dedecms 会员网站UID注册名转MID
- Java Review - HashMap HashSet 源码解读
- 2020Alibaba数学预选赛第2轮试题
- python中遇到循环import即circular import的问题原理剖析及解决方案
- linux收发outlook的邮件,Linux邮箱服务器配置:如何让outlook收发邮件,怎么样控制中继...
- HDU #5733 tetrahedron
- leetcode python3 简单题100. Same Tree
- ajax更换内容执行函数,在ajax成功调用另一个ajax函数
- 基于mysql的分析型数据库_数据仓库_数据分析_分析型数据库_MySQL查询
- 整理了一些已分类的产品Axure元件库,助力正在找Axure组件库的同学高速成长
- 基于jsp+mysql+Spring+SpringMVC+mybatis的房源信息管理系统
- 黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!
- 【HCIE安全】双机热备-主备备份
- Docker存储配置切换loop-lvm到direct-lvm
- php短视频转码,YYC松鼠短视频系统V2.0版本发布,亮点新增转码加水印功能
- 瘟神的尾行 -- Rootkit技术发展史 (转载)
- 最新小程序授权+php后端(附demo源码)
- 遗传算法 商旅问题 c++ GA tsp
- zabbix的自定义监控