我在某些角色上使用这个脚本没有任何问题,但现在我有一个角色,在动画剪辑列表中找不到当前动画的哈希。
我不知道这个问题的原因可能是什么。
我认为我的代码绝对安全。
当前正在播放的动画的哈希值也不是0,当动画控制器播放不同的动画时,哈希值会发生变化。
有人知道为什么在没有找到散列的情况下会出现这种情况吗?
我的意思是当播放动画时,该动画必须在动画剪辑列表中,对吗?
非常感谢你的帮助!
private void pTellAnim()
{
AnimatorStateInfo stateInfo = _animator.GetCurrentAnimatorStateInfo(0);
int iCurrentAnimationHash = stateInfo.shortNameHash;
foreach (AnimationClip nClip in _animator.runtimeAnimatorController.animationClips)
{
int iHash = Animator.StringToHash(nClip.name);
if (iHash == iCurrentAnimationHash)
{
Debug.Log("Currently playing " + nClip.name + "\n");
return;
}
}
Debug.Log("Clip not found for hash " + iCurrentAnimationHash.ToString() + "!!!!\n");
}