AnimGraph 1.0.0 正式版
AnimGraph 1.0.0正式版现已发布。
AnimGraph提供一套可视化的动画图编辑系统,开发者可通过图形化界面构建、调试、运行动画逻辑流程,支持 Clip 播放、Pose混合、状态机控制及脚本参数驱动等功能。系统支持与团结引擎运行时深度集成,可通过 C# 脚本实时控制动画参数与逻辑,适用于游戏角色、虚拟角色等多种实时角色动画场景。
本次版本围绕编辑体验、动画混合与过渡、运行时控制和性能优化等方向进行了系统升级,带来全新的 AnimGraph 编辑界面,并进一步增强状态机、局部姿态控制、运行时动画切换以及大规模角色动画更新能力。
同时,AnimGraph 已完成对iOS、Android、OpenHarmony 和小游戏平台的适配,并新增 Package API 调用文档,为不同平台和开发工作流提供更加完整的支持。
下面将分别介绍 AnimGraph 1.0.0 中的主要新增与升级内容。
新增内容
全新的 AnimGraph 编辑界面
AnimGraph 1.0.0 对编辑器交互界面进行了全面更新。
![]()
全新的 AnimGraph 界面进一步强化节点之间的视觉层级与连接关系,提升复杂动画图的浏览与编辑体验。同时,State Machine Live Link功能也得到进一步完善,方便开发者在运行过程中观察状态机当前执行状态及切换关系。
新增 Aim Offset 节点
AnimGraph 1.0.0 新增Aim Offset节点,可用于角色瞄准、视线跟随等需要根据目标方向动态调整角色姿态的场景。
Aim Offset 可以根据混合参数对多个 Additive 动画进行混合,并将结果叠加到 Base Pose 上。目前提供两种使用模式:
Simple Mode:直接输入参数控制不同方向动画之间的混合;
Look At Mode:根据角色与目标之间的相对位置自动计算混合参数。
通过 Aim Offset,可以在保持角色基础动画的同时,根据目标方向动态调整上半身等局部姿态,为瞄准和方向跟随等动画表现提供更加直接的控制方式。
![]()
![]()
新增 Avatar Mask 与 Avatar Weight Mask 节点
AnimGraph 1.0.0 新增Avatar Mask与Avatar Weight Mask节点,为角色不同身体部位的动画控制提供更加灵活的遮罩能力。
-Avatar Mask 节点
Avatar Mask 用于控制指定骨骼是否采用输入姿势,可以理解为针对骨骼的“开关式”遮罩。
启用的骨骼采用Base Pose输入姿势;未启用的骨骼则使用默认参考姿势,或在启用Custom Reference Pose后使用指定的 Reference Pose。
此外,还可以在 Inspector 中将指定骨骼公开为Bool端口,在运行时动态控制对应骨骼是否应用输入动画。
该节点适用于仅播放上半身动画、临时关闭手臂或腿部动画等局部动画控制场景。
![]()
- Avatar Weight Mask 节点
Avatar Weight Mask 则进一步支持为不同身体部位或骨骼设置不同的混合权重。
权重为 0 时不应用 Base Pose,权重为 1 时完全应用 Base Pose,0~1 之间则按照对应比例应用输入姿势。
可以将指定骨骼公开为Float端口,在运行时动态修改对应骨骼的动画权重。
例如,可以分别控制左右手臂受到动画影响的程度,或让某一身体部位逐渐参与动画混合。
![]()
State Machine 动画过渡能力升级
AnimGraph 1.0.0 进一步增强 State Machine 中不同动画状态之间的过渡与组织能力,新增Blend Curve Mode和多种Blend Mode,并进一步扩展State Alias的使用范围。
- State Alias 能力扩展
State Alias 现在可以代理 State Machine Graph 中的任意 State,使多个状态能够共享统一的过渡关系。
对于包含大量状态和重复 Transition 的复杂状态机,可以通过 State Alias 减少重复连接和配置,简化状态机结构并降低维护成本。
- 新增 Transition 的 BlendCurveMode
Blend Curve 控制过渡期间目标 State 的 Pose(姿态)和 Root Motion(根运动)的权重随过渡进度的变化曲线。默认情况下,过渡权重按线性插值变化;通过 Blend Curve 可以选择 17 种不同的缓动预设或自定义曲线,实现更自然的过渡效果。
![]()
- 新增 Transition 的 BlendMode
可决定状态机过渡时源动画与目标动画的混合方式,提供 CrossBlend(同时播放、加权平均)、Inertialization(停止源动画、多项式衰减消除姿态差异)、DeadBlending(停止源动画、捕获速度后指数衰减外推并与目标凸组合)、FreezeBlend(冻结源姿态为静态、线性混合)四种模式。
![]()
四种混合模式的效果对比如下图所示:
![]()
运行时控制与性能优化
AnimGraph 1.0.0 进一步增强运行时动画控制能力,新增运行时 AnimationClip 切换和 Float 参数平滑过渡,使动画内容与参数能够更加灵活地响应游戏逻辑变化。
- Float Param 支持平滑过渡
Float 参数支持从当前值平滑过渡到目标值,减少参数瞬间变化带来的动画混合或状态变化突跳。
可用于移动速度、动画权重、Blend Tree 参数等连续数值的动态控制,使参数驱动的动画变化更加平滑。
- 支持运行时切换 AnimationClip
AnimGraph 支持在运行时动态切换 AnimationClip,使同一动画逻辑可以根据角色状态、装备或游戏逻辑替换实际播放的动画资源。
该能力适用于角色换装、武器切换、动作资源动态替换等需要在运行时调整动画内容的场景。
- 新增 UpdateFrequencyMode
Update Frequency Mode 控制 AnimGraphManager 的动画求值频率,提供 PerFrame(每帧求值)、FixedFrame(每 N 帧)、FixedTime(每 N 秒)三种模式。Skip 帧冻结时间推进,累加后在下一次求值帧一次性补入,不丢失动画总时长。通过 PhaseOffset 错开不同角色的求值帧避免帧率尖峰,通过 HoldLastPose 或 DelayedInterpolate 控制 Skip 帧的姿态输出。适用于角色密集场景中对背景角色分级降频,用可控的视觉精度换取 CPU 开销。
![]()
开发与扩展能力进一步完善
AnimGraph 1.0.0 新增面向 Package API 调用的相关文档,进一步完善代码侧的开发与扩展支持。
开发者可以结合 AnimGraph 提供的运行时 API,通过 C# 获取和控制动画图中的相关运行状态,更方便地将动画逻辑与 Gameplay 系统、工具链或自动化工作流进行连接。
- 新增 Script2Function 功能
AnimGraph 1.0.0 新增Script2Function功能,可将一段 C# 方法转换为可编辑的 AnimGraph Function 图,减少复杂逻辑逐个搭建节点的工作量。
简单用法:
打开 AnimGraph。
在Graphs面板右键Functions。
选择Add Function By Code。
粘贴一个完整的 C# 方法。
点击Compile,成功后会在 Functions 列表中生成 Function。

输入时只粘贴方法,不要包含 class 或 namespace,常见支持内容包括:变量、计算、if/else、for、while、foreach、方法调用以及 ref/out 参数。switch 条件目前主要支持 int、string 和枚举。
需要注意:
一次只能转换一个方法。
转换完成后,原始 C# 与 Function 图不会保持同步。
并非所有 C# 语法都支持,生成后应检查节点连接和运行结果。
Script2Function 只负责生成 Function 图;如果还要生成运行时代码,需要另外执行Generate Code。
快速开始
启用 AnimGraph
打开Project Settings > Player > TuanjieAnimation,勾选Add AnimGraph Package,启用 AnimGraph 功能。
创建 AnimGraph 资源
在Project窗口中右键,选择Create > AnimationGraph,在当前文件夹中创建新的 AnimGraph(.RootAsset)资源。
打开 AnimGraph 编辑器
双击创建的 AnimGraph 资源,或在Inspector窗口中点击Open,即可打开 AnimGraph 编辑器并开始编辑。
更多 AnimGraph 功能介绍与使用方法,可参考团结动画系统用户手册:
https://docs.unity.cn/cn/tuanjiemanual/Manual/Animation-whats-new.html
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.