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

目录

效果

步骤

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

二、瞄准偏移

三、向指定方向射击

四、连发


效果

步骤

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

打开角色蓝图,在事件图表中添加如下节点,当进入射击状态时设置目标臂长度为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.mzph.cn/web/43231.shtml

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

相关文章

勇攀新高峰|暴雨信息召开2024年中述职工作会议

7月8日至9日,暴雨信息召开2024年中述职工作会议,总结回顾了上半年的成绩和不足,本次会议采用线上线下的方式举行,公司各部门管理人员、前台市场营销人员参加述职,公司领导班子出席会议。 本次述职采取了现场汇报点评的…

数字滚动动画~

前言 数字从0.00滚动到某个数值的动画 实现&#xff08;React版本&#xff09; Dom <div className"number" ref{numberRef}>0.00</div> JS const _initNumber () > {const targetNumber 15454547.69;const duration 1500;const numberElement…

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

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

09.C2W4.Word Embeddings with Neural Networks

往期文章请点这里 目录 OverviewBasic Word RepresentationsIntegersOne-hot vectors Word EmbeddingsMeaning as vectorsWord embedding vectors Word embedding processWord Embedding MethodsBasic word embedding methodsAdvanced word embedding methods Continuous Bag-…

esp32硬件电路设计

ESP-IDF 入门指南 | 乐鑫科技 (espressif.com) ESP32-DevKitC V4 入门指南 - ESP32 - — ESP-IDF 编程指南 v5.1 文档 (espressif.com)

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

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

Linux下的misc设备驱动

文章目录 前言一、misc是什么&#xff1f;二、调用API1.注册2.注销 三、驱动框架总结 前言 misc设备即杂项设备&#xff0c;Linux系统中类似按键、触摸屏都有专门框架处理&#xff0c;类似adc、蜂鸣器等设备无法明确其属于什么类型&#xff0c;一般就归属于杂项设备&#xff0…

Sqli-labs合集之环境搭建

Sqli-labs的搭建 搭建第一个SQL注入学习靶场环境&#xff1a; 软件&#xff1a;sqli-labs 安装过程&#xff1a; 1.源码地址&#xff1a;GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based.&#xff1b; 2.将压缩包解压到phpst…

非线性系列(三)—— 非线性求解器算法分类

1. 总体认知 CAE中的非线性方程组求解主要依赖牛顿法&#xff08;及牛顿法的变体&#xff09;&#xff0c;步骤如下 以线搜索方法为例&#xff0c;流程如下: 2. 方法分类 适用范围大类小类描述牛顿法雅可比矩阵难获取拟牛顿法 Broyden&#xff08;Secant method&#xff09;、…

15. Revit API: Transaction(事务)与 Failures(故障处理)

前言 UI讲完&#xff0c;回到DB这块儿。在Document那篇&#xff0c;提到增删改查操作都是在Document上&#xff0c;是对Documet进行操作。 看到“增删改查”这四个&#xff0c;想到什么了没有&#xff1f; 数据库&#xff08;DB&#xff09;嘛~话说那本经典的红皮数据库的书叫…

网络安全----防御----防火墙安全策略组网

防火墙组网 要求&#xff1a; 1&#xff0c;DMz区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2&#xff0c;生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3&#xff0c;办公区设备10.0.…

计算机网络之广域网

广域网特点: 主要提供面向通信的服务&#xff0c;支持用户使用计算机进行远距离的信息交换。 覆盖范围广,通信的距离远&#xff0c;需要考虑的因素增多&#xff0c; 线路的冗余、媒体带宽的利用和差错处理问题。 由电信部门或公司负责组建、管理和维护&#xff0c;并向全社会…

友思特方案 | 低延迟GigE Vision解决方案:用于红外设备、医疗和工业级探测面板

导读 维持实时视频系统软硬件的长期成本效益&#xff0c;是该系统在医疗、工业等领域广泛应用的前提。友思特低延迟GigE Vision解决方案创新性地突破了这一难题&#xff0c;提供高带宽且高可靠性的端到端网络链接&#xff0c;有效降低了开发成本、复杂性和时间。 引言 虽然实…

DDoS攻击详解

DDoS 攻击&#xff0c;其本质是通过操控大量的傀儡主机或者被其掌控的网络设备&#xff0c;向目标系统如潮水般地发送海量的请求或数据。这种行为的目的在于竭尽全力地耗尽目标系统的网络带宽、系统资源以及服务能力&#xff0c;从而致使目标系统无法正常地为合法用户提供其所应…

leetcode--从前序与中序遍历序列构造二叉树

leetcode地址&#xff1a;从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,…

vue学习day05-watch侦听器(监视器)、Vue生命周期和生命周期的四个阶段、、工程化开发和脚手架Vue cli

13、watch侦听器&#xff08;监视器&#xff09; &#xff08;1&#xff09;作用&#xff1a;监视数据变化&#xff0c;执行一些业务逻辑或异步操作 &#xff08;2&#xff09;语法&#xff1a; 1&#xff09;简写语法——简单数据类型&#xff0c;直接监视 ① Watch:{ 数…

[Flink]二、Flink1.13

7. 处理函数 之前所介绍的流处理 API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于 DataStream 进行转换的;所以可以统称为 DataStream API ,这也是 Flink 编程的核心。而我们知道,为了让代码有更强大的表现力和易用性, Flink 本身提供了多…

一文入门【NestJs】Controllers 控制器

Nest学习系列 ✈️一文带你入门【NestJS】 ✈️前言 流程图 Controllers 控制器主要负责处理传入请求&#xff0c;并向客户端返回响应&#xff0c;控制器可以通过路由机制来控制接收那些请求&#xff0c;通常一个Controllers种会有多个匹配路由&#xff0c;不同的路由可以知…

Spring源码二十一:Bean实例化流程四

上一篇Spring源码二十&#xff1a;Bean实例化流程三中&#xff0c;我们主要讨论了单例Bean创建对象的主要方法getSingleton的内部方法createBean&#xff0c;createBean方法中的resolveBeanClase方法与prepareMethodOverrides方法处理了lookup-method属性与repliace-method配置…

MT3046 愤怒的象棚

思路&#xff1a; a[]存愤怒值&#xff1b;b[i]存以i结尾的&#xff0c;窗口里的最大值&#xff1b;c[i]存以i结尾的&#xff0c;窗口里面包含✳的最大值。 &#xff08;✳为新大象的位置&#xff09; 例&#xff1a;1 2 3 4 ✳ 5 6 7 8 9 则ans的计算公式b3b4c4c5c6b7b8b9…