当前位置:首页 >学院新闻

动画系统究竟指的是什么?

脑洞君作者:脑洞君 发布时间: 2025-08-27 18:45:48 浏览量:0次

说明:文中所有的配图均来源于网络

01
什么是动画系统?

在游戏引擎里,动画系统(Animation System)扮演着至关重要的角色。它能让角色和物体随着时间推移,通过运动与视觉变化鲜活起来。原本静态的 3D 模型,经此系统处理,可化作能行走的角色、飘动的旗帜,或是能开合的门。

要让 3D 模型动起来,需在模型上绑定虚拟骨骼,构建起骨骼的层次结构。这些骨骼与模型网格紧密相连,其移动会促使模型网格变形。如此一来,我们便能操作骨骼,让模型摆出各种姿势,进而实现更丰富的动作。

游戏引擎为管理和应用这些动画提供了多样工具与功能。像骨架网格体和骨架,是动画的基础支撑;动画序列则记录着预先设定好的动作片段;动画蓝图等类似工具,能以可视化的方式编排动画逻辑;动画混合可让不同动画自然过渡;动画蒙太奇能组合多个动画片段;变形目标(Morph Target)可实现模型的局部变形。

以虚幻引擎为例,它拥有强大的骨骼网格动画系统,配备专门的编辑器和工具,如动画蓝图、动画蒙太奇和 Control Rig,助力创建复杂的动态角色动画。而且,它还在开发名为虚幻动画框架(UAF)的次世代系统,着重提升性能与模块化程度。

骨骼动画是 3D 模型动画制作的核心技术,它借助相互连接的“骨骼”层次结构,当移动模型网格时,“骨骼”随之变形,带动模型动作。

现代游戏动画并非简单播放预先录制的动作或动画序列。它运用复杂的逻辑、混合与程序技术,打造出动态且反应灵敏的角色动作,以契合游戏需求。尽管预先录制的动画序列是基石,但游戏引擎还需依靠动画蓝图、混合以及程序动画等复杂系统,让角色能对玩家的输入和不断变化的游戏世界做出令人信服的反应。

02
骨架网格体和骨架

在游戏引擎里,角色及复杂对象动画的核心要素是骨架网格体(Skeletal Meshes,也叫骨骼网格体)与骨架(Skeletons),它们是让静态 3D 模型能摆出姿势并实现动画的基础资产。

骨架网格体是角色或对象在游戏中呈现的可见 3D 模型,也就是我们实际看到的多边形网格与纹理,它如同动画实体的“皮肤”或“身体”。而与骨架网格体紧密相连的是骨架,确切地说是附加在骨架网格体上的骨架。骨架由相互连接的“骨骼”或“关节”构成分层结构,和真实骨架极为相似,这些骨骼充当着网格动画的控制点。当移动或旋转骨骼时,骨架网格体中与该骨骼“加权”的顶点会随之移动,进而使网格发生变形。

把网格顶点和骨骼关联起来,并明确每块骨骼对特定顶点影响程度的过程,叫做“蒙皮”,也叫“加权”或“权重绘制”。这一过程通常不会在游戏引擎内完成,而是在导入资产之前,借助外部 3D 建模和动画软件,像 Maya、3ds Max 或 Blender 等来操作。通过蒙皮,能让骨骼的运动精准地带动网格顶点的变化,从而呈现出自然流畅的动画效果,为游戏中的角色和对象赋予鲜活的生命力。

03
动画序列

动画序列(Animation Sequences)堪称游戏引擎动画系统里角色与物体运动的基石。它如同一个个独立的片段或文件,承载着骨架网格体的骨骼在特定时间段内的姿势与变换数据。

每个动画序列都代表着一个完整的独立动画,像角色的行走循环、待机时的姿势、奋力跳跃的动作,或是敌人的攻击姿态等。这些序列一般由动画师在外部 3D 软件中精心雕琢后,再导入游戏引擎。

在动画序列里,动画数据以关键帧(Keyframes)的形式留存。关键帧如同一个个精准的标记,记录下骨骼在特定时间点的位置、旋转以及缩放信息。游戏引擎则会在这些关键帧之间巧妙地进行插值处理,实现平滑过渡,生成中间帧,进而营造出连续运动的逼真效果。

