网易首页 > 网易号 > 正文 申请入驻

从技能连招到非线性编排:团结引擎动画蒙太奇能力升级

0
分享至

在角色动画系统中,受击、技能、连招等临时性、突发性的动态动画表现往往需要随时插入,并与待机、移动或其他基础动画平滑衔接。

在 Mecanim 动画系统的 Animator 中,如果使用状态机实现这类效果,通常需要为每个临时动画单独创建状态,并配置进入和退出过渡。随着动画数量不断增加,状态节点和过渡连线也会越来越复杂,状态机很容易变成难以维护的“蜘蛛网”。


为简化临时动画的组织、播放与混合,团结引擎 1.10 版本的 AnimGraph 新增了 Slot 节点与 ClipLine 资产。同时,Timeline 1.7.7-t1 进一步提供 AnimGraph Track、BlendTree Playable Asset 和 Sections 等能力,扩展 Timeline 的动画内容与流程编排方式。

这些能力分别面向两类动画工作流:

  • Slot 与 ClipLine:适合由玩家输入或游戏逻辑动态触发的受击、技能和连招;

  • Timeline:适合对角色动画、镜头、特效和音频等内容进行可视化编排,并控制完整演出流程。

下面将分别介绍这两类能力。

一、通过 Slot 与 ClipLine 播放动画

架构概述

Slot 系统由三个层次组成:

  • 执行层:通过 C# 脚本或 ScriptGraph(Function / EventGraph)中的执行节点触发播放,指定目标 Slot 名称。

  • 动画混合层:SlotManager 管理所有 Slot 实例,每个 Slot 是一个独立的混合通道,由 Slot Name 标识。Slot 节点是 Slot 在 AnimGraph 中的锚点,负责将 Slot 的输出接入动画图。

  • 数据层:ClipLine 定义了要播放的动画片段、过渡参数和事件。

Slot 节点:将临时动画接入 AnimGraph

在 AnimGraph 编辑器中右键,选择AnimationNode → Slot Node即可创建。Slot 节点有一个Default Motion输入端口,用于连接基础动画(如 Locomotion);当没有活跃片段时输出该姿势,有活跃片段时与之混合。输出端口 Pose 即混合后的最终姿势。

每个 Slot 都可以理解为一条独立的动画播放通道,并通过 Slot Name 进行标识。系统默认提供 "DefaultSlot",开发者也可以根据需要创建多个 Slot,例如分别控制角色的全身动画和上半身动画。

多个 Slot 节点可以引用同一个 Slot Name,复用同一份动画结果;也可以使用不同的 Slot Name,构建相互独立的动画通道。


ClipLine 资产:组织动画内容与播放事件

Slot 节点播放的动画内容、过渡参数和事件都由ClipLine来定义。

ClipLine 是 Slot 系统的数据载体,它既可以是独立的 ScriptableObject 资产,也可以作为内联数据(ClipLineData)直接嵌入执行节点或脚本中。

一个 ClipLine 由一个或多个SlotRow组成。每个 SlotRow 对应一条独立的播放轨道,用于指定目标 Slot 和待播放的动画片段;淡入淡出、速度、循环和事件等设置则由 ClipLine 统一管理。



Sections(段落):跳转与循环

除了按顺序播放片段,ClipLine 还支持通过Sections将时间轴划分为多个逻辑段落,实现段落间的跳转和循环控制。例如,可以将一套攻击动画划分为起手、一段攻击、二段攻击和结束等 Section,再根据玩家输入控制后续跳转,实现连招衔接或提前结束。


ClipLine 事件系统

在动画播放过程中,往往需要在特定时间点触发 VFX、音效或逻辑回调。ClipLine 提供了两种事件类型来满足这一需求:

-ClipLineEvent(点事件)

ClipLineEvent 会在时间轴上的指定时间点触发一次,适合执行一次性操作。内置类型包括调用 AnimGraph Function、调用 UnityEvent(仅场景 Inspector 可用)和通过 SendMessage 向 Owner GameObject 发送消息。


如果内置类型无法满足需求,可以通过继承ClipLineEvent 并实现 Trigger(AnimGraphManager manager) 方法来创建自定义点事件,在触发时间点执行任意逻辑。

-ClipLineRangeEvent(范围事件)

有些效果需要在动画的某一段时间内持续生效,而非触发一次就结束。ClipLineRangeEvent在一段时间范围内持续生效,并提供 OnEnter、OnUpdate 和 OnExit 生命周期,适合攻击判定窗口、持续 VFX、音频或临时 Prefab 等场景:


