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;


  • 相关阅读:
    css flex布局实现后台页面
    html5 css iframe实现后台框架,仅用于学习案例
    nginx 多个网站配置
    nginx 负载 访问时 去掉端口
    nginx 负载
    解标准数独算法
    C++ execute linux cmd and retrieve the output
    C++ generate in Ubuntu
    shell操作典型案例--FTP操作
    PHP7 新写法
  • 原文地址:https://www.cnblogs.com/nafio/p/9137366.html
Copyright © 2011-2022 走看看