使用AnimatorOverrideController动态更换animationclip注意事项
http://www.ceeger.com/forum/read.php?tid=19138
public AnimationClip clip;
Animator anim;
void Awake()
{
anim = GetComponent();
}
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();
//这个函数在U5.3和5.0都不存在应该是去掉了吧
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;
【使用AnimatorOverrideController动态更换animationclip注意事项】转载于:https://www.cnblogs.com/nafio/p/9137366.html
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小