代码之家  ›  专栏  ›  技术社区  ›  tmighty

在animationClips中找不到runtimeAnimationController哈希

  •  1
  • tmighty  · 技术社区  · 6 年前

    我在某些角色上使用这个脚本没有任何问题,但现在我有一个角色,在动画剪辑列表中找不到当前动画的哈希。

    我不知道这个问题的原因可能是什么。

    我认为我的代码绝对安全。

    当前正在播放的动画的哈希值也不是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");
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Foggzie    6 年前

    AnimatorStateInfo _animator.GetCurrentAnimatorClipInfo(0) ,并检查 AnimatorClipInfo .clip 所有物