UE4_官方动画内容示例1.2_动画蓝图——使用蓝图告知Actor播放动画

展示了两个示例:在其中一个示例中,使用蓝图告知Actor播放动画,在另外一个示例中,展示了告知Actor播放动画的动画蓝图(例如,此示例展示了如何将变量从蓝图传递给动画蓝图,并演示了如何将现有姿势混合到新动画中)。

一、相关知识点:

动画蓝图:动画蓝图是可视化脚本,可用于创建和控制复杂动画行为。

动画蓝图是专用蓝图,它控制骨架网格体的动画。你可在动画蓝图编辑器中编辑动画蓝图图表(你可以在这里执行动画混合,直接控制骨架的骨骼,或设置最终将定义每一帧要使用的骨架网格体的最终动画姿势的逻辑)。

动画蓝图创建:指导如何从骨架资源创建新的动画蓝图

1、

2、指定动画蓝图的目标骨架。选择一个骨架并单击 确定(OK) 

您还可以为动画蓝图选择一个 父类 以供使用。 大多数情况下,您不需要选择,而可以使用默认类。

动画蓝图编辑器:

具有与普通 蓝图编辑器 相似的功能,但是更适合于进行角色动画脚本编写。

使用动画蓝图:

动画蓝图中包含两个主要组件,它们配合工作,以为每帧 创建最终动画。具体来说, 事件图表 更新 动画图表 中所采用的数值,这些数值随后用于驱动状态机、混合空间或其它节点,实现多个动画序列或姿势之间的混合,从而能够向其它系统发出通知,并实现动态动画驱动效果。

(一)事件图表

基于事件的图表,用于更新动画蓝图和计算动画图表中使用的值。

每个动画蓝图都有单独的 事件图表 ,该图表是一个标准 图表 ,它使用一组与动画相关的特殊事件来初始化节点序列。事件图表最常见的用途是更新 混合空间 和其他混合节点使用的值,以驱动动画图表中的动画。

动画事件

动画系统调用各种事件来初始化和更新动画蓝图。您可以将它们放置在事件图表中以实现或覆盖功能。

蓝图初始化动画

当创建动画蓝图实例时,会执行一次 蓝图初始化动画 事件来进行初始化操作。

蓝图更新动画

每帧都会执行 蓝图更新动画 事件,使得动画蓝图可以针对它所需的任何值执行计算及更新。这个事件是事件图表更新循环的进入点。您可以从 DeltaTimeX 引脚获得自上次更新后所过去的时间量,所以可以使用它来执行时间依赖的插值或增量更新。

Delta Time X

输出自从上一次执行循环后所过去的时间量。

(二)动画图表(AnimGraph)

用于采样、混合和操控姿势的图表,通过动画蓝图将此类姿势应用到骨架网格体。

动画图表(AnimGraph) 用于评估当前帧的骨架网格体最终姿势。默认情况下, 所有动画蓝图都有动画图表,可在其中放入 动画节点 以采样动画序列,使用骨架控制执行动画混合或控制骨骼变形。 之后,逐帧将结果姿势应用到骨架网格体。

在动画图表中,可使用 事件图表(EventGraph) 或其他位置(如代码)中计算出来的值, 作为混合空间或其他混合节点的输入。当然,也可直接采样动画序列, 而无需特殊混合。利用动画图表还可使用 骨架控制直接修改骨骼位置、旋转和缩放。

执行流

所有图表的执行流均显示为图表节点上执行引脚间的脉冲链接。对于 常规图表,如蓝图的事件图表(EventGraph),由于此流依赖于事件触发, 因此其将在运行期间显示。由于执行流不基于事件,而逐帧评估,因此 动画图表的不同在于其始终显示执行流。

在动画图表(AnimGraph)中,执行流代表姿势从节点传递到另一节点。部分 节点(如 混合 )有多个输入, 可内部决定属于当前执行流一部分的输入。此决定通常取决于 外部输入,如传递给数据引脚的值。

在以下范例中,上文中的同一混合节点根据Alpha引脚的值(通常手动设置), 在其输入间切换执行流:

与Alpha 1.0混合 - 使用输入B

使用动画图表

