美文网首页
动画控制

动画控制

作者: APP4x | 来源:发表于2020-01-02 18:50 被阅读0次

    使用unity原生的animator的,
    直接使用最简化的animator,只把动画拖进去,通过代码控制切换

    因为做动画的人,会把所有模型的动画的名字都统一。
    Idle、Run、Attack01、Attack02、Attack03、Hitted、Dead
    预先定义这些状态,获取每个状态的时间
    通过遍历:

    AnimationClip[] animationClips = this._animator.runtimeAnimatorController.animationClips;
    

    获取到:

    animationClips[0].length
    

    比如Hitted后,需要自动回到Idle,添加一个定时任务,触发事件就是动画的时间

    切换状态采用 CrossFade

     this._animator.CrossFade(HASHNAME_RUN, NORMALIZED_TRANSITION_DURATION);
    

    优化:不直接使用字符串,减少Hash次数
    直接通过Animator.StringToHash,保存对应的Hash

    private static readonly int HASHNAME_DEAD = Animator.StringToHash(STR_DEAD);
    

    相关文章

      网友评论

          本文标题:动画控制

          本文链接:https://www.haomeiwen.com/subject/ogbooctx.html