【问题标题】:How prevent large amount of transitions in unity state machine?如何防止统一状态机中的大量转换?
【发布时间】:2016-12-30 06:46:35
【问题描述】:

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

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

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

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

animaor.Play("runningright");

推荐的处理大量状态的方法是什么?

【问题讨论】:

  • 你可以考虑使用混合树。

标签: unity3d state unity3d-mecanim


【解决方案1】:

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

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

  1. Unity - Manual: Blend Trees
  2. Blend Trees - Unity Official Tutorials
  3. When to use a blend tree vs state machine for animations(gamedev.stackexchange 上的另一个问题)

【讨论】:

  • 谢谢,这节省了很多工作,我希望我早点知道:)
猜你喜欢
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多