动画图表通过计算节点图表进行工作。部分节点在一个或多个输入姿势上执行特定操作, 而其他节点则用于获取或采样其他类型资源(如动画序列、混合空间 或动画蒙太奇)。状态机包含自身图表网络,可存在于动画图表中,多个状态机则可混合起来生成最终输出姿势。 请参考以下所有链接,了解在动画图表情境下的作用。

  • 动画混合 - 使用不同混合节点进行完成。

  • 动画节点 - 用于在输入姿势上执行如混合、直接骨骼操控等操作。

  • 动画序列 - 可直接放入AnimGraph中驱动最终动画姿势。

  • 混合空间 - 可在AnimGraph中使用,以基于变量混合姿势。

  • 骨架控制 - 可直接用于驱动骨架内骨骼的节点。

  • 空间转换 - 可切换姿势在局部空间或组件空间内的节点。

  • 状态机 - 是一系列图表、规则和变量,可决定角色要进入的动画状态。

  • 同步组 - 可用于保留已同步不同长度的相关动画。

使用子动画蓝图实例

为不同角色创建动画蓝图时,经常需要使这些角色共享动画逻辑。 例如,假设你将物理动画或 AnimDynamics 应用给了一个角色,而且,你还希望将它应用给另一个角色。 使用 子动画实例(Sub Anim Instance) 节点,你可以创建对独立动画蓝图的引用,以在另一个动画蓝图中访问和包含其所有逻辑。

二、使用蓝图告知Actor播放动画操作步骤

1、新建Actor

2、双击打开,添加静态网格体组件。

3、选择网格体

4、创建材质

5、创建材质实例

6、更改材质

7、网格体构造函数创建动态材质实例

8、提升为变量

9、设置标量参数值

10、同样的结束设为0;

11、编译运行

靠近成功改变颜色,离开恢复。

知识点:接口快速入门指南

接口负责定义一系列共有的行为或功能,这些行为或功能在不同Actor中可以有不同的实现方法。当你为不同Actor实现了相同类型的功能时,适合使用此通信方法。

接口通信的一个常见应用场景是,为项目中的多个Actor实现某种通用行为。这些Actor类可以是门、窗、汽车等。每个Actor类都不同,并且在调用"打开接口(Open Interface)"函数时会执行不同的行为。

12、内容浏览器右键点击然后选择 蓝图(Blueprints) > 蓝图接口(Blueprint Interface) 。将接口命名为 BPI_Interact 

13、双击 BPI_Interact 将其打开。 在 函数(Functions) 列表下,将第一个函数命名为 Interact 编译(Compile) 并 保存(Save) 接口

你创建了接口并添加了函数 Interact 。任何实现此接口的Actor现在都可以添加此函数。

14、新建actor蓝图类,起个名字Interface_character。添加骨架网格体组件,细节面板选择,

15、点击菜单栏中的 类设置(Class Settings) ,然后导航至 细节(Details) 面板。

16、向下滚动到 接口(Interfaces) 部分,点击 添加(Add) 下拉菜单,然后搜索并选择 BPI_Interact 。 编译(Compile) 并 保存(Save) 蓝图。

17、转到 我的蓝图(My Blueprint) 选项卡下的 接口(Interf aces) 部分。右键点击 Interact 接口函数,然后选择 实现(Implement) 事件(event) 。你将会看到 Event Interact 节点显示在 事件图表(Event Graph) 中。

18、

编译(Compile) 并 保存(Save) 蓝图

19、回到BP_demo,添加变量引用Interface_character中的接口实现函数。编译(Compile) 并 保存(Save) 蓝图

20、把Interface_character拖入关卡,BP_demo的细节面板变量引用他。

21、回到BP_demo中,通过引用发出信息。

22、编译(Compile) 并 保存(Save) 蓝图,运行

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

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

相关文章

【LabVIEW FPGA入门】插值、输出线性波形

概述 NI 的可重配置 I/O (RIO) 硬件使开发人员能够创建自定义硬件,以在坚固耐用、高性能和模块化架构中执行许多任务,而无需了解低级 EDA 工具或硬件设计。使用 RIO 硬件轻松实现的此类任务之一是模拟波形生成。本教程介绍了使用 CompactRIO 硬件和 LabV…

【Unity】Plastic云同步总是password error

【背景】 Plastic是Unity的项目版本控制功能,可以方便在多个地点同步项目进度。原本用得挺爽的,结果今天遇到糟心事,明明Hub也正常登着,可Plastic的一个update的dll就是不停反复运行并报Password invalid。 【问题分析】 听说I…

简易版 RPC 框架实现 2.0 -netty实现

这一篇理解如果有难度,可能对netty不是很理解, 可以关注我netty专栏,还有另外一篇: 用 Netty 自己实现简单的RPC, 这一篇是学习netty的时候写的,更倾向于分析netty相关的知识, 今天我是学习dubb…

【每日算法】理论:常见AIGC模型; 刷题:力扣单调栈

