子状态机与你 Sub-State Machine
角色的复杂动作通常由多个阶段组成。与其用一个状态来处理整个动作,不如分辨出各个阶段,并为每个阶段使用一个独立的状态。
—— Unity, Sub-State Machine
========== 施工中 ==========
本书信息
- 本书由 LIII Works 你亲爱的酒保K 完成
- 初次编撰时间:2024 年 9 月 14 日
- 适用水平:从未接触 / 初级 / 平均 / 高级 / 边缘
- 适用人群:尝试创造复杂系统,且充分理解状态机基本运行机制的开发者
- 所需前置知识
- 了解状态机的基本运行机制
- 分解和设计复杂系统的思维能力
本书在作者根据自身知识撰写并由人工智能优化可读性,内容可能出现错误,对你的 Avatar 进行任何操作前,确保你已经进行了备份。
什么是子状态机 Sub-State Machine
子状态机
Unity 的 Animator 中的子状态机(Sub-State Machines,SSMs)提供了一种结构化管理复杂动画系统的方法,通过将相关动画组合在一起。这种方法提高了 Animator Controller 的组织性,使得在项目发展过程中更容易管理和扩展动画工作流。子状态机允许开发者将动画组织成层级结构,通过将相关动画分组,简化了状态机,提高了可读性和可维护性。这对于具有大量动画需求的项目尤其有用,因为它们有助于将动画逻辑分区并简化管理。
子状态机非常适合组织大量相关动画,而动画层更适合用于独立地对不同身体部位进行动画处理,例如上半身射击时下半身走路。子状态机提供同一层内更高的组织级别,非常适合分组相关状态,而动画层则提供了对同时独立动画的控制。
注释:Animator (Controller):状态机 / 动画器
文件夹
你可以将子状态机视为一个状态的文件夹。将复杂的逻辑通过子状态机区分和分来来提高逻辑的可读性和可维护性。