2

我有一个具有四种状态的统一状态机:左空闲、上空闲、下空闲和右空闲。

过渡

为了在这些状态之间转换,我必须创建 12 个转换。(白色箭头)。这看起来已经很笨拙了,但是现在我需要再添加 4 个状态:向上跑、向下跑、向左跑和向右跑。

这是否意味着我最终会在所有状态之间运行 8 个状态和 24 个转换?这对我来说似乎很笨拙。如果您以后需要更改某些内容怎么办?

我知道我可以通过代码进行转换,但这似乎不是推荐的工作方式。

animaor.Play("runningright");

与许多州合作的推荐方式是什么?

4

1 回答 1

2

正如@Uri Popov 所说,您应该考虑使用“混合树”。他们在那里是为了同样的目的。多个相似动画之间的帮助融合。例如,走路和跑步动画在某种程度上是相似的,它们取决于角色的移动速度。

查看以下链接以了解有关混合树的更多信息。这些只是基本的,但肯定会帮助您解决问题。

  1. Unity - 手册:混合树
  2. 混合树 - Unity 官方教程
  3. 何时使用混合树与状态机制作动画(gamedev.stackexchange 上的另一个问题)
于 2016-08-23T18:38:30.500 回答