动画规范
注意
本篇为进阶内容,,需要您对 unity 引擎的AniamtorController 具有一定了解
简述
AIFriends 基于 unity 动画状态机驱动角色动画。您可以通过上传自定义动画和调整状态机深度定制角色的动作。
动画标准
AIFriends 的角色统一使用 Humanoid 动画标准, 所有用户自定义动画文件在使用前需要在Unity中统一转换为Humanoid

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

自然语言命名
AIFriends 中的智能体伙伴借助大语言模型(LLM)分析对话与上下文,自动判断是否应该触发自定义动画。因此,为动画命名时应充分考虑其“自然语言描述性”和“意图明确性”,这两点对模型理解和正确触发动画至关重要。
最佳实践
- 直接用简洁的短语准确描述动画,例如:后空翻、踢踏舞、捂耳朵、挥手告别、生气跺脚、开心跳跃等。
- 命名语言应贴合实际日常表达,便于AI理解。例如:“向左转头”、“打招呼挥手”、“双手叉腰站立”。
- 避免使用数字、代码或无实际意义的英文缩写(如“Anim_01”、“ActA”);应以中文或通用的自然语言表达动画含义。
- 动作命名要具体,避免模糊描述,如“开心”可以细化为“开心微笑挥手”。
内置Parameters
下方列表包含 AIFriends 的全部内置参数,以及各参数的描述、类型和同步方式说明, 注意,所有内置Parameter均为只读,修改会导致角色无法正常动作
| 参数名 | 说明 | 类型 |
|---|---|---|
Interrupt | 用户打断AI时为True | Bool |
ChatState | AI当前说话状态,有聆听,思考,说话几个状态 | int |
Nod | AI听到用户声音后触发 | Trigger |
Act | AI触发自定义动作时为True | Bool |
ActType | 自定义动作(1-n) | int |
IdleShow | 触发待机休闲动作 | Trigger |
IdleShowType | 待机休闲动作 (1-n) | Int |
TalkType | 说话动作 (1-n) | Int |