不过,动画序列属于静态资产,并不具备游戏逻辑。其播放与组合需要依赖动画系统中的其他部分来掌控。以虚幻引擎为例,动画序列的播放和组合是由动画蓝图或者动画蒙太奇来负责的,如此才能让游戏中的角色和物体呈现出丰富多样的动态表现。

04
动画蓝图

动画序列为游戏动画提供了基础的原始数据,而动画蓝图(Animation Blueprints)则是让动画“活”起来的关键所在。它是虚幻引擎中一种专为动画逻辑打造的特殊蓝图类型。

动画蓝图借助可视化脚本界面,精准定义骨骼网格的动画状态与行为。它掌控着动画序列的播放、混合与修改方式,能依据游戏中的实时情况,创造出动态且反应灵敏的角色动画。

动画蓝图包含两种重要图表:事件图表和动画图表。在事件图表里,可处理各类事件,例如角色移动相关事件,并据此更新控制动画的变量,为动画变化提供触发条件。而动画图表则负责确定骨架网格体的最终姿势,它能够混合与结合不同动画序列,依据变量更新情况来决定输出的动画姿态,让角色动作更加丰富自然。

在动画图表中,众多动画节点可助力实现复杂动画行为,其中涉及状态机、混合空间、动画姿势相关节点等概念。动画状态机(State Machine)是动画制作常用系统,它能清晰定义各种不同的动画状态,以及角色在这些状态间转换的条件,就像为角色动画搭建了一个逻辑清晰的“交通枢纽”,确保动画切换流畅且符合逻辑。

05
动画混合

动画混合(Animation Blending)作为游戏动画系统中的基础技术,扮演着至关重要的角色,它能让不同动画状态或序列之间实现平滑自然的过渡。倘若没有动画混合,角色从一种动画状态(如行走)切换到另一种(如奔跑)时,动作变化将会显得突然且生硬,极大地破坏游戏的沉浸感与真实感。

动画混合的工作原理,是在短时间内对两个或多个动画的姿势进行插值运算。游戏引擎会依据混合“权重”或“因子”,通过混合来自不同动画的骨骼变换,来精确计算中间姿势。混合权重的范围通常设定在 0 至 1(或 0% 至 100%)。当权重为 0 时,意味着只有第一个动画对最终姿势贡献全部力量;权重为 1 时,则只有第二个动画发挥作用;权重介于两者之间,则会让两个动画按比例混合,从而呈现出丰富多样的过渡效果。

不同的混合类型有着各自独特的目的,以下是一些常见的混合方式:

交叉淡入淡出:这种混合方式常用于两个动画片段之间的平滑过渡。当动画 A 切换到动画 B 时,动画 A 的权重会逐渐从 1 降至 0,与此同时,动画 B 的权重从 0 增至 1。在过渡过程中,两个动画叠加播放,最终实现无缝切换。例如,角色从“站立”到“行走”的切换,通过交叉淡入淡出就能避免动作出现“跳帧”现象,让动作更加流畅自然。

混合空间:它是一种基于参数控制的多动画混合方式,常用于连续变化的动作。将多个动画按照参数分布到一维或者二维的空间中,游戏引擎根据实时输入的参数,计算空间中对应位置的动画权重,进而混合出符合当前状态的动画。比如角色跑步时,根据速度的快慢,系统会自动混合“慢跑”“中速跑”“快跑”动画;或者根据转向角度,混合“直行跑”“左转弯跑”“右转弯跑”等动画,使角色动作更加贴合实际情况。

分层混合:此方式将动画按照“基础层”+“叠加层”的结构进行组合。底层是核心动作,如“跑步”;上层是附加动作,即混合动作。例如站立挥手动画,上层动画仅影响特定骨骼(如上半身的骨骼),不会干扰底层整体运动。通过这种方式,可以实现边跑步边挥手的复杂动画效果。

叠加混合:它是将一个动画姿势与一个参考姿势的差异(Difference)叠加到另一个动画上,常用于对动画进行微调,如实现倾斜、瞄准偏移等细微动作变化。

过渡混合:这是特指动画状态切换时的混合,本质上是交叉淡入淡出的扩展,常与状态机的转换逻辑结合使用,确保动画状态切换更加自然流畅。