ClipLine 内置了音频、Prefab、Particle System、Visual Effect Graph、AnimGraph Function、UnityEvent 和 Send Message 等常用事件类型,无需编写额外代码即可直接配置。

与 ClipLineEvent 类似,ClipLineRangeEvent 也支持自定义。


执行节点:触发播放的入口

前面介绍了 Slot 节点的混合机制和 ClipLine 的数据结构,那么如何在运行时触发播放?这就要用到执行节点

执行节点是 ScriptGraph(Function 或 EventGraph)中的节点,用于在运行时向 Slot 发送播放指令。SlotManager 负责处理混合逻辑,动画的出口在 AnimGraph 中的 Slot 节点。

-Play Clip via Slot 节点

最简单的触发方式,播放单个 AnimationClip。适合不需要事件、不需要多片段序列的场景。


-Play ClipLine 节点

当需要播放多片段序列、触发事件或同时驱动多个 Slot 时,使用 Play ClipLine 节点。它会遍历 ClipLine 中的所有 SlotRow,将每一行播放到其 SlotName 对应的 Slot。


-Stop 节点

停止指定 Slot(或所有 Slot)中正在播放的片段,触发淡出过渡。对于循环动画片段或禁用了 Blend Out 的片段,这是唯一的停止方式。


示例展示

在实际使用中,可以通过玩家输入触发 Play ClipLine,将攻击动画发送到指定 Slot,并通过 Slot 节点接入 AnimGraph。ClipLine 中的 Sections 可以控制连招段落之间的跳转,ClipLineEvent 和 ClipLineRangeEvent 则可以同步触发攻击判定、VFX、音效和其他游戏逻辑。

二、Timeline 动画与流程编排

AnimGraph Track:Timeline 兼容与功能扩展

使用 AnimGraph Track 需要团结引擎Timeline 1.7.7-t1版本。

除了通过 ScriptGraph 触发 Slot 播放,开发者还可以使用 AnimGraph Track,将 Timeline 中编排的动画接入 AnimGraph。

AnimGraph Track 继承自 Animation Track,使用方式与标准 Animation Track 基本一致,但绑定对象由 Animator 替换为 AnimGraphManager。通过设置 Slot Name,还可以复用 Slot 系统,让 Timeline 动画继续参与 AnimGraph 内的混合和后续处理。

AnimGraph Track 支持两种播放模式:

  • 普通模式:Slot Name 为空时,由 Timeline 直接播放动画;

  • Slot 模式:设置 Slot Name 后,Timeline 动画会被发送到对应 Slot,再通过 Slot 节点接入 AnimGraph。

在 Slot 模式下,AnimGraph Track 处于活动状态时,其动画会与 Slot 节点的 Default Motion 按权重混合;Track 不活动时,Slot 节点继续输出 Default Motion。如果 Default Motion 未连接,则输出默认姿势。

-使用 Slot 模式

1. 前提条件:AnimGraph 主图中存在 Slot 节点,且 slotName 已设置

2. 创建 AnimGraph Track:在 Timeline 中点击 "+" 按钮,选择AnimGraph Track,绑定到 AnimGraphManager

3. 设置 Slot Name:选中 AnimGraph Track,在 Inspector 中设置 Slot Name,值必须与 Slot 节点的 slotName 一致

4. 添加动画剪辑:在 AnimGraph Track 上添加 Animation Playable 资产

5. 运行:播放带有 TimelineAsset 的 PlayableDirector

BlendTree Playable Asset:在 Timeline 中使用混合树

标准的 Animation Playable Asset 一次播放一个 AnimationClip。但在实际使用中,有些动画并不适合被拆成多个独立的 Timeline Clip。例如,在过场动画中使用不同的相机视角或角色效果等。如果将每一种混合结果都单独编排到 Timeline 中,不但会产生大量 Clip,也很难在运行时根据参数动态改变混合结果。

为此,AnimGraph Track 增加了对 BlendTree Playable Asset 的支持。它允许用户直接在 Timeline Clip 中配置并播放 BlendTree,不需要额外创建 Animator Controller。例如 Idle–Walk–Run 或二维方向移动,可以使用 BlendTree Playable Asset。

在 AnimGraph Track 上鼠标右键,选择 Add Blend Tree Playable Asset,即可创建一个新的 BlendTree Clip。


选中该 Clip 后,可以在 Inspector 中看到与 Animation Playable Asset 类似的基础设置。不同之处在于,它不直接引用单个 AnimationClip,而是通过Edit BlendTree按钮进入 BlendTree 编辑界面。

其中,BlendTree 由对应的 BlendTree Playable Asset 自行管理,不需要额外创建或拖入外部 BlendTree 资产。

