zoukankan      html  css  js  c++  java
  • 使用AnimatorOverrideController动态更换animationclip注意事项

    http://www.ceeger.com/forum/read.php?tid=19138

    public AnimationClip clip;
    Animator anim;
    void Awake()
    {
        anim = GetComponent<Animator>();
    }
    void Start () {
        AnimatorOverrideController overrideController = new AnimatorOverrideController();
        overrideController.runtimeAnimatorController = anim.runtimeAnimatorController;
        overrideController["testCip"] = clip;
        anim.runtimeAnimatorController = overrideController;
    }

    这里一定要注意, overrideController["testCip"] = clip;里面的testClip不是状态机里面的状态名,而是实际要替换的clip的名字..... 


    也可以用AnimationClipPair得到clip的名字

    RuntimeAnimatorController tempController = anim.runtimeAnimatorController;
    AnimatorOverrideController overrideController = new AnimatorOverrideController();
    overrideController.runtimeAnimatorController = tempController;
    overrideController.PerformOverrideClipListCleanup();//<span style="color:#ff0000;">这个函数在U5.3和5.0都不存在应该是去掉了吧</span>
     
     
    overrideController[overrideController.clips[0].originalClip.name] = clip;
    overrideController[overrideController.clips[1].originalClip.name] = clip2;
     
    foreach (AnimationClipPair pairs in overrideController.clips)
    {
        Debug.Log(pairs.originalClip.name );
        if (pairs.overrideClip!=null)
        {
            Debug.Log(pairs.overrideClip.name );
        }
    }
     
    anim.runtimeAnimatorController = overrideController;


  • 相关阅读:
    2017 ACM/ICPC Asia Regional Qingdao Online Solution
    2017ACM/ICPC Guangxi Invitational Solution
    POJ
    The Maximum Unreachable Node Set 【17南宁区域赛】 【二分匹配】
    17 南宁区域赛 F
    17南宁区域赛 I
    17南宁区域赛 J
    CodeForces
    c/c++ 输入输出技巧
    ZOJ
  • 原文地址:https://www.cnblogs.com/nafio/p/9137366.html
Copyright © 2011-2022 走看看