66. UE5 RPG 实现远程攻击武器配合角色攻击动画

在制作游戏中,我们制作远程攻击角色,他们一般会使用弓箭,弩,弹弓等武器来进行攻击。比如你使用弓箭时,如果角色在播放拉弓弦的动画,但是弓箭武器没有对应的表现,会显得很突兀。所以,我们在这一篇文章里,将介绍如何实现在远程敌人攻击时,武器也能够实现它对应的效果。
要实现这个效果,我们需要给武器也增加一个动画蓝图,在动画蓝图中,在角色攻击时,对拉弦的那只手的位置进行监听,然后通过在动画蓝图中,修改骨骼的位置,实现在拉弓时,让弦也根本动画修改。

添加武器动画蓝图

我们的武器也是骨骼网格体,所以他们它是支持动画蓝图的,所以我们直接基于武器的骨骼创建一个动画蓝图即可。
右键,创建一个动画蓝图
在这里插入图片描述
骨骼选择使用弹弓的骨骼
在这里插入图片描述
打开动画蓝图,首先在里面添加一个状态机
在这里插入图片描述
在状态机里面设置使用武器的Idle动画
在这里插入图片描述
返回,然后在外面增加一个slot,用于播放蒙太奇,在拉弓完成后,我们要播放武器恢复默认状态的动画。
在这里插入图片描述
我们创建动画蓝图就是为了能够在动画蓝图中修改骨骼位置跟随手部移动,所以我们要在角色骨骼中设置插槽,方便武器查询位置
在这里插入图片描述
在蓝图运行时,我们将角色骨骼模型的引用存储下来
在这里插入图片描述
然后在每一帧运行时,将当前角色右手的变换存储下来,方便后续使用
在这里插入图片描述

然后我们使用Transform(Modify)Bone节点去在动画中修改骨骼的位置,理论上动画也是在修改骨骼的位置,所以
在这里插入图片描述
然后将手部插槽的变换分割
在这里插入图片描述
我们只需要使用它的位置和旋转
在这里插入图片描述
设置这里,我们需要设置使用的骨骼,并且对于变换需要设置模式和使用的空间
在这里插入图片描述
对于不需要的引脚,我们可以选择对其关闭
在这里插入图片描述
制作完成后,接着时最重要的一步,就是将动画蓝图设置给武器骨骼网格体
在这里插入图片描述
然后,你就会发现弹弓能够附着在右手上面
在这里插入图片描述
接着在项目中测试
在这里插入图片描述

控制是否启用变换

接下来,我们想使用一个变量控制当前的变换在执行技能的时候,要播放弹弓弹回的动画,所以我们需要执行关闭。
我们在弹弓的动画蓝图中,增加一个布尔变量,默认值为true,来用于设置释放需要启用变换
在这里插入图片描述
然后在动画图标里面,增加通过使用布尔混合动画,我们就实现了通过布尔变量控制是否需要切换。
在这里插入图片描述

在模型蒙太奇动画中触发骨骼通知

接下来,我们要实现在播放蒙太奇的时候,触发骨骼通知,这个通知可以在动画蓝图中监听回调,我们就可以在后续通过事件去修改变量的值。
在这里插入图片描述
我们为了防止出错,在开始时触发GrabPouch(抓住弹弓袋),然后拉动弹弓,在释放的位置松开弹弓,并在最后再抓起弹弓的弹袋,进入待命状态。
在这里插入图片描述
接下来,我们要在动画蓝图中获取到武器,由于在c++中我们没有设置可以在蓝图获取,所以修改代码
在这里插入图片描述
接下来打开动画蓝图,添加一个自定义事件,用于获取武器的动画蓝图实例
在这里插入图片描述
接下来我们要在事件开始时,调用父函数
在这里插入图片描述
然后再调用自定义事件获取武器动画蓝图实例
在这里插入图片描述
然后添加通知事件返回,在触发ReleaseRock的时候,设置变量为false,关闭变换
在这里插入图片描述
在抓住弹袋的时候,设置变量为true
在这里插入图片描述

