上一篇:

【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】从零开始制作战斗机(中:飞机操控逻辑)相关推荐

  1. UE4从零开始制作数字孪生道路监测平台

    UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...

  2. 从零开始制作一个飞机大战类型的射击游戏

    射击类游戏是极为经典的游戏系列之一,它往往有着精美绚丽的画面,高度有趣的音效,为玩家呈现不一样射击体验,让人流连忘返. 今天,我们用scratch从零开始制作了的一个射击类型的小游戏,适合学习者进行学 ...

  3. Unity从零开始制作飞机大战

    初学Unity3D制作了一个飞机大战游戏练练手,效果如下: 有时间整理下写成一篇详细的博客,其实代码量不是很大.

  4. 用JAVA制作小游戏——飞机大战(二)

    本篇博客是对飞机大战游戏使用代码的展示 重难点: 首先需要鼠标能够控制战机,使鼠标在窗口内时始终能够使战机的位置与鼠标相同,实现鼠标控制战斗机移动. 其次需要能够以一定的速度产生子弹和敌机,并且以一定 ...

  5. 【UE4 】制作螺旋桨飞机

    一.素材资源 链接:https://pan.baidu.com/s/1xPVYYw05WQ6FABq_ZxFifg 提取码:ivv8 二.课程视频链接 https://www.bilibili.com ...

  6. 从零开始制作即时战略游戏(0)

    "看这个题目,就觉得很傻屌."--某同学 问题1:为什么要从零开始制作即时战略游戏?难道SC/SC2,steam上一大堆还不够玩的? 回答:我就想在iphone/ipad上玩. 问 ...

  7. 使用Pygame制作微信打飞机游戏PC版

    前一阵子看了一篇文章:青少年如何使用Python开始游戏开发 .看完照葫芦画瓢写了一个,觉得挺好玩儿,相当于简单学了下Pygame库.这篇文章是个12岁小孩儿写的,国外小孩儿真心NB,想我12岁的时候 ...

  8. 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)

    默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll).除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包.然而做源代码 ...

  9. ue4 怎么传递变量到另一个蓝图_[UE4蓝图]虚幻4中实现简易天气系统(三)—— 受风力影响的Cascade雨水粒子...

    上一篇: 架狙只打脚:[UE4蓝图]虚幻4中实现简易天气系统(二)-- 随机风力​zhuanlan.zhihu.com Cascade就是现在UE4中正在使用的ParticleSystem. 制作雨水 ...

最新文章

  1. xmpp 开源项目选择_如何选择和维护安全的开源项目
  2. dedecms 会员网站UID注册名转MID
  3. Java Review - HashMap HashSet 源码解读
  4. 2020Alibaba数学预选赛第2轮试题
  5. python中遇到循环import即circular import的问题原理剖析及解决方案
  6. linux收发outlook的邮件,Linux邮箱服务器配置:如何让outlook收发邮件,怎么样控制中继...
  7. HDU #5733 tetrahedron
  8. leetcode python3 简单题100. Same Tree
  9. ajax更换内容执行函数,在ajax成功调用另一个ajax函数
  10. 基于mysql的分析型数据库_数据仓库_数据分析_分析型数据库_MySQL查询
  11. 整理了一些已分类的产品Axure元件库,助力正在找Axure组件库的同学高速成长
  12. 基于jsp+mysql+Spring+SpringMVC+mybatis的房源信息管理系统
  13. 黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!
  14. 【HCIE安全】双机热备-主备备份
  15. Docker存储配置切换loop-lvm到direct-lvm
  16. php短视频转码,YYC松鼠短视频系统V2.0版本发布,亮点新增转码加水印功能
  17. 瘟神的尾行 -- Rootkit技术发展史 (转载)
  18. 最新小程序授权+php后端(附demo源码)
  19. 遗传算法 商旅问题 c++ GA tsp
  20. zabbix的自定义监控

热门文章

  1. 1500D 单反拍出来的照片泛绿,怎么矫正 坑
  2. 2021中国大学综合排名分析+可视化
  3. phpcms做的网站总是被植入木马后门快照劫持
  4. CentOS中LAMP的安装
  5. MySQL federated存储引擎--访问在远程数据库的表中的数据,而不是本地的表
  6. Python 进阶视频课 - 9. 默顿模型
  7. 搭建远程svn服务器,svn搭建远程服务器
  8. 网易python面试_一道神奇的Python面试题,你会吗?
  9. python文件操作学习心得
  10. 最新安徽安全员B考试判断题预测题库