虚幻4 动画系统概述

虚幻引擎提供了一套完整的动画设计系统,从基本的动画导入,到最后的人物动画控制,流程完善成熟,上手简单。下面先从宏观上介绍下UE4的动画系统,然后深入介绍几个功能模块。

一、整体介绍

下面这张图翻译自官方文档,它从整体上介绍了动画功能的来龙去脉,简单明了。

处于核心的是Pawn和Character蓝图,它相当于游戏玩家,包含可视化的人物骨骼、形象,它接收用户的输入,并让角色执行某种行为(如奔跑、跳跃)。值得注意的是,角色的动画和行为是分离的,即使没有指定角色的奔跑动画,角色也是可以“奔跑”的。指定角色何时播放何种动画的就是动画蓝图。

当角色蓝图没有指定动画蓝图时,角色依然可以“行走”和“跳跃”。

动画蓝图是一种专有蓝图,它从Pawn和Character蓝图获取当前角色的状态(如行走以及行走的速度,跳跃及跳跃的状态等等),并根据获得到的数据决定角色播放的动画。而动画蓝图中的事件图表是专门用来获取角色状态的, 动画图表是专门用来决定播放什么动画的,动画蓝图的决策依据就是状态机

在Character蓝图的 骨架网格组件 细节面板中可以指定当前角色使用的动画蓝图

状态机将动画整理为几个状态,每个状态代表了一种动画。状态机会不断的根据角色的状态去决定播放什么状态的动画,状态之间的转换依据叫做变换规则 Transition Rules。通过状态机去决定动画的播放可以极大的提高效率。

典型的状态机,状态以及变换规则。

二、下面完成一个基本的动画蓝图,控制角色奔跑。

首先在动画蓝图的事件图表中去不断获得角色当前状态,并存入变量中(speed)。

然后在动画图表中,右键选择新建状态机并连接上最终动画姿势。状态机类似于tick事件,会不断的执行,并时刻输出动画,最终应用的角色身上。

双击这个状态机,打开它,新建两个状态,Idle和Run。设置Idle为默认状态,连接Idle和Run状态,并指定转换条件分别为speed>10 和 speed <10。点开Idle和Run状态,分别拖入idle和run动画序列,连接最终动画姿势即可。

最后绑定动画蓝图到角色蓝图。效果如下。

三,其他概念

AnimationSequence(动画序列),最基本的一种动画资源,可以直接当做状态机的一个状态使用。

动画通知(AnimNotifies或通知),在动画播放的某个时刻发出通知,播放其他声音、特效等。

混合空间Blendspaces,将几个动画序列基于多个值进行混合,减少动画序列之间的转换工作,可视化的控制多个动画序列的转换。官方示例这里

AnimMontages动画蒙太奇,可视化的对动画进行组织和管理,简化流程。

逆运动学(IK),通过末端的结果来倒推其他关节的动画,如下所示。官方例子

Blend Nodes混合节点,在动画图表中通过节点混合动画,主要有:Apply Additive(应用叠加型姿势)、 Blend(混合)、Blend Poses by Bool(按布尔值混合姿势) 、Blend Poses by Int(按整型值混合姿势) 、Layered Blend Per Bone(基于每个骨骼的分层混合)等。 不同的混合节点通过不同的方法混合输入的动画。具体介绍见这里

Animation Retargeting将动画共享给其他模型,减少动画制作的成本。主要分为两种形式,一种是在骨骼相同的模型之间使用相同的动画,另一种是通过Rig这个中间件使得骨骼结构不同的模型得以使用共享的动画。

Root Motion根骨骼运动,角色基于骨架根骨骼动画的运动。如下所示。

上面这些概念比较多,但官方文档介绍的非常详细,可以慢慢跟着学一遍。

时间: 2024-10-10 10:18:39

虚幻4 动画系统概述的相关文章

从虚幻4动画系统与控制器交互理解数据驱动(一)古老的写法

