返回介绍

子状态机

发布于 2021-06-19 18:03:25 字数 1749 浏览 1036 评论 0 收藏 0

角色有多个包含一系列步骤的复杂动作,这种现象非常常见。不是用单一状态处理整个动作,而是确定独立步骤并针对每个步骤使用单独的状态,这样做是有意义。例如,角色可能会有一组称为“花巧射击 (Trickshot)” 的动作,在该组动作中角色会蹲下来稳定瞄准、射击,然后再站起。


“花巧射击 (Trickshot)”动作中的状态顺序

尽管出于控制目的,这样非常有用,但不利之处是状态机会随着更多复杂动作的添加而变大、变笨拙。您可以用编辑器中的空白空间将状态进行直观分组,以简化一些事物。但 Mecanim 通过让您在状态机图表中将一组状态折叠成单一指定项,相比之前方法进一步简化。这些折叠的状态组称为子状态机 (Sub-state machines)。

可右击“动画器控制器 (Animator Controller)” 窗口中的空白空间,然后从上下文菜单选择“创建子状态机 (Create Sub-State Machine)”,来创建一个子状态机。子状态机在编辑器中用细长的六边形表示,以与正常状态区分开来。


子状态机

双击六边形时,编辑器将清空,以便编辑子状态机(就像它本身是一个完全独立的状态机)。窗口顶部的条形将显示“浏览路径记录”,以指明当前正在编辑的子状态机(请注意,您可以在其他子状态机中创建子状态机,等等)。点击记录中的项目,会让编辑器以该特殊子状态机为重点。


"浏览路径记录"

外部转换

如上所述,子状态机只是将一组状态直观折叠进编辑器的一种方式,所以,当您在子状态机上进行转换时,必须选择希望连接的状态。


在“花巧射击 (Trickshot)” 子状态机中选择目标状态

您会注意到,子状态机中额外出现了一种状态,其名称以“可用 (Up)” 开头。


"可用 (Up)" 状态

可用 (Up) 状态代表“外部世界” - 在视图中围住子状态机的状态机。如果您向可用 (Up) 状态添加子状态机中的状态转换,系统会提示您选择一种要连接到的封闭机状态。


连接到封闭机中的一种状态

(返回 状态机 (State Machines) 简介

(返回 Mecanim 简介

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文