动画混合对于制作真实可信的角色动作至关重要。想象一下,在一款游戏中,你的角色能够做出各种丰富多样的动作。当角色正在奔跑,然后迅速停下并举起盾牌时,我们可以通过状态机的状态转换,使“奔跑”动画向“待机”或“停止”动画进行过渡混合。与此同时,利用分层混合技术播放上半身的“举盾”动画,而下半身仍在从奔跑状态中过渡或稳定下来,从而让角色的动作更加逼真、自然,为玩家带来更加沉浸式的游戏体验。

06
动画蒙太奇

动画蒙太奇是虚幻引擎等游戏引擎中极为强大的资产,为动画播放的合并与控制提供了灵活多样的方法。

简单来讲,动画蓝图负责管理角色的整体动画状态,像角色是处于行走、奔跑还是跳跃状态等。而动画蒙太奇则专注于播放特定、触发的动作,这些动作既能够中断当前正在播放的主动画,也可以叠加在主动画之上。例如前面提到的分层混合场景,挥手动画便可以借助动画蒙太奇来实现。

可以把动画蒙太奇看作是由多个动画组合而成的“动画包”。像角色的攻击组合动作、步枪换弹过程、角色被击中时的反应,或是某个特殊技能释放的动画等,都能包含其中。与在复杂的动画蓝图状态机中管理这些特定动作相比,动画蒙太奇能对这些动作进行更为精细的控制。

动画蒙太奇涉及片段、插槽、动画通知、混合控制等概念,此处暂不深入展开。它通常由游戏玩法的代码或蓝图触发,播放时能够接管指定插槽的动画。例如,当角色处于行走或奔跑状态(基础动画图表中的移动状态)时,一旦触发指定插槽的攻击蒙太奇,攻击动画就能顺利播放,让角色的动作表现更加丰富、自然。

07
变形目标-Morph Targets

在 3D 动画领域,实现方式丰富多样。骨架动画凭借其优势,在大范围、大规模的运动场景中表现出色,比如角色大幅度的奔跑、跳跃等动作。然而,当我们需要对网格顶点进行小范围精确控制时,骨架动画就显得力不从心了,此时变形目标技术便派上了用场。

变形目标(Morph Targets),有时也被称为混合形状(Blend Shapes),是一种独特的 3D 网格变形动画技术。它与骨架动画有着本质区别,骨架动画是依靠骨骼运动来带动网格变形,而变形目标则是直接对单个顶点的位置进行操纵。

其基本原理并不复杂。首先,创建一个基本网格,就像以人物脸部的中性表情作为基础模型。接着,再构建一个或多个“目标”网格,在这些网格中,通过移动顶点来塑造特定的变形效果,例如将脸部网格调整成微笑的模样,或是让眼睛闭合。

在游戏引擎里,我们可以灵活调整每个变形目标的“影响”或“权重”值,从而实现基本网格与目标网格之间的平滑“变形”或混合。当影响值为 0 时,变形目标不会产生任何作用;而当影响值达到 1(或 100%)时,网格就会完全变形,与目标网格的顶点位置完全一致。

变形目标技术在处理那些仅靠骨架动画难以达成或无法实现的精细变形时,具有无可比拟的优势。在游戏制作中,它最常见的应用场景便是创建逼真的面部动画,让角色能够生动地展现各种表情情绪,还能流畅地模拟说话时的口型变化。

由此可见,3D 动画并非全部依赖骨架来实现。骨架动画虽常见且适用于大规模运动,但变形目标技术对于特殊类型的变形,尤其是面部动画,是一项不可或缺的重要技术,它能对顶点位置进行精准把控,轻松实现面部表情、肌肉隆起等细微变形,而这些变形靠骨架动画来实现往往困难重重。

08
结语

以上对虚幻引擎动画系统中的几个核心概念进行了梳理。

从承载角色形态的骨架网格体、驱动运动的骨架,到记录单一动作的动画序列,再到凭借逻辑控制动画状态切换的动画蓝图,它们构成了动画系统的基础框架。此外,动画混合让动作过渡自然流畅,动画蒙太奇能灵活组合特定动作,变形目标则可实现面部表情等细节变化。

这些工具各司其职又紧密配合,共同赋予角色鲜活的生命力。对于初学者而言,初涉这些概念时或许会觉得有些复杂,但只要理清它们之间的内在联系,再通过多实践、多动手操作,就能逐步熟悉并掌握虚幻引擎的动画系统,为创作出精彩的角色动画奠定坚实基础。

END
火星时代教育 影视学院刘老师,为你解答

相关文章

×

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定