【UE5.1 角色练习】16-枪械射击——瞄准

news2024/11/15 16:25:31

目录

效果

步骤

一、瞄准时拉近摄像机位置

二、瞄准偏移

三、向指定方向射击

四、连发


效果

步骤

一、瞄准时拉近摄像机位置

打开角色蓝图,在事件图表中添加如下节点,当进入射击状态时设置目标臂长度为300,从而拉近视角。

但是这样切换视角距离有些生硬,我们可以通过时间轴节点来做个过渡

两个时间曲线均从(0,0)到(0.2,1)

此时效果如下,可以看到在切换射击状态时,视角会逐渐拉近或拉远

二、瞄准偏移

为了解决角色只能朝左右射击无法上下射击的问题,我们需要在鼠标上下移动视角的时候将枪口也进行上下移动。

1. 在“AnimStarterPack”资源包中找到一个名为“Aim_Space_Hip”动画序列

可以看到该动画序列是角色上下左右端枪的姿势

2. 通过IK重定向器将该动画序列重定向给我们的角色

此时我们就拥有了适配角色骨骼的动画序列

下面我们需要对这个动画进行拆解,分别拆解成角色向上、下、左、右瞄准的动画。

复制3份动画序列“Aim_Space_Hip”,这里分别命名为“Aim_Space_Hip_Center”、“Aim_Space_Hip_CenterDown”、“Aim_Space_Hip_CenterUp”,分别表示角色向正前方、正下方和正上方端枪的动画序列。

3. 打开动画序列“Aim_Space_Hip_Center”。将时间轴指针移动到第4帧,然后移除第5帧之后的所有帧(包括第5帧)

可以看到此时该动画序列就只有4帧

同样的方法,我们可以像这样制作角色向正下方、正上方端枪的动画序列。但是这里我们再使用另一种方法来创建角色向正下方、正上方端枪的动画序列。

4. 再次打开动画序列“Aim_Space_Hip”,将指针移至第10帧,可以看到此时角色向正上方端枪,然后点击“创建资产-》创建动画-》当前姿势”

可以看到创建的动画就只有一帧,就是角色向正上方端枪的动画

同样的方法,在“Aim_Space_Hip”中的第20帧找到角色向正下方端枪的动画,然后创建动画序列“Aim_Space_Hip_CenterDown”

同样的方法再创建角色向左中、左上、左下、右中、右上、右下端枪的动画序列

5. 选中这9个动画序列,然后鼠标右键点击“通过属性矩阵进行批量编辑”

选中这9个动画序列,然后将“Additive动画类型”设置为“网格体空间”

6. 打开角色的动画蓝图

创建一个瞄准偏移混合空间

这里命名为“AimOffset2D_Rifle”

打开“AimOffset2D_Rifle”,水平、垂直坐标的名称和范围

将9个动画序列放置在相应的位置上

像混合空间一样,此时我们修改预览点的坐标位置,就可以看到角色不同的端枪姿势

 7. 再次选中这9个动画序列,然后鼠标右键点击“通过属性矩阵进行批量编辑”

“基础姿势”为“选择的动画帧”

“基础姿势动画”设置为角色端枪待机的动画“Idle_Rifle_Hip”

8. 再次回到瞄准偏移“AimOffset2D_Rifle”中会发现预览姿势不太对劲

因此我们需要将“预览基础姿势”设置为角色端枪待机的动画序列“Idle_Rifle_Hip”,此时预览姿势就正常了。

9. 在动画蓝图的动画图表中,双击进入状态“IdleRifle”

将瞄准偏移作为该状态的输出姿势

可以看到瞄准偏移还需两个输入值,因此我们在动画蓝图中创建两个浮点类型变量,分别命名为“Yaw”和“Pitch”

然后将这两个变量值输入到瞄准偏移中

为了验证是否有效,我们可以修改Pitch的默认值为30

此时运动游戏,可以看到角色在进入射击状态后,枪口向上偏移了一些

双击进入状态“RunRifle”

添加如下节点

此时我们在动画预览编辑器中修改“Yaw”和“Pitch”的值可以看到角色向着指定的方向端枪

若增加角色移动速度也可以看到同样的效果

三、向指定方向射击

