当前位置:   article > 正文

unity Animator 同时播放两个动画,并动态更换Animator中的AnimationClip_unity 替换animator里的animationclip

unity 替换animator里的animationclip

1.。新建分层,将两个AnimationClip放到不同分层中。

点击右上角设置,调节weight的值(该层动画融合的比重),将此animatorcontroller拖入Animator中,勾选自动运行,运行项目即可同时播放这两个动画。

 

 

2。 动态更换状态机中的clip

思路: 通过AnimatorOverrideController类,动态覆盖状态机中的动画片段

 

原状态机中有两个动画片段,名字为“1”、“2”,分别在两个分层下

 

将下面的代码挂载到带动画的物体上

  1. public AnimationClip anima1;
  2. public AnimationClip anima2;
  3. private Animator animator;
  4. AnimatorOverrideController overrideController;
  5. void Start () {
  6. animator = GetComponent<Animator>();
  7. RuntimeAnimatorController runtimeAnimatorController = animator.runtimeAnimatorController;
  8. overrideController = new AnimatorOverrideController();
  9. overrideController.runtimeAnimatorController = runtimeAnimatorController;
  10. overrideController["1"] = anima1;
  11. overrideController["2"] = anima2;
  12. }
  13. // Update is called once per frame
  14. void Update () {
  15. if (Input.GetKeyDown(KeyCode.A))
  16. {
  17. animator.runtimeAnimatorController = overrideController;
  18. }
  19. }

拖入想更换的动画

运行后,按下键盘A键,就会更换为 3  4 两个动画片段,并且状态机中的其他逻辑不变

动画“1”为向右移动,“2”为旋转,“3” 为向上移动,“4” 为放大。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/126494
推荐阅读
相关标签
  

闽ICP备14008679号