我有一个条件 if then 语句运行,如果满足某个条件,我希望动画改变。出于某种原因,当它开始时,会播放正确的动画,但是当它改变时,动画不会改变。代码正在运行LateUpdate()
。我做了一个hack来测试动画的变化,它也不起作用。
我读过的所有内容都说要使用SetAnimation
,它会覆盖以前的动画,但这似乎不起作用。这是破解我想要的结果的代码。
rightCrowdMemberAnimation.state.SetAnimation (0, "idle_07", true);
if (Input.GetKeyDown (KeyCode.A)) {
rightCrowdMemberAnimation.state.SetAnimation (0, "yay_07", true);
}
谢谢您的帮助。
奇怪的是,在检查器中它说动画已经改变,但在视觉上它没有改变。
注意:这是我想要完成的。看来,LateUpdate
当我单击 A 时,它正在重置为空闲状态。我仍然不确定为什么它不会改变下面的动画。我认为 A 按钮技巧在执行上是相似的,但我想我错了。
void Start(){
Assume I did a random roll of color {red,blue,yellow}
}
真正的问题是
void LateUpdate(){
if (color = red) {
rightCrowdMemberAnimation.state.SetAnimation (0, "idle_07", true);
} else if (color = blue) {
rightCrowdMemberAnimation.state.SetAnimation (0, "idle_08", true);
} else if (color = yellow){
rightCrowdMemberAnimation.state.SetAnimation (0, "idle_09", true);
}
}
在检查器中,我想显示的动画就在那里。只是我正在调用的动画没有出现。