弹弓收回设置蒙太奇

接下来,我们想实现在松开以后,播放一个弹弓攻击的蒙太奇。
先创建一个蒙太奇
在这里插入图片描述
然后在松开动画通知里面,设置蒙太奇播放
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GDPU Java 天码行空15 数据库编程

一、实验目的 1、 了解数据库的基础知识。 2、 掌握MySQL的下载、安装与配置。 3、 掌握MySQL可视化工具的使用。 4、 了解SQL语言。 5、 掌握JDBC中的API,并能进行简单的数据库操作。 二、实验内容 1、 安装MySQL 👨‍🏫 视频教程 2、建…

私有云和多云管理平台 | Cloudpods v3.11.4 正式发布

本次 3.11.4 更新亮点为:系统镜像引入社区镜像,用户可以一键导入各主流开源操作系统镜像,方便用户上手使用。持续迭代共享 LVM,支持快照,主备机等特性,修复迁移删除镜像缓存等 BUG。 功能优化 【费用】费…

linux动态调试 dev_dbg

动态调试使用方法 打开内核动态调试开关,make menuconfig选中CONFIG_DYNAMIC_DEBUG以及CONFIG_DEBUG_FS Linux启动后,使用命令行挂载上dbgfs 1. mkdir /mnt/dbg 2. mount -t debugfs none /mnt/dbg 1.控制某个文件所有dev_dbg(), echo -n &q…

mongodb总概

一、mongodb概述 mongodb是最流行的nosql数据库,由C语言编写。其功能非常丰富,包括: 面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;强大的查询语句…

MSPM0l1306——配置滴答定时器

我们配置好了滴答定时器之后,还要手动编写滴答定时器的中断服务函数,因为我们开启的滴答定时器的中断,当滴答定时器的计数值从我们设置的值减到0时,就会触发一次中断,触发中断就会执行中断服务函数。各个中断的中断服务…

144、二叉树的前序递归遍历

题解: 递归书写三要素: 1)确定递归函数的参数和返回值。要确定每次递归所要用到的参数以及需要返回的值 2)确定终止条件。操作系统也是用栈的方式实现递归,那么如果不写终止条件或者终止条件写的不对,都…

Here Doucument

一、Here Document概述 1.概念 使用I/0重定向的方式将命令列表提供给交互式程序 标准输入的一种替代品 2.语法格式 命令 <<标记 标记 3.注意事项 标记可以使用任意合法字符&#xff08;通常为EOF&#xff09; 结尾的标记一定要顶格写&#xff0c;前面不能有任何字符…

【iOS】内存泄漏检查及原因分析

目录 为什么要检测内存泄漏&#xff1f;什么是内存泄漏&#xff1f;内存泄漏排查方法1. 使用Zombie Objects2. 静态分析3. 动态分析方法定位修改Leaks界面分析Call Tree的四个选项&#xff1a; 内存泄漏原因分析1. Leaked Memory&#xff1a;应用程序未引用的、不能再次使用或释…

Java数据结构准备工作---常用类

文章目录 前言1.包装类1.1.包装类基本知识1.2.包装类的用途1.3.装箱和拆箱1.3.1.装箱&#xff1a;1.3.2.拆箱 1.4 包装类的缓存问题 2.时间处理类2.1.Date 时间类(java.util.Date)2.2.DateFormat 类和 SimpleDateFormat 类2.3.Calendar 日历类 3.其他常用类3.1.Math类3.2.Rando…

嵌入式中C语言经典的面试题分享

#error的作用是什么? #error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码: 这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息: "…

Python 很好用的爬虫框架:Scrapy:

了解Scrapy 爬虫框架的工作流程&#xff1a; 在scrapy中&#xff0c; 具体工作流程是这样的&#xff1a; 首先第一步 当爬虫引擎<engine>启动后&#xff0c; 引擎会到 spider 中获取 start_url<起始url> 然后将其封装为一个request对象&#xff0c; 交给调度器<…

