测试Animation大型动画文件拆分播放的可行性

Posted HONT blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试Animation大型动画文件拆分播放的可行性相关的知识,希望对你有一定的参考价值。

最近遇到一个问题,cutscene剧情动画文件大了复杂了之后,每次修改输出很麻烦,导出fbx就需要20分钟。

 

所以我想到了一个比较好的解决方法,在unity这边解决。把动画文件拆分成若干份,然后赋予不同的层并行播放

当要修改某个角色或者某几个角色的动画只要输出一小部分就可以了

 

为了测试可行性,我使用了一个跑动的模型动画进行测试,一共复制了20份,分别用多层动画(20层)和单个动画来播放,测试性能

即一个动画剪辑控制20个人跑动,和20个人由20个动画剪辑控制跑动

 

 

 

单个动画测试结果:(每帧耗时2.5毫秒左右)

 

多层动画测试结果:(20层动画,每帧耗时2.7-3.3毫秒左右)

 

多层动画的测试代码:

void Start()
{
    var testClips = Resources.LoadAll<AnimationClip>("test");

    for (int i = 0; i < testClips.Length; i++)
    {
        anim.AddClip(testClips[i], testClips[i].name);
        anim[testClips[i].name].layer = i;
    }

    for (int i = 0; i < testClips.Length; i++)
    {
        anim.Play(testClips[i].name);
    }
}

 

 

可见这么做是可行的,这样就可以把一个大的动画分成多个组来编辑,而又不影响整体预览。

以上是关于测试Animation大型动画文件拆分播放的可行性的主要内容,如果未能解决你的问题,请参考以下文章

unity 动画无法正常播放Animation的动画问题

unity中legacy动画用animation播放播放,正播,倒播,重播

Unity -- Animation(旧版动画组件)和Animator(新版动画器组件)

egret的tween动画循环播放

关于Unity老版动画(Animation)全屏时不播放问题

animation属性