打开角色蓝图在事件图表中添加如下节点,用鼠标指向远方的方向减去角色自身的方向就可以得出动画蓝图中变量“Yaw”和“Pitch”的值

然后我们需要在进入射击状态时显示鼠标,因此删除如下节点

此时运行可以看到角色端枪的方向会随着鼠标的移动而移动

我们将鼠标瞄准的场景位置提升为一个变量,用于表示射击目标的位置

之前我们子弹发射的方向只是角色向前的方向

现在我们可以通过变量“AimTarget”来设置子弹发射的方向

此时我们就实现了鼠标指哪打哪的效果(并不是精确射击)

四、连发

当我们按下鼠标左键准备发射子弹前添加一个时间轴

设置时间轴为循环

这样当我们按下鼠标左键后,就会一直发射子弹了。如果感觉子弹发射的频率太高,我们可以添加一个延迟

此时我们按住鼠标组件不动就可以连发了

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

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

相关文章

数学建模中常用的数据处理方法

常用的数据处理方法 本文参考 B站西电数模协会的讲解视频 ,只作笔记提纲,想要详细学习具体内容请观看 up 的学习视频。国赛的 C 题一般数据量比较大。 这里介绍以下两种方法: 数据预处理方法 数据分析方法 数据预处理方法 1. 数据清洗 为…

【后端开发实习】用MongoDB实现仓库管理的出库入库实战

用MongoDB实现仓库管理的出库入库 MongoDB什么是MongoDBMongoDB安装以及开始运行配置启动以及mongoshmongodb的基础使用命令启动和使用MongoDB服务数据库操作集合操作文档操作 项目部署在数据库中创建一张商品信息表提供信息表的增删改查操作接口 MongoDB 什么是MongoDB Mong…

德语中含“Augen”的惯用语表达-柯桥小语种学习德语考级

在我们的德语学习过程中,除了词汇的记忆,另一项重要的记忆任务就是惯用语的背诵啦。要知道,德语中有大量的Redewendung,他们以其言简意赅的表达,在日常用语中备受青睐。上一期我们已经学习了部分含有“Hand”的惯用语&…

每日一题~abc356(对于一串连续数字 找规律)

添加链接描述 题意:对于给定的n,m 。计算0~n 每一个数和m & 之后,得到的数 的二进制中 1的个数的和。 一位一位的算。最多是60位。 我们只需要计算 在 1-n这些数上,有多少个数 第i位 为1. 因为是连续的自然数,每一位上1 的…

ARM学习(29)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择

ARM学习(28)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择 1、多种启动方式介绍 IMX1166 支持多组flexSPI 引脚启动,FlexSPI1以及FlexSPI2,通过boot cfg可以切换FlexSPI得实例。 每个实例又支持多组引脚,总共…

Let‘s Encrypt性价比最高的申请SSL证书

SSL/TLS证书作为确保网站数据传输安全性的重要手段,受到了广大网站运营者的青睐。然而,高昂的证书费用往往成为许多小型网站和个人博客的负担。 申请Lets Encrypt免费泛域名SSL证书步骤 1. 登录来此加密网站,输入域名,可以勾选泛…

食物链之带权并查集解法

直接看题&#xff1a;https://www.acwing.com/problem/content/description/242/ 下面就是代码的实现了&#xff0c;因为自己与自己肯定是同类我们初始化为0. 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,k; int fk,x,y; int fa[10001…

染色法判定二分图

什么是二分图&#xff1f; 二分图&#xff0c;也称作二部图&#xff0c;是图论中的一种特殊模型。在一个无向图G(V,E) 中&#xff0c;如果顶点集合 V 可以被分割成两个互不相交的子集 A 和 B&#xff0c;并且图中的每条边 (i,j) 关联的两个顶点 i 和 j 分别属于这两个不同的顶…

第三课网关作用

实验拓扑图&#xff1a; 基础配置&#xff1a; PC1的基础配置 PC2的基础配置&#xff1a; PC4的基础配置 AR1添加PC4网段: 并且添加pc1,pc2的网段。 并且添加pc1,pc2的网段。 原理&#xff1a;PC4先把数据交给100.100.100.1&#xff0c;交给了路由器&#xff0c;路由器再把数…

分贝通差旅管理费控BI 助力企业差旅报销降本

