阿赵UE学习笔记——24、动画播放控制

阿赵UE学习笔记目录
  大家好,我是阿赵。
  继续学习虚幻引擎的使用。关于UE的动画系统,之前学习了很多,包括动画合成或者动画蒙太奇等,实际上最后得到的都是一个动画片段。那么这些动画片段,是需要怎样播放控制呢?这里先学习一下不借助动画状态机的播放,下一篇再学习动画状态机的用法。

一、单个动画的自动播放

  这个实际上不需要学,因为直接把动画片段从内容浏览器里面拖到场景,就会自动播放了。这种一般就是在场景里面需要摆放一个需要循环播放的动画物件,就可以这样做。
在这里插入图片描述

二、基于动画组件的播放

  如果需要简单的控制动画的播放和停止,可以试试直接把场景里面的动画对象拖到蓝图里面,然后在后面的接口拖出节点搜索,搜索“播放”或者“play”,可以看到有直接播放的函数:
  这里截图了3种不同的类型,分别是序列动画、角色蓝图和蒙太奇动画:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  可以看出,不论是哪种类型的对象,拖进来之后都可以找到直接播放动画的方法。既然有播放动画的方法,当然也会有停止播放的方法了:
在这里插入图片描述

  所以完整的写一个debug用的键盘控制动画停止和播放的蓝图会是这样的:
在这里插入图片描述

  这里定义了一个isPlaying的布尔变量,当按下键盘的0键时,会改变isPlaying的值,然后根据isPlaying是否为true,来决定现在的动画是需要播放还是暂停。

三、蒙太奇的播放

  蒙太奇动画,比起一般的动画片段和动画合成,他多了一些特殊的东西在里面。所以在控制播放的时候,也会有专门的方法。这个播放蒙太奇动画的函数节点叫做Play Montage
在这里插入图片描述

  类似于上面的直接控制动画,我也连接一个按键盘1键可以控制动画播放和暂停的逻辑:
在这里插入图片描述

  可以发现,相比于普通的动画播放,蒙太奇是可以指定播放速率,可以指定从某个位置开始播放,甚至可以指定某个蒙太奇片段开始播放。
  特别是指定从某个蒙太奇片段开始播放,这个是非常有用的。蒙太奇片段的播放顺序是可以编辑的,也就是说,可以通过从不同的片段开始播放,得到不同的结果。
  举个小例子。比如我一个蒙太奇的片段里面有一个站立动画,有一个倒地站起的动画。如果正常情况下,站立动画是自己循环的,而倒地动画的下一步是会连接站立动画的。那么在需要从倒地状态站起来的时候,可以通过播放蒙太奇的倒地站起片段,那么动画播放完起身后,会自动的切换到站立循环动画了。
  然后可以留意的是,在这个播放蒙太奇的节点后面,还可以出发很多不同的情况。根据这些情况可以写不同的逻辑去做后续的处理。比如我们在时间轴上面加了标签,就可以触发不同的后续事件了。

  稍微做点小变化,我加了一个playSpeed的浮点变量,然后写了一个按键盘2键就会增加playSpeed的小功能。结合着刚才的播放逻辑,那么我现在就可以做到,按0控制左边的纯动画播放和停止,按1控制右边的蒙太奇播放和停止,按2键可以加速蒙太奇动画的播放速度。好像一个简简单单的小动画游戏就出来了。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

babyAGI(6)-babyCoder源码阅读2任务描述部分

废话不多说,我们直接看task的prompt 这里需要注意的是,每个openai_call的temperature都不相同,这也是开发程序时需要调整和关注的一点 1. 初始化代码任务agent 作为babycoder的第一个angent,整个prompt编写的十分值得学习 整个p…

Taro多行文本最多展示5行,超出“查看更多”展示,点击弹层

Taro中,页面需求: 多行文本,展示最多展示5行,超出5行,展示“查看更多”按钮,点击弹层展示文本详细信息。 弹层代码就不说了,着重说一下怎么获取区域高度~ 1.区域设置max-height&am…

ArcGIS Pro打不开Excel?Microsoft驱动程序安装不上?

刚用ArcGIS pro的朋友们可能经常在打开xls或者xlsx文件的时候都会提示,未安装所需的Microsoft驱动程序。 怎么办呢?当然,按照提示装一下驱动就会好吗?有什么状况会出现?有什么临时替代方案呢? 全文目录&a…

为什么要选择第三方软件测试机构?CMA、CNAS第三方软件测试机构推荐

第三方软件测试机构是独立于软件开发方和软件使用方的中立机构,致力于对软件产品进行全面、客观、专业的测试和评估,为软件开发方和使用方提供全面的技术支持和服务。 一、为什么要选择第三方软件测试机构   1、专业性强:拥有专业的测试团…

程序员的认知风格与思维特点

1 程序员的认知风格与思维特点 程序员的认知风格与思维特点,是他们在编程过程中展现出来的独特 目录 1 程序员的认知风格与思维特点 1.1 逻辑思维与抽象思维能力 1.2 空间思维与模式识别能力 1.3 系统思维与问题分解能力 1.4 案例与数据 1.5 总结 2 逻辑思…

实验4-10:判断IP地址的有效性

实验4-10:判断IP地址的有效性 输入一个IPv4格式的IP地址,判断地址的有效性。 IPv4格式的地址由4组十进制数构成,数据由句点间隔,每组数据的范围介于0~255之间。 例如: 202.118.11.24 为有效IP地址, 而 202…

