【UE4 】制作螺旋桨飞机

news2024/9/9 4:46:24

一、素材资源

链接:https://pan.baidu.com/s/1xPVYYw05WQ6FABq_ZxFifg

提取码:ivv8

二、课程视频链接

https://www.bilibili.com/video/BV1Bb411h7qw/?spm_id_from=333.337.search-card.all.click&vd_source=36a3e35639c44bb339f59760641390a8

三、最终效果

四、制作步骤

  1. 首先下载素材资源并导入UE中

飞机的骨骼如下:

  1. 新建一个Pawn类,命名为“BiplanePawn_BP”

双击打开“BiplanePawn_BP”,添加一个“可动网格体组件”用来控制骨骼

再添加一个静态网格体组件作为根组件

命名为“Driver”

再添加一个弹簧臂和摄像机组件

  1. 先给“Driver”赋个静态网格体,这里设置为方块

选中“PoseableMesh”,设置骨骼网格体

添加一个静态网格体组件,用来放置驾驶员

设置弹簧臂长度为800,然后弹簧臂向上旋转15°,摄像机向下旋转10°

启用摄像机旋转延迟

选中“Driver”,勾选模拟物理,碰撞预设改为“PhysicsActor”

取消勾选 启用重力

  1. 在项目设置中添加一些操作映射和轴映射

  1. 在“BiplanePawn_BP”中添加两个布尔型变量

在事件图表中添加如下节点

  1. 添加一个新函数,命名为“ThrottleInput”

先在该函数内添加如下节点

新建一个整型变量,命名为“ThrottleAmount”

默认值设置为30

继续完善“ThrottleInput”函数的逻辑如下

  1. 在事件图表设置每0.05s调用一次“ThrottleInput”函数

新建一个浮点型变量,命名为“Aircontrol”

默认值设为2500

  1. 在事件图表中添加如下节点,用作基本的飞机的控制

  1. 新建一个函数,命名为“CalculateSpeed”

函数逻辑如下:

  1. 回到事件图表,添加如下节点

  1. 为了让螺旋桨转起来并且根据转向控制尾翼,这里继续新建一个函数,函数命名为“PropRudderElevator”

每次调用该方法时,让螺旋桨旋转20°:

让尾翼根据方向转动:

让左尾翼根据升降转动:

右翼升降同样的道理,但需要改三处地方:

在事件图表中每0.01s调用函数“PropRudderElevator”

  1. 给飞机附上材质

先将纹理导入

创建两个材质球

应用材质:

运行游戏效果如文章开头所示。

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

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

相关文章

CVE-2022-42889 Apache Commons Text 漏洞

0x00 前言 所幸遇到,就简单看看,其中没有啥比较难的地方,仅做记录。10月13日的漏洞。 cve链接可以看下面这个: https://cve.mitre.org/cgi-bin/cvename.cgi?nameCVE-2022-42889 git地址: https://github.com/apache…

AcWing蓝桥杯辅导课:第二讲 二分与前缀和

