虚幻——动画蓝图、状态机制作人物走跑跳动作
一、名词解释
序列——一段动作。
混合空间——混合不同的动作。将多个序列排序播放。
动画蓝图——根据状态播放不同的动画。
二、混合空间制作走跑动作
由于走和跑的动作比较连续,并且都是由速度控制,所以要把待机、走、跑这三个动作混合在一起。
1.创建混合空间
右键——动画——混合空间1D
选取对应骨骼
改名为“走跑”。
2.制作走跑动作
打开混合空间,在资产详情面板将水平轴名称改为“速度”,最大轴值改为500.
将待机、走、跑动画依次插入到轴中。
按住ctlr拖动就可以看到人物的动作变化。
混合空间就设置完了。
三、动画蓝图
1.创建动画蓝图
右键>动画>动画蓝图
选取对应骨骼。
2.添加状态机
拖拽“输出姿势”的“result”引脚,添加状态机。
3.添加走跑状态
双击状态机,拖拽“entry”添加状态“走跑”
点击“走跑”状态。
走跑姿势的切换是通过人物的速度,所以这里要对输出姿势输入值。
将右侧的混合空间“走跑”拖入并与输出姿势的“result”相连。
拖拽混合空间“走跑”的“速度”引脚,提升为变量“速度”。
接着我们要在事件图表栏中获取人物移动的速度,好将这个值传递给混合空间来控制输出的姿势。
打开事件图表,拖拽“事件蓝图更新动画”的执行引脚新建“?Is Vaild”函数——“尝试获取Pawn拥有者”的返回值与“?Is Vaild”的输入类型相连。
- ?Is Vaild——决定对象是否有效。也就是当玩家不受控制时,便无效。
拖拽“尝试获取Pawn拥有者”返回值新建函数“获取速度”(get velocity)
获取当前玩家的速度。
由于我们走跑混合空间的坐标轴的值是浮点数类型,而获取的速度是向量类型,所以要再转换一下。
拖拽“获取速度”的返回值,新建“向量长度”函数(vecot length)
按住ctrl拖拽“速度”变量与Is Vaild相连,“向量长度”返回值与速度引脚相连。
4.添加待机状态
双击状态机,在entry与走跑状态之间添加一个待机状态。
待机状态与走跑状态相互连接,因为两者需要相互切换。
我们还是通过速度变量来控制。
- 速度>10,切换为走跑状态。
- 速度<10,切换为待机状态。
A.待机—走跑
点击待机到走跑切换按钮。
按ctrl将速度变量拖入
拖拽速度引脚添加“大于”(>)函数,输入值10
大于函数执行引脚与结果函数相连。
B.走跑—待机
点击走跑到待机切换按钮。
按ctrl将速度变量拖入
拖拽速度引脚添加“小于”(<)函数,输入值10
小于函数执行引脚与结果函数相连。
5.添加跳跃状态
跳跃一共有三个状态:起跳、跳起、落下
跳跃与走跑状态的切换是根据人物是否处于“浮空”,因为会有提前取消跳跃的情况,而且这三个状态之间的切换条件都不同,所以不能直接将这三个动作混合,需要创建三个状态。
- 浮空,走跑——跳。
- 不浮空,跳起——落下。
- 播放时间<0.01,落下——走跑;跳——跳起(即播放下一个动作)
A.走跑—跳
点击走跑到跳。
拖拽can enter transition引脚提升为变量,改名为“是否跳跃”。
B.跳——跳起
输入跳动作,新建这个动作的“剩余时间”函数。
拖拽剩余时间返回值,新建小于函数,输入值0.01.
小于函数的执行引脚与结果函数相连。
C.跳起——落下
拖入“是否跳跃”布尔变量,连接“等于”(=)函数。
即为假时切换姿势。
用“不等于”(not Boolean)函数是一样的效果。
D.落下—走跑
落下动作的剩余时间函数,小于0.01时切换状态。
E.获取浮空状态
现在需要回到事件图表,获取人物当前的浮空状态,然后通过是否跳跃变量来控制状态切换。
拖拽“尝试获取Pawn拥有者”返回值,新建“获取移动组件”函数。
拖拽“获取移动组件”返回值,新建“正在掉落”(Is falling)函数
拖入“是否跳跃”变量并与“速度”变量的执行引脚相连,“正在掉落”的返回值与“是否跳跃”相连。
完整逻辑:
动画蓝图需要调整两个部分:状态机、事件图表。
状态机是三层嵌套:
1.状态树(跟行为树类似)
2.该状态动画
3.状态切换的逻辑关系状态切换时需要用一些变量来控制,这时需要在事件图表中连蓝图来将值输入进变量。
虚幻——动画蓝图、状态机制作人物走跑跳动作相关推荐
- UE4 虚幻引擎 Montage蒙太奇/动画蓝图状态机 踩过的坑记录
惯例先说两句 实在惭愧,和朋友一起做UE4从10月份就说好了,结果依旧拖到了寒假,然而毕设又来了. 第一关的锅我背了三个月还没做完,直到疫情被困在家必须好好干一把了(加油) 以下是在最近做一个简单的道 ...
- 虚幻四蓝图实战(人物切换汽车控制)
文章目录 前言 角色切换 角色控制权获取 画面过度 场景搭建 蓝图 函数 宏 调用(关卡蓝图) 演示 汽车控制 场景搭建 Player蓝图 上车 检测点 上车蓝图 下车 注意点 人物跟随 下车 类型转 ...
- 虚幻动画蓝图按层级的动画混合(layered)
每个骨骼的分层混合 Base POSE是基础的动画,下面的Blend Pose是要混合进来的动画 右边的骨骼名称为spine01,意思是包括他自身在内和他的子集的骨骼,都会遵循Blend Pose的动 ...
- 虚幻四蓝图实战(下车减速人物加速蓝图接口通信)
文章目录 前言 人物下车减速 油门 有效性 完整实现 人物加速 设置人物速度 获取人物前进方向 计算人物瞬移位置 视角移动 完整实现 接口通信 事件通信 通信使用 总结 前言 今天这个部分的内容可能有 ...
- Unity 从零开始的2D游戏开发 —— [Animator] 使用动画状态机制作简单动画
动画是一个2D游戏里面必不可少的一部分,使用动画可以实现很多意想不到的功能,除了常规的人物动画,还可以实现一些周期性的运动.接下来会尝试实现一个非帧动画,一个帧动画. 一.非帧动画:通过改变位置或拉伸 ...
- 关于UE5角色动画蓝图的基本操作(基础向)
1.在做角色蓝图动画前,首先需要有一个可操控的角色.操作方法如下: 新建Player文件夹-在其中创建关于世界设置的蓝图:GameModeBase.PlayerController.以 ...
- 虚幻动画 | 让角色动起来,实现一个简易的走、跑、跳状态机
本篇内容将简单介绍如何借助蓝图控制角色,利用现成的素材,从0到1实现一个简易的"走.跑.跳"状态机.目的是让新手更快速清晰地了解虚幻动画系统的运作流程,因此涉及到的内容也比较简单, ...
- unity人物旋转移动代码_游戏诞生之日02 - 美术篇 快速制作人物动画
在上一篇<游戏诞生之日01 - 美术篇 快速搭建和渲染游戏的第一个场景>里,我们得到了一个静态渲染的游戏场景. 接下来我们需要加入人物动画,为游戏注入活力. 第五块拼图 - 动画素材从哪里 ...
- 用状态机做人物(AI)的状态切换以及动画效果——人物动画以及切换
github: https://github.com/lucaschen1993/PRG_DEMO 前言 在之前写状态机文章的时候介绍过,基于事件与委托实现的状态机.这篇文章将介绍状态机的使用,以及人 ...
最新文章
- Datawhale面经项目来了!
- Android startActivityForResult
- shell错误 sed: can't read : No such file or directory
- 【集训队互测2015】最大异或和
- 转帖-Linux学习(Find命令使用实例)
- centos6,7的启动流程
- 模拟退火算法(TSP问题)
- java中的装箱及拆箱
- Android视频: YUV转RGB
- Python 下的数据结构实现
- jQuery 选择器、DOM操作、事件、动画
- 关于交流电路的谐振等问题
- 轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015
- STM32F446高性能MCU芯片介绍
- java高校选课系统博客,学生选课系统
- 骏飞H5幸运刮刮乐源码多级分佣+upupw直接架设+H5微信登陆公众号接入 管理员
- Downloaded file failed signature verification and may have been tampered with....
- 【mongo系列】 六、mongo分片集群
- STM32F103C8T6基础开发教程(HAL库)—开发环境配置
- 还可以这么玩:盘点iOS 11中Siri的12项新功能
热门文章
- ellipsize属性
- 常见色域基础知识与色域转换公式(YUV/YCbCr/YIQ/RGB/R‘G‘B‘/CMYK)
- C语言将一个十进制数转化为二进制
- ArcGIS 30mDEM数据空洞填补
- (机器学习)随机森林填补缺失值的思路和代码逐行详解
- 基于Java毕业设计东理咨询交流论坛源码+系统+mysql+lw文档+部署软件
- MYSQL复制表结构及数据到新表
- MySQL 密码设置
- linux开机自启任务和定时任务
- 如何用开源飞控PIXHAWK进行二次开发?