文心一言 VS 讯飞星火 VS chatgpt (277)-- 算法导论20.3 4题

四、如果调用 vEB-TREE-INSERT 来插入一个已包含在 vEB 树中的元素&#xff0c;会出现什么情况&#xff1f;如果调用 vEB-TREE-DELETE 来删除一个不包含在 vEB 树中的元素&#xff0c;会出现什么情况&#xff1f;解释这些函数为什么有相应的运行状况&#xff1f;怎样修改 vEB 树…

【手推公式】如何求SDE的解(附录B)

【手推公式】如何求SDE的解&#xff08;附录B&#xff09; 核心思路&#xff1a;不直接求VE和VP的SDE的解xt&#xff0c;而是求xt的期望和方差&#xff0c;从而写出x0到xt的条件分布形式&#xff08;附录B&#xff09; 论文&#xff1a;Score-Based Generative Modeling throug…

【SpringBoot + Vue 尚庭公寓实战】根据类型查询标签列表接口实现(五)

【SpringBoot Vue 尚庭公寓实战】根据类型查询标签列表接口实现&#xff08;五&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】根据类型查询标签列表接口实现&#xff08;五&#xff09;1、查看接口2、进行开发 1、查看接口 启动项目 访问&#xff1a;http://localho…

快排(快速排序)的递归与非递归实现(文末附完整代码)

快排有几种不同的写法&#xff0c;下面一一来介绍并实现。其中又分为递归和非递归的写法&#xff0c;但大体思路相同&#xff0c;只是代码实现略有不同。(注&#xff1a;文章中的完整代码中&#xff0c;Swap()函数均省略未写&#xff0c;记得自己补充) 递归写法 递归的写法类…

手写kNN算法的实现-用欧几里德空间来度量距离

kNN的算法思路&#xff1a;找K个离预测点最近的点&#xff0c;然后让它们进行投票决定预测点的类型。 step 1: kNN存储样本点的特征数据和标签数据step 2: 计算预测点到所有样本点的距离&#xff0c;关于这个距离&#xff0c;我们用欧几里德距离来度量&#xff08;其实还有很多…

LangChain4j实战

基础 LangChain4j模型适配: Provider Native Image Sync Completion Streaming Completion Embedding Image Generation Scoring Function Calling OpenAI ✅ ✅ ✅ ✅ ✅ ✅ Azure OpenAI ✅ ✅ ✅ ✅ ✅ Hugging Face ✅ ✅ Amazon Bedrock ✅ ✅…

UltraScale+系列模块化仪器,可以同时用作控制器、算法加速器和高速数字信号处理器

基于 XCZU7EG / XCZU4EG / XCZU2EG • 灵活的模块组合 • 易于嵌入的紧凑型外观结构 • 高性能的 ARM Cortex 处理器 • 成熟的 FPGA 可编程逻辑 &#xff0c;基于 IP 核的软件库 基于 Xilinx Zynq UltraScaleMPSoC 的 FPGA 技术&#xff0c;采用 Xilinx Zynq UltraScale&a…

陆面生态水文模拟与多源遥感数据同化技术

原文链接&#xff1a;陆面生态水文模拟与多源遥感数据同化技术 了解陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用;熟悉模 型的发展历程&#xff0c;常见模型及各自特点;理解Noah-MP模型的原理&#xff0c;掌握Noah-MP 模型在单 站和区域的模拟、模拟结果的…

华为坤灵路由器配置SSH

配置SSH服务器的管理网口IP地址。 <HUAWEI> system-view [HUAWEI] sysname SSH Server [SSH Server] interface meth 0/0/0 [SSH Server-MEth0/0/0] ip address 10.248.103.194 255.255.255.0 [SSH Server-MEth0/0/0] quit 在SSH服务器端生成本地密钥对。 [SSH Server…