AcWing 789. 数的范围 思路: 二分模板一共有两个,分别适用于不同情况。 算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l r时,我们就找到了目标值。 版本1 当我们将区间[l, r]划分成[…

基于蚂蚁优化算法的柔性车间调度研究(Python代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

21_FreeRTOS内存管理

目录 FreeRTOS内存管理 FreeRTOS内存管理算法 内存管理相关API函数介绍 实验源码 FreeRTOS内存管理 在使用FreeRTOS创建任务、队列、信号量等对象的时,一般都提供了两种方法: 动态方法创建 自动地从 FreeRTOS 管理的内存堆中申请创建对象所需的内存,并且在对…

AcWing算法提高课-3.1.1热浪

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 题目传送门点这里 题目描述 德克萨斯纯朴的民众们这个夏天正在遭受巨大的热浪&#xff01;&#xff01;&#xff01; 他们的德克萨斯长角牛吃起来不错&#xff0c;可是它们并不是很擅长生产富…

【博学谷学习记录】超强总结,用心分享丨人工智能 特征工程 特征变换 分箱学习总结

目录概念分箱的作用等频分箱等距分箱*卡方分箱公式例子概念 特征构造的过程中&#xff0c;对特征做分箱处理时必不可少的过程分箱就是将连续变量离散化&#xff0c;合并成较少的状态 分箱的作用 离散特征的增加和减少都很容易&#xff0c;易于模型的快速迭代&#xff1b;稀疏…

IB选课避坑指南,选课不踩雷

众所周知&#xff0c;IBDP课程颇具挑战性&#xff0c;对于学习者的英语写作、意志力、自律性要求都比较严格。 如果你高中阶段想学习IBDP课程&#xff0c;那么在学习之前一定要搞清楚怎么选课再做决定&#xff01;年轻的IB人&#xff0c;你们准备好了吗&#xff1f; 很多同学在…

Java程序设计-JSP程序设计-SSM校园二手交易系统

摘 要 网络的广泛应用给生活带来了十分的便利。所以把二手物品交易管理与现在网络相结合&#xff0c;利用java技术建设二手物品交易系统&#xff0c;实现二手物品交易的信息化。则对于进一步提高二手物品交易管理发展&#xff0c;丰富二手物品交易管理经验能起到不少的促进作用…

明星的孩子也在做的感统训练,真的有用吗?

林志颖曾经在社交网站晒过带他儿子“模拟过山车”的视频。孩子大脑前庭受到适当的刺激&#xff0c;可以有效地锻炼前庭平衡感。 除此之外&#xff0c;还能看见地上的感统教具&#xff1a;过河石、平衡桥&#xff0c;看来明星老爸在陪孩子做感统游戏的日常一点也不含糊。 其实在…

Flutter Scrollable 中ViewPort滚动原理

关于Flutter Sliver组件内容可以参考下面这位博主博客&#xff0c;写的已经非常好了&#xff0c;这里就不再赘述。 38、Flutter之 可滚动组件简介_flutter 可滑动_风雨「83」的博客-CSDN博客 通过阅读上面的博客&#xff0c;我们已经知道了Scrollable和Viewport基础概念&#…

【手把手一起学习】(七) Altium Designer 20常用PCB设计规则

1 常用PCB设计规则 PCB规则设计是PCB设计中至关重要的环节&#xff0c;它约束了电气要求、布线方式、器件摆放位置等&#xff0c;为后续的手动布局、布线提供依据。完善的PCB规则设计&#xff0c;可以减少设计中的错误&#xff0c;提高PCB设计效率。 1.1 PCB设计规则管理器 …

Aspect-Based Sentiment Analysis Model with Bi-Guide Attention Network 论文阅读笔记

一、作者 Xie Jun, Wang Yuzhu, Chen Bo, Zhang Zehua, and Liu Qin College of Information and Computer, Taiyuan University of Technology, Jinzhong, Shanxi 二、背景 在应用于方面情感分析的深度神经网络中&#xff0c;序列型神经网络能捕获句子的上下文语义信息&am…

血脂高的全身表现,这几种吃法改善

血脂变化总是不知不觉的&#xff0c;很多人没有明显的不适&#xff0c;但是血脂已经慢慢升高&#xff0c;随之而来的就是各种心血管疾病。好在血脂高还有一些外在表现&#xff0c;出现这些变化&#xff0c;多加注意。经常头晕头痛、睡不好、健忘、手脚发麻、午后犯困、夜晚清醒…

TencentOS 3.1安装MySQL 8.0.32

到官网下载安装包&#xff1a;https://dev.mysql.com/downloads/mysql/ 使用如下命令解包。 tar xf mysql-8.0.32-1.el8.x86_64.rpm-bundle.tar 使用rpm -qa |grep mysql 和rpm -qa |grep mariadb检查是否安装过mysql 如果有&#xff0c;使用下命令移除&#xff1a; rpm -e …

6 集成学习及Python实现

1 主要思想 集成学习: 三个臭裨将, 顶个诸葛亮 Bagging: 数据随机重抽样, 并行构建分类器, 投票&#xff1b;Boosting: 关注被错分的样本, 串行构建分类器, 加权投票。 2 理论 AdaBoost (Adaptive Boosting)示意图1 错误率: εEN\varepsilon \frac{E}{N}εNE​ 其中NNN为…

【halcon】dev_set_part / set_part

前言&#xff1a; dev_set_part / set_part 其实功能是一样的。下面就set_part 进行讲解。 背景 我在写程序的时候需要一个诉求&#xff0c;我找了很多瑕疵&#xff0c;每个瑕疵都有一个位置&#xff0c;这些位置在一个数据的列表&#xff0c;我希望在列表点到瑕疵位置的时…

mysql数据库常用字符串函数

文章目录一、字符串函数详解二、文档下载地址一、字符串函数详解 1、ascii(str) 返回值为字符串str 的最左字符的数值,即取得最左字符的ascii码。假如str为空字符串&#xff0c;则返回值为 0 。假如str 为null&#xff0c;则返回值为 null。 2、bin(n) 返回值为n的二进制值的…

了解Maven的作用

专门用于管理和构建Java的工具&#xff0c;主要功能有如下: 1.提供一套标准化的项目结构 在不同的Java ide上面创建项目结构&#xff0c;比如说IDEA和eclipse这些ide上创建Java项目都有所不同 但是使用Maven创建项目可以使得项目结构标准化&#xff0c;如下图所示就是使用IDE…

LeetCode 700. 二叉搜索树中的搜索

LeetCode 700. 二叉搜索树中的搜索 难度&#xff1a;easy\color{Green}{easy}easy 难度&#xff1a;middle\color{orange}{middle}middle 难度&#xff1a;hard\color{red}{hard}hard 题目描述 给定二叉搜索树&#xff08;BST&#xff09;的根节点 rootrootroot 和一个整数值…

Go defer用法

defer概览 defer是go语言里的一个关键字,在 函数内部使用;defer关键字后面跟一个 函数或匿名函数; defer用法 执行一些资源的收尾工作,如 关闭数据库连接,关闭文件描述符,释放资源等等;结合recover()函数使用,防止函数内部的异常导致整个程序停止;defer在遇到panic后,仍然会…