AnimGraph 提供一套可视化的动画图编辑系统,开发者可通过图形化界面构建、调试、运行动画逻辑流程,支持Clip播放、Pose混合、状态机控制及脚本参数驱动等功能。系统支持与 团结引擎 运行时深度集成,通过C++脚本实时修改动画参数,广泛应用于虚拟人角色驱动场景。
AnimGraph系统分为AnimGraph(动画图)、EventGraph(事件图)、Function(函数)、StateMachine(状态机)四类图,这四类图有包含、依赖的关系,以AnimGraph为主,其他图辅助其运作。
需要在 Project Settings 中的Player项,找到最下方的 TuanjieAnimation 进行勾选,才可使用 AnimGraph 功能。
在 Project 窗口中,右键 Create -> AnimationGraph 选项卡,在所选文件夹中创建一个新的 AnimGraph (.RootAsset)资源。
RootAsset资产包括了EventGraph、AnimGraph、StateMachine、Function、参数等资源。
值得注意的是,点击资产,可以选择是否启用 EventGraph ,不启用则无法进行编辑 EventGraph 和 Function ,只能编辑 AnimGraph ,启用则全部可编辑。
点击 GameObject ,在 Inspector 中点击 AddComponent ,搜索 AnimGraphManager ,并选择,可得到相应的Component。
完成以上步骤后,一个新的 AnimGraphManager 组件已添加到 GameObject 上。在 Inspector 窗口中,点击 Graph 字段,可选中创建的 AnimGraph 资产并配置对应参数,也可以直接将之前创建的 AnimGraph 资产拖放到此字段中。
还有一种方法:从 Animator 的上方右键选择 Translate To AnimGraph ,可以转化为相应的 AnimGraph 及 AnimGraphManager。
由下图可知,原来的 AnimatorController 资产生成了一个同名的 AnimGraph 资产,二者在逻辑上是等效的。生成的 AnimGraph 资产使用了 AnimatorController 资产作为节点输出姿势,同时参数也会拷贝过去。