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

news2025/1/3 11:22:45

展示了两个示例:在其中一个示例中,使用蓝图告知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.coloradmin.cn/o/1551402.html

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

相关文章

如何使用Excel创建一个物品采购表

在企业的日常运营中,物品采购是一个常见且重要的活动。有效的采购管理不仅可以确保企业及时获得所需物资,还可以控制成本、提高效率。Microsoft Excel是一个功能强大的工具,它可以帮助我们创建和管理物品采购表。本文将详细介绍如何使用Excel…

IDEA2023版本整合SpringBoot热部署

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…

【王道训练营】第3题 判断某个年份是不是闰年,如果是闰年,请输出“yes”,否则请输出“no”

文章目录 引言闰年初始代码代码改进改进1:添加提示信息改进2:代码格式改进3:变量命名 其他实现方式使用if-else语句使用函数使用三元操作符 结论 引言 在公历中,闰年的规则如下:如果某个年份能被4整除但不能被100整除…

Prometheus +Grafana +node_exporter可视化监控Linux虚机

1、介绍 待补充 2、架构图 待补充 Prometheus :主要是负责存储、抓取、聚合、查询方面。 node_exporter :主要是负责采集物理机、中间件的信息。 3、搭建过程 配置要求:1台主服务器 n台从服务器 (被监控的linux虚机&am…

洛谷_P3817 小A的糖果_python写法

P3817 小A的糖果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一开始有两个案例无法通过,然后看了一下测试案例发现其实是没有考虑到为0这个情况,因为如果为0那么无法吃掉任何一粒糖果,而按照之前的写法是到负数了,那后面的一个…

文献速递:基于SAM的医学图像分割---在医学图像中进行任何分割

Title 题目 Segment anything in medical images 在医学图像中进行任何分割 01 文献速递介绍 医学图像分割是临床实践中的关键组成部分,它促进了准确的诊断、治疗计划和疾病监测。 然而,现有的方法通常是针对特定的模态或疾病类型定制的&#xff0c…

穿越迷茫,寻找心中的灯塔

在人生的旅途中,我们有时会陷入一片迷茫的迷雾之中,不知道前方的路该如何走,每天似乎都在忙碌,却又感觉自己在假努力,仿佛一切都没有意义,没有目标。然而,正是这样的时刻,我们更需要…

16、OpenFeign和Sentinel集成实现fallback服务降级

注:本篇文章主要参考周阳老师讲解的cloud进行整理的! 1、需求说明 cloudalibaba-consumer-nacos-order83 通过OpenFeign调用 cloudalibaba-provider-payment9001 1、 83 通过OpenFeign调用 9001微服务,正常访问OK 2、 83 通过OpenFeign调用 …

zabbix监控vmware esxi

一、zabbix服务端配置 修改zabbix_server.conf配置文件 vim /etc/zabbix/zabbix_server.conf #######zabbix_server.conf底部第二行开始添加下面配置######## StartVMwareCollectors5 #StartVMwareCollectors - 预先启动Vmware collector收集器实例的数量。此值取决于要监控的…

阿里云CentOS7安装Hadoop3伪分布式

ECS准备 开通阿里云ECS 略 控制台设置密码 连接ECS 远程连接工具连接阿里云ECS实例,这里远程连接工具使用xshell 根据提示接受密钥 根据提示写用户名和密码 用户名:root 密码:在控制台设置的密码 修改主机名 将主机名从localhost改为需要…

react+vite+antD+reduce+echarts项目完整记录

reactviteantDreduceecharts项目完整记录 之前写前端项目,都是用的vue,从最开始的vue2到后来的vue3,断断续续写了3年,打包工具也从webpack转到了vite,全局数据管理工具从vuex转到了pinia。总体而言,vue3对…

msvcp100.dll是什么东西?电脑msvcp100.dll丢失的六种解决方法

最近,我在电脑上打开一款软件时,遇到了一个问题:找不到msvcp100.dll丢失问题,为了解决这个问题,我进行了深入的学习和研究,并在此分享msvcp100.dll丢失的解决方法。 一,msvcp100.dll是什么&…

机器学习:探索数据中的模式与智能

文章目录 导言介绍:机器学习的定义和重要性发展历程:从概念到现实应用 基础概念机器学习的基本原理监督学习、无监督学习和强化学习的区别与应用1.监督学习2.无监督学习3.强化学习 常见的机器学习任务和应用领域 结语 导言 当代科技领域中最为引人注目的…

HCIP的学习(6)

OSPF—开放式最短路径优先协议 动态路由的评判标准 1、占用资源 2、收敛速度 3、选路动态路由分类: IGP---内部网关协议DV型---距离矢量型---RIPLS型---链路状态型---OSPFEGP---外部网关协议OSPF---无类别的路由协议(携带真实掩码)组播224.0…

【C++初阶】之类和对象(下)

【C初阶】之类和对象(下) ✍ 再谈构造函数🏄 初始化列表的引入💘 初始化列表的语法💘 初始化列表初始化元素的顺序 🏄 explicit关键字 ✍ Static成员🏄 C语言中的静态变量🏄 C中的静…

Python入门练习 - 学生管理系统

Python 实现读书管理系统 """ 实现一个命令行版的读书管理系统 """ import os.path import sys# 使用这个全局变量,来管理所有的学生信息 # 这个列表的每个元素都是一个‘字典’,每 个 字典就分别表示了一个同学students …

STM32硬件I2C通信外设

文章目录 前言I2C硬件介绍10 位地址模式硬件I2C的引脚定义I2C框图主机发送序列图主机接收序列图 硬件I2C读写MPU6050总结 前言 本文主要介绍stm32自带的I2C通信外设,对比与软件模拟I2C,硬件I2C可以自动生成时序,时序的操作更加及时规范&…

【面试经典150 | 动态规划】三角形最小路径和

文章目录 写在前面Tag题目来源解题思路方法一:动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行…

7、鸿蒙学习-共享包概述

HarmonyOS提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSR都是为了实现代码和资源的共享,都可以包含代码、C库、资源和配置文件&#xf…

UI设计案例,B端后台界面设计教程

B端产品是为“组织”提供服务,以业务为中心,追求时效性,在视觉上,内容为王,视觉为功能让步,追求简洁、清晰、克制、理性的视觉风格。B 端产品业务比较复杂,页面内容也会较多,B端界面…