【UE4】从零开始制作战斗机(中:飞机操控逻辑)

news2024/12/31 5:13:38

上一篇:

【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”函数内容一致

最终效果如文章开头所示。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生智慧路灯可视化系统 区域控制节能增效

前言 智慧灯杆是智慧城市建设的重要组成部分,可以完成照明、公安、市政、气象、环保、通信等行业数据信息的采集、发布和传输。同时,作为5g时代车联网、云网、通信网络建设的重要组成部分,智慧灯杆也将得到广泛应用。 建设背景 城市路灯存…

JVM常用参数和命令行工具

JVM参数类型 一:标准参数 - 所有的JVM实现都必须实现这些参数的功能,而且向后兼容 例: -help-server -client-version -showversion-cp -classpath 二:非标准参数 -X 非标准参数(-X)&#xff1a…

opencv缺陷检测

随着自动化生产设备的普及,工业机器人在各行各业的应用也越来越广泛,越来越多的生产线由自动化设备取代人工操作,实现自动化生产。在机器人分拣过程中,机器人不仅可以将不同规格和质量的产品准确地放入指定的托盘中,而…

MySQL 事物(w字)

目录 事物 首先我们来看一个简单的问题 什么是事务 为什么会出现事务 事务的版本支持 事务提交方式 事务常见操作方式 设置隔离级别 事物操作 事物结论 事务隔离级别 理解隔离性 隔离级别 查看与设置隔离性 注意可重复读【Repeatable Read】的可能问题&#xff…

Spring事务管理 -- Spring入门保姆级教程(五)

文章目录 前言六、Spring事务1.Spring事务简介2.入门案例--模拟银行间转账业务3.开启Spring事务的一般步骤4.Spring事务角色5.spring事务属性--rollbackfor6.入门案例进阶--转账业务追加日志7. Spring事务属性--事务传播行为 总结 前言 为了巩固所学的知识,作者尝试…

ZIP/RAR压缩包加密原理和解密方法

ZIP/RAR压缩包加密原理和解密方法 1、压缩包的概念 一般我们看到的压缩格式有.rar,.zip,等等有许多格式但主要压缩的作用就是让某一个文件占用空间小点。比如原来是50MB,可以压缩到30多MB。 压缩包的算法: 有许多不同的压缩格式例如&#…

【MySQL】-【数据库的设计规范】

文章目录 为什么需要数据库设计范式范式简介范式都包括哪些键和相关属性的概念 为什么需要数据库设计 范式 范式简介 在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的 级别 。要…

第二届欧亚计算机科学与信息技术前沿国际会议

会议简介 Brief Introduction 2023年第二届欧亚计算机与信息技术前沿国际会议(FCSIT 2023) 会议时间:2023年9月15 -17日 召开地点:英国牛津 大会官网:www.ecfcsit.org 2023年计算机与信息技术前沿国际会议(FCSIT 2023)将围绕“计算机与信息技…

单词长度统计-列表

输入一段英文计算每个单词长度,统计不含非英文字符,列表输出。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址…

Java高并发核心编程(JUC)—线程详细笔记

进程 线程 线程方法 线程原理 线程状态 查看线程 进程 概述 进程:程序是静止的,进程实体的运行过程就是进程,是系统进行资源分配的基本单位. 一般来说,一个进程由程序段(包含代码、指令集合)、数据段(进程…

Gitlab的使用教程

Gitlab的基本介绍: Gitlab是利用Ruby on Rails 一个开源的版本管理系统,实现一个自托管的git项目仓库,可通过web界面进行访问公开或私有的项目。 与GitHub类似,Gitlab能够浏览源代码、管理缺陷和注释、可以管理团队对仓库的访问…

YSL赢麻了?SMI社媒心智品牌榜Top20公布:YSL破局夺魁,国货品牌现后起之秀

全文速览 1.数说故事联合用户说从美妆、彩妆、护肤三板块全新发布《SMI社媒心智品牌榜》。 2.圣罗兰、兰蔻、欧莱雅等法国高端美妆大牌垄断美妆《SMI社媒心智品牌榜》前三甲。 3.彩妆Top20榜单中,底妆产品稳居前列,色彩美妆占据一席之地。 4.护肤TOP…

Java面试知识点(全)-分布式微服务-zookeeper面试知识点

Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现&…

现在转行想学云计算?这些知识你需要提前掌握!

现在转行想学云计算?这些知识你需要提前掌握! 近年来,云计算技术和应用正铺天盖地向我们袭来,工作、生活、娱乐、教育、金融、科技、工业、农业等各个领域都有他的身影。什么是“云”?“云”是一个庞大的可容纳海量资源…

医疗科普系统和微信小程序开箱即用

一.下载地址 http://www.gxcode.top/code 二.项目说明 运行环境:jdk8tomcat8mysql5.7IntelliJ IDEAmaven微信开发工具 这是一个ssmvue微信小程序的医疗科普小程序,分为pc端和微信小程序端, pc端包括:管理员角色和学生角色。 管…

【LeetCode】168. Excel表列名称

168. Excel表列名称(简单) 思路 显然,这是一道从 1 开始的的 26 进制转换题。 对于一般性的进制转换题目,只需要不断地对 columnNumber 进行 % 运算取得最后一位,然后对 columnNumber 进行 / 算,将已经取得…

【项目源码】基层医院信息化管理系统HIS源码

医院信息系统(HIS)经历了从手工到单机再到局域网的两个阶段,随着云计算、大数据新技术迅猛发展,基于云计算的医院信息系统将逐步取代传统局域网HIS,以适应人们对医疗卫生服务越来越高的要求。 利用云计算、大数据等现代信息技术研…

Windows下安装docker

Windows下安装docker 1.安装WSL2 我的Windows版本如下: 版本 Windows 11 专业版 版本 22H2 1.1 检查能否安装 必要条件: Windows 10 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。对于 ARM64 系统&…

5个值得一试的开源大语言模型

5个值得一试的开源大语言模型 人工智能已经成为我们生活中不可或缺的一部分,而LLM(大型语言模型)处于这一变化的最前沿。 在对话式人工智能方面,大语言模型的性能最为关键。 虽然像 OpenAI 的 GPT-4 这样的商业大语言模型已经引起…

jdk13至15——文本块特性

文本块在jdk13中第一次预览,jdk14第二次预览,jdk15正式版; 终于不用在多行字符串中加一堆\n和一堆\"和一堆了; 之前需要这么麻烦: Testvoid test() {String s "testabcd\n" "aaa\n" "…