复杂动画的实现往往需要大量代码控制,同时要有精细的骨骼绑定与动作设置,需要复杂的技术与操作。但在团结引擎 1.7.0_preview 版本起,更新的动画系统基于原有框架,引入动画节点编辑器(AnimGraph)、骨骼程序化绑定编辑器(RigGraph)、逆向运动解算与骨骼重定向(IK & Retarget)三大核心功能,颠覆传统工作流,实现可视化节点动画编辑、IK、动作迁移等新功能,更好赋能开发创作者,使用团结引擎实现节点式的动画制作。
新功能关键特性介绍
AnimGraph(动画节点编辑器)
告别代码堆砌,通过节点拖拽实现复杂动画逻辑:
不同于以往的代码控制动画的触发、顺序、混合等,AnimGraph 采用节点图编程范式,通过图形化界面构建、调试、运行动画逻辑流程,能够在可视化界面上支持 Clip 播放、Pose 混合、状态机控制及脚本参数驱动等功能。
同时支持引入多种类型参数,可根据需要自定义图表行为,实现动画的灵活控制。
可视化的动画节点编辑器用于控制节点化的动画功能编辑和动画节点的执行顺序。
Eventgraph & Function Graph 可视化的脚本编辑用于各种事件响应,控制动画参数和动画执行逻辑。
支持自定义的节点反射为 Node 到 Graph 中使用,在 ProjectSettings 中添加需要反射的脚本,即可使用自定义节点,同时不会产生大量无用节点反射,做到方便管理节点
Playable 系统作为 Unity 的底层动画框架,团结引擎的动画系统以 Playable 为核心单元,通过节点化层级,原子化操作实现动画的组合、混合与控制,突破传统状态机限制,支持灵活构建复杂动画逻辑。
而 AnimGraph 在此基础上,采用可视化节点的方式进行上述的原子化操作,优势显著:可自由组合细粒度单元,灵活构建复杂动画;能精准控制单个 Playable 属性,实现细腻表现;按需创建 Playable 节点,优化性能;便于单独调试,提升复用性,降低复杂动画实现门槛。
团结引擎的 Graph 系统中,Statemachine 每个 State 对应独立 PoseOutput ,支持更灵活的状态 Pose 编辑。这意味着一个 State 可以更高维度地融合角色Pose,不仅仅为传统的 clip 和 blendtree,大大增加了可操作的空间。
这种高维度融合突破传统层级限制,各维度动画可独立调整权重,既保持运动连贯性,又实现细节丰富的复合动画效果,大幅提升表现力与开发效率。
动画功能节点举例
- Constraints Node
Constraints Node(约束节点)在 AnimGraph 中通过位置、旋转、缩放等约束把一个骨骼实时对齐到目标;常用于装备附着、道具跟随、IK 对齐,减少武器动画制作工作量。
- Apply Additive Node
Apply Additive Node 提供了一种新的动画叠加模式,将设定为 additive 模式的动画与选定的一帧静态姿态做差值,将该变化量叠加到另外一个 base 动画上,以实现提取动作语义并应用动作语义的效果。
- BlendTree Node 资产化
BlendTree Node 资产化提供了创建资产、使用资产、保存资产等使用方式,可以实现同一个 BlendTree Node 在多个角色上的资产复用。
- Mirror Node
基于通用骨骼的动画镜像节点可以在运行时将角色动画进行镜像,提升动画资源复用效率。
RigGraph(骨骼程序化绑定编辑器)
基于图编程范式的新绑定系统
和 AnimGraph 类似,RigGraph 同样采用节点图编程范式,通过连接可视化节点来组织动画逻辑,直观呈现构建角色运动控制流程。
RigGraph 使用逆向解算控制器运动+前向解算骨骼运动,允许用户快速将自己的动画转拆解成 Rig 动画,并根据用户想要的效果进行控制器微调,RigGraph 同时允许单独编辑角色肢体动画,实现角色快速姿势调整。
RigGraph 允许开发者通过默认 Rig 预制件或空白 Graph 开始自定义动画逻辑,通过在 ScriptGraph 中自定义绑定逻辑并链接对应节点,支持实时编辑调试,让骨骼绑定、IK 约束等逻辑设计,对比传统绑骨方式更加直观高效。
RigGraph 包含了多种工作流,用户可以使用这些工作流进行多组件协作,例如使用 timline 录制动画,使用 animator 快速编辑角色动画效果,使用 animgraph 制作程序化动画等。
新增的基于人型(Humanoid)的高级骨骼绑定解决方案:
RigGraph 新增了人型角色资产通用模板,可智能识别角色身体部位,实现对人型角色肢体的快速绑定,用户只需要简单的操作就可以让自己的角色获得一套高级骨骼绑定。
新增的人型角色资产通用模板包含了 IK/FK 等多种控制方式,用户可以通过切换他们来实现对角色的独特控制与使用。
和 AnimGraph 类似,RigGraph 同样采用节点图编程范式,通过连接可视化节点来组织动画逻辑,直观呈现构建角色运动控制流程
![]()
独特的 CodeGenerate 系统可将蓝图自动转化为可使用 burst 编译的高性能代码,既保留蓝图可视化的灵活易用性,又解决了传统蓝图运行效率问题,实现绑定逻辑开发效率与运行性能的完美平衡,大幅降低角色骨骼绑定的技术门槛与优化成本。
![]()
在节点图当中执行
![]()
Generatecode后执行
IK & Retarget(骨骼逆向运动解算与重定向)
跨角色动作快速迁移,完美解决不同比例角色的动作适配难题:
团结引擎的 Retarget 系统支持运行时重定向角色骨骼行为,能快速将现有动画迁移到其他角色,无需复杂的骨骼配置与肌肉调整。无论角色体型、骨骼结构差异如何,系统可自动匹配对应骨骼运动,保留动画精髓,大幅降低跨角色复用动画的成本,提升资产利用率与开发效率。
根据客户需求新增 PlayableGraph API
新增AnimationStream的Api:
用于访问和修改动画驱动骨骼的位置、旋转和缩放,可以通过骨骼名称直接获取或设置来自动画评估流程上游的骨骼姿势信息
https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/Animations.AnimationStream.GetBonePosition.html
新增 AnimationPlayableOutputExtensions 和 Animator 的 Api:
用于预设运行时所需的 AnimationClip,避免在运行阶段切换 SourcePlayable 时触发 Rebind
https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/Experimental.Animations.AnimationPlayableOutputExtensions.SetSourcePlayableWithoutRebind.html
https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/Animator.SetupAnimationClipsUserCache.html
新增 AnimationClipPlayable 的 Api:
用于自定义PlayableGraph中的AnimationClipPlayable开启或关闭WriteDefaults,以使已绑定但本帧未从 AnimationClip 取值的属性使用默认值或上一次评估值
https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/Animations.AnimationClipPlayable.SetWriteDefaultValues.html
1.点击菜单栏,Editor -> Project Settings
2.Player -> Other Settings 当中勾选 Add AnimationGraph Package 和 Add RigGraph Package
3.运行测试场景查看项目
⚠️注意事项
尽量避免同时打开同一个角色的 Animator 和 AnimGraph
接下来,团结引擎仍会不断优化、增强动画系统的功能,继续往“模块化”“智能化”发展,进一步拓展功能边界,为开发者与创作者带来更高效、更自由的动画创作体验。基于 AnimGraph、RigGraph 以及 Retarget 三大新功能模块,继续优化 Graph 系统性能,实现更加流畅、高效的工作流;不断加强骨骼识别算法与动态约束推理能力,增强骨骼的适配度;增加更多类型节点,提供更多、更灵活的动画创作选择。
更多使用指南:
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.