上期文章 【每日算法】理论:生成模型基础; 刷题:力扣单调栈 文章目录 上期文章一、上期问题二、理论问题1、stable diffusion模型的网络架构2、T5的网络架构(Text-To-Text Transfer Transformer模型)3、SDXL模型4、DA…

基于FPGA的光纤通信系统的实现的优化技巧与方法

逻辑电路基本框架回顾 跨时钟域同步技术 读写操作相互独立时钟域 A 和 B 不需要一致的相位由专门逻辑控制读写操作的切换 高速数据的乒乓缓存技术

代码随想录(day7)——哈希表

Leetcode.454 四数相加Ⅱ: 454. 四数相加 II - 力扣(LeetCode) 对于本题,虽然使用四层循环嵌套可以解决,但是效率过慢,为,因此,可以将给定的四个数组,分成两组&#xff…

在服务器上配置源和安装anaconda

在服务器上配置源和安装anaconda解决无法import torch的方法: 一、在 anaconda上创建环境 1、创建环境 conda create -n yourname pythonx.x 2、查看环境 conda info --envs 3、进入环境 source activate your_env_name 4、退出环境 conda deactivate 5、…

程序计数器

程序计数器 JVM中的程序计数器(Program Counter Register)并非是广义上所指的物理寄存器,是对物理PC寄存器的一种抽象模拟 PC寄存器(程序计数器) PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。 它是一块很…

Adams Car——Adams car与Simulink联合仿真

1.修改悬架阻尼、刚度 ①先找到车辆悬架阻尼和刚度文件,这里以阻尼显示为例 ②修改阻尼曲线 找到对应车的文件 ③修改完后进行替换,刚度修改同理 2.转动惯量与车的质量修改

【晶振选型】VCTCXO TCXO 布线 参考

一、供电旁路电容 二、使能信号 三、输出的交流耦合 四、输出波形转换 五、压控滤波电容 最后 CTS的是真不错,1K可是-140啊

Linux---基本操作命令之用户管理命令

1.1useradd 添加新用户 root用户:/root 普通用户:/home/ 创建的用户还是david,只是在dave文件夹下 1.2 passwd 设置密码 给用户tony设置密码: 123456 1.3 id 查看用户是否存在 查看有没有这个用户:id 名字 gid:用…

Spring MVC文件下载配置

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 文件下载 在Spring MVC中通常利用commons-io实现文件下载,示例代码如下: Controller RequestMapping("......") public class DownloadC…

外卖项目:使用AOP切面编程实现增删改查的操作日志记录(debug断点调试)

文章目录 一、问题描述二、问题分析三、断掉调试四、代码展示 一、问题描述 需求:将项目中增、删、改相关接口的操作日志记录到数据库表中。 操作日志信息包含: 操作人、操作时间、执行方法的全类名、执行方法名、方法运行时参数、返回值、方法执行时…

MySQL数据库基本操作和管理

目录 一.MySQL数据库基本操作 1.SQL分类 (1)数据库:database (2)表:table,行:row 列:column (3)索引:index (4&…

Linux网络编程: TCP协议首部与可选项简述

一、TCP/IP五层模型 物理层(Physical Layer):物理层是最底层,负责传输比特流(bitstream)以及物理介质的传输方式。它定义了如何在物理媒介上传输原始的比特流,例如通过电缆、光纤或无线传输等。…

python中字典相关知识点总结

1.字典的定义 字典:在Python中,字典是一系列键-值对。每个键都与一个值相关联,程序员可以通过键来访问与之相关联的值。 实际举例: student{name:xincun,age:18} 通过实例我们可以发现,键-值对是两个相关联的值。指…

CodeWhisperer插件

一、前言 产品官网地址:What is CodeWhisperer? - CodeWhisperer Amazon CodeWhisperer 是一个通用的、由机器学习驱动的代码生成器,可实时为您提供代码建议。在您编写代码时,CodeWhisperer 会根据您现有的代码和注释自动生成建议。您的个…

机器人路径规划:基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

mysql 数据库 增删改查 基本操作

目录 一 SQL 详细介绍 (一)SQL 分类 (二) SQL 语言规范 (三)数据库对象和命名 1,数据库的组件(对象): 2,命名规则: (四) SQL…

使用Python查找字符串中包含的多个元素

目录 一、引言 二、基本字符串操作 使用in关键字查找子字符串 使用循环和条件判断查找多个子字符串 三、使用正则表达式进行高级搜索 导入re模块 使用re.search()查找单个模式 使用re.findall()查找多个模式 四、案例与代码 五、优化与扩展 六、总结 一、引言 在Py…