Skip to content

动画规范

注意

本篇为进阶内容,,需要您对 unity 引擎的AniamtorController 具有一定了解

简述

AIFriends 基于 unity 动画状态机驱动角色动画。您可以通过上传自定义动画和调整状态机深度定制角色的动作。

动画标准

AIFriends 的角色统一使用 Humanoid 动画标准, 所有用户自定义动画文件在使用前需要在Unity中统一转换为Humanoid

humanoid

自定义动画

AIFriends 允许用户上传自定义动画(Animation Clip)。

  • 动画应转换为 Humanoid
  • 动画应为单一动作切片,不能为循环
  • 需要保证state已挂载 Act behaviour脚本,并在ActName参数处填写动画的自然语言命名
  • 需要保证 transition 配置正确,可参考已存在的Act配置
  • 建议通过 动画配置工具新增自定义动画,可以自动完善上述步骤

AnimatorAct

自然语言命名

AIFriends 中的智能体伙伴借助大语言模型(LLM)分析对话与上下文,自动判断是否应该触发自定义动画。因此,为动画命名时应充分考虑其“自然语言描述性”和“意图明确性”,这两点对模型理解和正确触发动画至关重要。

最佳实践

  • 直接用简洁的短语准确描述动画,例如:后空翻、踢踏舞、捂耳朵、挥手告别、生气跺脚、开心跳跃等。
  • 命名语言应贴合实际日常表达,便于AI理解。例如:“向左转头”、“打招呼挥手”、“双手叉腰站立”。
  • 避免使用数字、代码或无实际意义的英文缩写(如“Anim_01”、“ActA”);应以中文或通用的自然语言表达动画含义。
  • 动作命名要具体,避免模糊描述,如“开心”可以细化为“开心微笑挥手”。

内置Parameters

下方列表包含 AIFriends 的全部内置参数,以及各参数的描述、类型和同步方式说明, 注意,所有内置Parameter均为只读,修改会导致角色无法正常动作

参数名说明类型
Interrupt用户打断AI时为TrueBool
ChatStateAI当前说话状态,有聆听,思考,说话几个状态int
NodAI听到用户声音后触发Trigger
ActAI触发自定义动作时为TrueBool
ActType自定义动作(1-n)int
IdleShow触发待机休闲动作Trigger
IdleShowType待机休闲动作 (1-n)Int
TalkType说话动作 (1-n)Int

沪ICP备2025124771号-1