QT实现windows下获取CPU、内存及磁盘信息

一.目的 QT代码实现windows下获取CPU、内存及磁盘信息。 二.代码实现 1.获取CPU和内存信息 #include <Windows.h> // 获取CPU信息 SYSTEM_INFO systemInfo; GetSystemInfo(&systemInfo); qDebug() << "CPU Architecture:" << (systemInfo.wP…

基本电路理论-电流和电压的参考方向

&#x1f308;个人主页&#xff1a;会编程的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 电流及参考方向 电流&#xff1a;带电粒子有规则的定向移动 电流强度&#xff1a;单位时间内通过导体横截面的电荷量&#xff0c;即&#xff1a;idq/dt 单位&#xff1a…

Vue3_2024_7天【回顾上篇watch常见的后两种场景】完

随笔&#xff1a;这年头工作不好找咯&#xff0c;大家有学历提升的赶快了&#xff0c;还有外出人多注意身体&#xff0c;没错我在深圳这边阳了&#xff0c;真的绝啊&#xff0c;最尴尬的还给朋友传染了&#xff01;&#xff01;&#xff01; 之前三种的监听情况&#xff0c;监听…

C# 委托与事件 终章

C# 委托与事件 浅尝 C# 委托与事件 深入 委托 委托有什么用&#xff1f; 将函数作为函数的参数传递声明事件并用来注册 强类型委托 Action<T1> Func<T1, TResult>事件 希望一个类的某些成员在发生变化时能被外界观测到 CollctionChangedTextChanged 标准.Ne…

【Qt 学习笔记】Qt 背景介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 背景介绍 文章编号&#xff1a;Qt 学习笔记 / 01 文章目录 Qt 背景…

CSS面试题---基础

1、css选择器及优先级 选择器优先级&#xff1a;内联样式>id选择器>类选择器、属性选择器、伪类选择器>标签选择器、微元素选择器 注意&#xff1a; !important优先级最高&#xff1b; 如果优先级相同&#xff0c;则最后出现的样式生效&#xff1b; 继承得到的样式优先…

Vue3 组合式函数Composables

简介 “组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。 我们可以把一些可以复用的逻辑封装成组合式函数放到js文件中&#xff0c;在vue文件中通过import来使用这些逻辑&#xff0c;使vue文件更瘦&#xff0c;逻辑更清晰。 一个小栗子…

.[nicetomeetyou@onionmail.org].faust勒索病毒数据怎么处理|数据解密恢复

引言&#xff1a; 在数字化日益普及的今天&#xff0c;网络安全问题已成为人们不可忽视的挑战。其中&#xff0c;勒索病毒作为一种极具破坏性的恶意软件&#xff0c;已多次在全球范围内制造了重大危机。其中&#xff0c;名为.[nicetomeetyouonionmail.org].faust、[support202…

Sora可能会改变我们的思维方式

当经济学家评估生成式人工智能对人类工作的影响时&#xff0c;教育家也有自己的担忧&#xff0c;毕竟在写作、答疑等领域&#xff0c;AI所展现的能力已经令许多人类望尘莫及&#xff0c;学者们可能有这样的思考&#xff1a;散文是否会继续主导人类的交流和论证。 社交媒体和新闻…

基于Scala开发Spark ML的ALS推荐模型实战

推荐系统&#xff0c;广泛应用到电商&#xff0c;营销行业。本文通过Scala&#xff0c;开发Spark ML的ALS算法训练推荐模型&#xff0c;用于电影评分预测推荐。 算法简介 ALS算法是Spark ML中实现协同过滤的矩阵分解方法。 ALS&#xff0c;即交替最小二乘法&#xff08;Alte…

2024年最新github之Go语言开源项目top50排行榜项目

如果有帮助到您还请动动手帮忙点赞&#xff0c;关注&#xff0c;评论转发&#xff0c;感谢啦&#xff01;&#x1f495;&#x1f495;&#x1f495;&#x1f618;&#x1f618;&#x1f618; 本文由Butterfly一键发布工具发布 2024年最新github之Go语言开源项目top50排行榜项目…

4.2 JavaWeb Day05分层解耦

三层架构功能 controller层接收请求&#xff0c;响应数据&#xff0c;层内调用了service层的方法&#xff0c;service层仅负责业务逻辑处理&#xff0c;其中要获取数据&#xff0c;就要去调用dao层&#xff0c;由dao层进行数据访问操作去查询数据&#xff08;进行增删改查&…

Java面试题:解释Java泛型的主要用途,并说明泛型擦除的概念。

Java泛型&#xff08;Generics&#xff09;的主要用途是提供一种编写可重用且类型安全的代码的方法。它们允许在编程时使用类型参数&#xff0c;这些类型参数可以在运行时被具体的类或接口替换。泛型的主要优点包括&#xff1a; 类型安全&#xff1a;泛型编译时会进行类型检查…

如何通过docker安装seata

在现代分布式系统中&#xff0c;保证数据一致性和事务的原子性是非常重要的。Seata 是一种开源的分布式事务解决方案&#xff0c;为分布式系统中的事务管理提供了可靠的支持。通过 Docker&#xff0c;我们可以轻松地部署和管理 Seata&#xff0c;从而简化了部署流程。本篇博客将…