编辑完成后返回 Timeline,修改结果会同步到用于播放的数据,并刷新 Timeline 中的对应内容。


点击 Edit BlendTree,进入对应的 BlendTree 编辑界面。在这里可以添加 AnimationClip、设置混合类型、调整阈值或二维位置,也可以继续嵌套子 BlendTree。

  • Simple 1D 显示 ParameterX,适合使用一个参数控制待机、行走和奔跑等动画。

  • 2D BlendTree 显示 ParameterX 和 ParameterY,适合根据方向、速度等两个参数混合动画。

  • 如果 BlendTree 中嵌套了子 BlendTree,子树中的参数也会显示在面板中,并带上对应的 BlendTree 名称。


配置好 BlendTree 的结构之后,还需要设置参数值,BlendTree 才能计算每个子动画的混合权重。

BlendTree Playable Asset 会在 Inspector 中显示 Blend Parameters:

当前 Blend Parameters 面板暂不支持编辑 Direct BlendTree 中每个子动画的直接权重。使用 Direct BlendTree 时,Inspector 会显示对应提示。

修改参数后,Timeline 会立即使用新的参数重新计算混合结果,方便在编辑过程中预览动画表现。


Timeline Sections:扩展 Timeline 的播放流程

Timeline Sections 为 Timeline 增加了分段、跳转与循环能力。开发者可以通过 Timeline Section Track,将一条 Timeline 划分为多个 Section,并通过Next Section设置各段落之间的播放关系。


每个 Section 以 Marker 的形式标记段落起点。当前 Section 播放结束后,可以:

  • 停止播放;

  • 跳转到指定 Section;

  • 跳转回自身形成循环。

多个 Section 还可以组成线性流程、共享公共节点,或在运行时根据逻辑切换播放路径。这样,Timeline 不再只能从头到尾线性播放,而可以根据演出逻辑组织为可跳转、可循环的段落结构。

Timeline Section Track Inspector 会以链路形式展示所有 Section 及其连接关系,方便开发者查看和修改播放流程。Track 还支持分别设置编辑器预览与运行时循环。


对于只应播放一次的剧情过门或转场,可以启用Play Once。该 Section 完整播放并跳转后,再次被解析时会自动跳过。


总结

团结引擎 1.10 版本新增的 Slot 节点与 ClipLine 资产,为 AnimGraph 提供了更加灵活的运行时动画播放能力。

通过 Slot 节点,开发者可以按需插入受击、技能和连招等临时动画,并完成与基础动画之间的平滑过渡;ClipLine 则进一步将动画片段、过渡参数、Sections 和事件组织成可编辑、可复用的数据资产。

Timeline 1.7.7-t1 则进一步扩展了可视化动画编排能力。AnimGraph Track 可以将 Timeline 动画接入 AnimGraph,BlendTree Playable Asset 支持在 Timeline 中直接创建和播放混合树,Timeline Sections 则让完整演出能够根据运行逻辑进行分段与跳转。

从运行时技能与连招,到包含角色动画、镜头、特效和音频的 Timeline 流程编排,这些新增能力进一步扩展了团结引擎的动画组织与播放控制方式。

Unity 官方微信

第一时间了解 Unity 引擎动向,学习进阶开发技能

每一个“点赞”、“在看”,都是我们前进的动力


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
他是四野一流名将,1955年被授予上将,为何后来职务却一直不高?

他是四野一流名将,1955年被授予上将,为何后来职务却一直不高?

历史龙元阁
2026-08-13 16:30:16
日本议员吐槽中国游客“连草莓屁股都不吃”太浪费!一年后更用中文喊话:不欢迎中国人!

日本议员吐槽中国游客“连草莓屁股都不吃”太浪费!一年后更用中文喊话:不欢迎中国人!

东京新青年
2026-08-13 19:19:43
60岁巩俐上海活动!穿透视衣涂大白唇气场全开,松弛又霸气太绝了

60岁巩俐上海活动!穿透视衣涂大白唇气场全开,松弛又霸气太绝了

小疯子耶
2026-08-14 06:04:56
大瓜!许家印昔日恒大奢靡细节流出,丁玉梅海外包养30岁白人小伙

大瓜!许家印昔日恒大奢靡细节流出,丁玉梅海外包养30岁白人小伙

壹月情感
2026-05-09 00:00:07
乌克兰前线官兵求救视频引发关注

乌克兰前线官兵求救视频引发关注

参考消息
2026-08-13 14:32:07
日本发现出事了,中国航母不对劲:这是前所未有的最大战略性挑战

