统一,C#。有一个带有动画器的模型,其中已经配置了动画状态和它们之间的转换参数。
我需要按特定顺序播放动画。要调用所需的动画,我只需要检查所需的参数:
GetComponent.<Animator>().SetBool("someparameter",true);
如何编写“当前动画结束时”的条件?我找到的所有选项要么是 about Animation
, not Animator
,要么太复杂,但我需要一种您可以快速理解和使用的简单方法。
统一,C#。有一个带有动画器的模型,其中已经配置了动画状态和它们之间的转换参数。
我需要按特定顺序播放动画。要调用所需的动画,我只需要检查所需的参数:
GetComponent.<Animator>().SetBool("someparameter",true);
如何编写“当前动画结束时”的条件?我找到的所有选项要么是 about Animation
, not Animator
,要么太复杂,但我需要一种您可以快速理解和使用的简单方法。
不是很清楚你想要什么,如果一个动画结束后你想切换到另一个,那么在 中设置状态之间的转换
Mecanim
。如果您需要捕捉状态退出的那一刻,您可以使用StateMachineBehaivour类,它只知道如何响应状态下的工作。该脚本挂在状态本身的 Mecanim 中。在动画器窗口中,选择所需的状态并在检查器窗口中为其添加适当的脚本,就像对舞台上的组件所做的那样。
它有一个GetCurrentAnimatorStateInfo
Animator
方法,可以获取有关指定 AnimatorController 层上当前状态的信息。也就是说,它返回AnimatorStateInfo所以值得使用它。反过来
AnimatorStateInfo
,有一个字段IsName
- 说明它是否与 中name
活动状态的名称相匹配statemachine
。结果可能是这样的:使用方法——需要指定层名、点、动画名:
要测试多个动画,您很可能必须将它们放在一个数组中并循环:
PS
GetCurrentAnimatorStateInfo
- 获取特定层的信息。因此,为了获取最基础层的信息,还是值得的GetCurrentAnimatorStateInfo(0)
。在其他层中,索引会自然变化。