在企业的日常运营中&#xff0c;每张机票、每个酒店预订、每次用车、每笔对公付款&#xff0c;这些看似零碎的支出累积起来&#xff0c;每月往往能轻松达到数百万元。面对如此庞大的支出&#xff0c;如何及时发现并控制不合理支出&#xff0c;成为企业成本控制的关键。为此&…

引用计数器(kref)

1、什么是引用计数器 如果我们写了一个字符驱动&#xff0c;当硬件设备插上时&#xff0c;系统会生成一个设备节点。用户在应用空间操作这个设备节点就可以操作设备。如果此时将硬件断开&#xff0c;驱动是不是就要立刻释放呢&#xff1f;如果立刻释放&#xff0c;应用程序是不…

计算机网络体系结构解析

OSI参考模型 与 TCP/IP模型 如图所示 TCP/IP模型有几层 应用层&#xff1a;只需要专注于为用户提供应用功能 HTTP、SMTP、Telnet等&#xff0c;工作在操作系统中的用户态&#xff0c;传输层及以下工作在内核态传输层&#xff1a;为应用层提供网络支持&#xff08;TCP、UDP传…

《昇思25天学习打卡营第01天|qingyun201003》

打卡 日期 心得 我的主语言并不是Python,以及现在从事的工作也并不是开发&#xff1b;所以对于这个系列的课程&#xff0c;学习起来是较为困难的&#xff0c;所以基于这种情况&#xff0c;该如何进行学习&#xff1f;我的做法是全部交给AI&#xff0c;使用AI一步步解析代码&a…

xcode配置swift使用自定义主题颜色或者使用RGB或者HEX颜色

要想在xcode中使用自定义颜色或者配置主题色&#xff0c;需要在Assets中配置&#xff0c;打开Assets文件&#xff0c;然后点击添加Color Set&#xff1a; 输入颜色的名称&#xff0c;然后选中这个颜色&#xff0c;会出现两个颜色&#xff1a; Any Appearance表示亮色模式下使用…

JRT打印药敏报告

最近没写jrt系列博客&#xff0c;不是中途而废了。而是在写微生物系统。今天终于把微生物大体完成了&#xff0c;伴随着业务的实现&#xff0c;框架趋于完善和稳定。构建一套完美而强大的打印体系一直是我的理想&#xff0c;从最开始C#的winform打印控件到刚接触bs时候用js打印…

react学习——24redux实现求和案例(精简版)

1、目录结构 2、count/index.js import React, {Component} from "react"; //引入store,用于获取数据 import store from ../../redux/store export default class Count extends Component {state {count:store.getState()}componentDidMount() {//监测redux中的…

手撸俄罗斯方块(一)——简单介绍

手撸俄罗斯方块 简单介绍 《俄罗斯方块》&#xff08;俄语&#xff1a;Тетрис&#xff0c;英语&#xff1a;Tetris&#xff09;&#xff0c;是1980年末期至1990年代初期风靡全世界的电脑游戏&#xff0c;是落下型益智游戏的始祖&#xff0c;电子游戏领域的代表作之一&a…

关于气象探测设备的介绍

气象探测设备概述 气象探测设备是用于收集、记录和分析大气环境信息的专用工具。它们能够实时监测气温、湿度、气压、风速、风向、降雨量等多种气象要素&#xff0c;为天气预报、气候研究、农业生产和环境保护等领域提供重要数据支持。气象探测设备种类繁多&#xff0c;包括地…

【UML用户指南】-33-对体系结构建模-系统和模型

目录 1、系统和子系统 2、模型和视图 3、跟踪 4、常用建模技术 4.1、对系统的体系结构建模 4.2、对系统的系统建模 模型是对现实世界的简化——即对系统的抽象&#xff0c;建立模型的目的是为了更好地理解系统。 1、系统和子系统 一个系统可能被分解成一组子系统&#…

MySQL超详细学习教程,2023年硬核学习路线

文章目录 前言1. 数据库的相关概念1.1 数据1.2 数据库1.3 数据库管理系统1.4 数据库系统1.5 SQL 2. MySQL数据库2.1 MySQL安装2.2 MySQL配置2.2.1 添加环境变量2.2.2 新建配置文件2.2.3 初始化MySQL2.2.4 注册MySQL服务2.2.5 启动MySQL服务 2.3 MySQL登录和退出2.4 MySQL卸载2.…