zoukankan      html  css  js  c++  java
  • 测试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);
        }
    }

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

  • 相关阅读:
    免密码输入ssh连接
    关于调用函数使用栈
    uos中tftp、nfs服务重启方法、路径
    uos安装dogtail首次打开提示可访问性,点击确定按钮如何自动化
    linux查看启动项
    5.gitlab提交时触发jenkins
    Fun blog
    Github Page 加速 | vercel ~~
    98--RocketMQ原生API收发消息
    97--RocketMQ工作原理
  • 原文地址:https://www.cnblogs.com/hont/p/5358720.html
Copyright © 2011-2022 走看看