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;


  • 相关阅读:
    MongoDB的下载与安装
    Oracle PL/SQL 编程手册(SQL大全)
    内部类、异常、其他
    异常(补充)
    final、抽象类、接口、多态、
    改变JVM中的参数以提高Eclipse的运行速度
    Java中的三目运算符 详解
    Java中的Stringbuffer类解析
    Staitic(静态) 相关知识点介绍
    Java反射
  • 原文地址:https://www.cnblogs.com/nafio/p/9137366.html
Copyright © 2011-2022 走看看