求助大佬,attack1动作播放一半时。我直接设置切换到attack2动作。结果不生效。得等attack1动作播放完只会才播放attack2动作,如果我把图一的使用结束次数关了才可以被打断回到attack2动作。是不是bug呢?
本来就是这样设计的
这是因为,attack1->Blend1D有更高的优先级,因为你先创建了它,默认它会在所有过渡的最前面,如果要调整优先级,在attack1状态中,调整次序,将attack1->Blend1D的顺序拖到attack1->attack2的后面。
如图:选中一个状态,拖动【由此开始的过渡】中的过渡列表前面的灰色按钮(红框框选的部分)进行拖动,就可以调整顺序(优先级)。
感谢大佬回复,这样解决是可以的!但是理论上来说。即使attack1->Blend1D优先级高。但是我已经触发了第二个过渡条件了attack1-attack2了。应该是要过渡到我这个条件?而不是卡在attack1->Blend1D这个条件里。
目前解决了。看到是因为动画图优先级顺序问题
不是这样理解的,如果你在过渡中勾选了【使用结束次数】选项,那么这个状态过渡会至少让动画播放完才能进入到下个阶段。动画状态机就是这样的,要么你设置一个更高的权重,要么就只能按照他自己的优先级走。
2赞
明白了。感谢大佬指导!
我们假设这样一个环境。有状态节点A、B、C三个。
A->B的条件是:使用结束次数
A->C的条件是:使用Trigger变量
抛开顺序不说,如果有Trigger变量触发,走A->C,否则等结束次数条件满足,走A->B。这个符合正常逻辑需求。
加入顺序功能:A->B的优先级>A->C。这个时间有Trigger变量触发,但因为A->B的使用结束次数优先级更高,导致下面的A->C无法被触发。这个使用场景是什么,我想不到有这种需求。(目前引擎就是这种逻辑)
别想太多了,头发又要掉几根了


