unity3d IsTag()仅对运行带有该标记的动画时渲染的多个帧中的几个帧返回true

zc0qhyus  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(108)

我试图检查一个动画(使用SetTrigger(“”)启动)是否仍在运行或已完成。这些动画中的每一个都有“攻击”标签,但正在运行

animatorReference.GetCurrentAnimatorStateInfo(0).IsTag("Attack")

在动画播放的整个过程中,只在一小段时间内返回一次true(其余时间返回false),以及在动画结束时返回true。IsTag()函数是不起作用还是我忽略了一些东西?
我试过更改标记的名称以及手动散列字符串“attack”,但它仍然只返回“attack”的散列/每次运行动画时只返回一次true,即在动画结束时。

8fq7wneg

8fq7wneg1#

虽然我没有直接测试过,但合乎逻辑的是(你证明了我是对的),如果一个动画有一个过渡,并将两个动画混合在一起,它不一定要在一个动画的名称下。也不一定要使它达到100%,因为到那时它将过渡到下一个。

相关问题