日本发现出事了,中国航母不对劲:这是前所未有的最大战略性挑战

风流女汉
2026-08-14 15:02:47
周星驰破例接受TVB专访,刘嘉玲当面追问“为何不演了”,全场反应亮了

周星驰破例接受TVB专访,刘嘉玲当面追问“为何不演了”,全场反应亮了

易象君
2026-08-13 00:15:04
记者:范德芬的高薪合同太扯了,罗梅罗是坎贝尔后最羞耻队长

记者:范德芬的高薪合同太扯了,罗梅罗是坎贝尔后最羞耻队长

懂球帝
2026-08-14 12:46:06
沈腾不忍了,两招给贾冰出了口窝囊气,难怪郭德纲从不参加饭局

沈腾不忍了,两招给贾冰出了口窝囊气,难怪郭德纲从不参加饭局

小武侃风云
2026-08-14 07:26:38
WTT瑞典大满贯:王艺迪再输张本美和!国乒已失2冠,诞生双打4强

WTT瑞典大满贯:王艺迪再输张本美和!国乒已失2冠,诞生双打4强

漫川舟船
2026-08-14 06:03:52
售价22.99万元起,别克新GL8陆尚正式上市

售价22.99万元起,别克新GL8陆尚正式上市

澎湃新闻
2026-08-14 12:13:03
80年代家喻户晓的女演员,嫁给军委副主席儿子,离婚后混得如何?

80年代家喻户晓的女演员,嫁给军委副主席儿子,离婚后混得如何?

新一说史
2026-08-05 23:17:22
振奋人心!国产EUV光源功率达245瓦,可能已经开始量产

振奋人心!国产EUV光源功率达245瓦,可能已经开始量产

林子说事
2026-08-13 01:46:53
菲律宾用水泥焊死仁爱礁破船,但他们没想到:中国已看清背后的局

菲律宾用水泥焊死仁爱礁破船,但他们没想到:中国已看清背后的局

墨兰史书
2026-08-14 05:20:05
她29岁中央委员、37岁省委书记,41岁主动到县里任职

她29岁中央委员、37岁省委书记,41岁主动到县里任职

数字化看世界
2026-05-31 17:37:58
巴萨第3次报价!7000万欧求购罗德里+不再提价,曼城爱卖不卖

巴萨第3次报价!7000万欧求购罗德里+不再提价,曼城爱卖不卖

体育知多少
2026-08-14 06:58:53
官方公布:居民存款总额高达174万亿!人均存款12万,普通人为啥还不敢花钱?

官方公布:居民存款总额高达174万亿!人均存款12万,普通人为啥还不敢花钱?

渔夫说事
2026-08-13 15:05:05
毛主席追悼会四个“没想到”,华国锋罕见发怒,李讷:太遗憾了

毛主席追悼会四个“没想到”,华国锋罕见发怒,李讷:太遗憾了

文史季季红
2026-08-14 07:25:03
被折磨两小时死不出声!28岁母亲以命换女儿安睡

被折磨两小时死不出声!28岁母亲以命换女儿安睡

今日搞笑分享
2026-07-07 08:35:17
破亚洲青年纪录!全国田径锦标赛:小孩姐陈妤颉11秒08百米摘金

破亚洲青年纪录!全国田径锦标赛:小孩姐陈妤颉11秒08百米摘金

全景体育V
2026-08-13 21:14:56
2026-08-14 16:36:49
Unity incentive-icons
Unity
Unity中国官方帐户
2502文章数 6735关注度
往期回顾 全部

科技要闻

DeepSeek大招:开发者狂喜 普通人用不明白

头条要闻

老人被撞身亡肇事车仅有交强险 司机当庭称没能力赔偿

头条要闻

老人被撞身亡肇事车仅有交强险 司机当庭称没能力赔偿

体育要闻

离开雷霆后,威少再也没成为威少

娱乐要闻

郭麒麟瘦到全网认不出,为新剧塑形

财经要闻

黄仁勋正在加速AI泡沫破裂!

汽车要闻

越野/新能源/豪华全覆盖 成都车展重磅新车前瞻

态度原创

教育
房产
旅游
时尚
军事航空

教育要闻

最好的教育,从来不是讲道理,而是……

房产要闻

金茂、招商,海南多个岗位招人!

旅游要闻

“蜜都”饶河:今年以来俄罗斯游客出入境人数同比增长约75%

这4种版型的牛仔裤,真的很好穿!

军事要闻

特朗普下令美海军弃用电磁弹射系统 改回蒸汽弹射

无障碍浏览 进入关怀版