游戏开发中古老的思想是认为,游戏是程序和数据来构成的,程序加载数据,并根据当前游戏的各种"状态"来调用对应的代码分支,由对应的代码分支来控制数据的使用,重要的数据之一就是动画.具体表现为,在游戏开发中对于动画会大量的使用状态机. 我们先看古老游戏的动画系统,在后面我们在讨论虚幻4的动画-- 一个古老的游戏动画库伪码大概是这样的: Class 动画数据 {     void 创建(动画数据文件路径)     void 释放()          void 播放()     void 绘制

虚幻4动画编辑器Persona脑图

(官网)虚幻3--UnrealScript 游戏流程

UnrealScript 游戏流程 UnrealScript 游戏流程 概述 启动动画 地图加载 入口地图 主菜单 加载画面 游戏启动 游戏初始化 PreBeginPlay PostBeginPlay 玩家创建 比赛开始 结束游戏 概述 其他学科程序员可能不熟悉虚幻引擎 3 中的游戏流程,或者只是不熟悉虚幻引擎 3 的工作原理.该文档的目的是概述游戏内部流程并强调一些用于加快该流程的重要函数,还可以使用它自定义游戏,使其符合您的需求. 事件的一般流程如下所示: + 初始化引擎 |--+ 引擎加载

虚幻4过场动画编辑器Sequencer脑图

(转)虚幻引擎3--Unreal角色技术指南

注: 转自UN官方网站,买书.下视频,到头来发现还是官方的免费Tutorial写得最好, 本文适用于熟悉UDK操作,想继续深入本质原理的读者~ 很好的说明了Pawn,Controller的关系,许多问题感觉茅塞顿开,故转之~~ 角色技术指南 使用2011 年 6 月的UDK版本进行了最后测试 角色技术指南 概述 Controllers(控制器) Controllers(控制器) Pawns和Possession(占有) Inventory(武器库) 运动和导航 相机/ 瞄准 Player Con

虚幻4 - ARPG实战教程(第一季)

在广受欢迎的的<虚幻4高速开发入门>视频教程之后.我收到了许多的反馈,当中大量的同学想要一个实战类的教程.于是,我花了一段时间准备之后,推出了新的一系列实战教程. 希望以深入浅出的方式.解说虚幻4引擎各个模块的实际使用方法.开发思路,以及相关知识拓展. 因为这一系列教程很庞大.所以会分为上.中.下三部来公布,敬请期待. 使用"开发人员头条"的同学.能够关注一下我的主题:http://toutiao.io/subjects/96671 课程相关资源下载:https://cod

3D动画制作流程

在游戏动画中,清楚每个环节的细节是很重要的,今天卡拉小编与大家分享的是3D动画制作流程.时代在进步,科技在创新,世界各领域已进入数字媒体信息化,数字3D动画逐渐成为科技行业发展中的中心支柱,近年来3D动画作为一项新兴产业不断地蓬勃兴起与飞速发展,新型3D动画也随之呈现出来. 3D动画所使用的领域也是越来愈多,如娱乐.教育以及军事等诸多领域.在影视广告制作方面,这项新技术能够给人耳目一新的感觉,因此受到了众多客户的欢迎.3D动画可以用于广告和电影电视剧的特效制作(如烟雾.下雨.光效等).特技(撞车

虚幻4蓝图编译剖析(二)

虚幻4编译相关术语和类图 虚幻引擎中的蓝图编译跟常规的程序编译多少是有一些不同的地方,但是基本原理是相通的.我们以普通的类蓝图为例,一个类中包含多个图,每个图中又可以包含一些子图.一个图会包含很多的节点(UEdGraphNode),每个节点可以包含若干引脚(UEdGraphPin)用来连接两个节点.节点又分为执行节点和纯节点(Pure node,上面没有执行引脚).还有一个模式类(UEdGraphSchema)用于验证语法是否正确等.类图如下所示: 图(UEdGraph) 虚幻4中许多其它的也是

初试虚幻4引擎感想

最近两天下载了虚幻4的源代码和编译好的环境,稍微尝试了下.没有深入研究,只是运行了几个Sample,看了看编辑器环境,甚至连c++代码都没有多看.所以并没有资格对这个世界上最先进的游戏引擎品头论足.不过由于不打算继续深入研究了,所以表达一下感想. 虽然对Unity已经比较熟悉了,但是真正接触虚幻4还是感觉力不从心.单单使用Unity的时候,感觉有很多坑,各种不爽,但是换了UE4,反而感觉Unity无论从编辑器界面还是代码框架设计都非常干净精简.从某种程度上说,Unity入门容易,上手快,并不仅仅