测试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 = ; i < testClips.Length; i++)
{
anim.AddClip(testClips[i], testClips[i].name);
anim[testClips[i].name].layer = i;
} for (int i = ; i < testClips.Length; i++)
{
anim.Play(testClips[i].name);
}
}
可见这么做是可行的,这样就可以把一个大的动画分成多个组来编辑,而又不影响整体预览。
测试Animation大型动画文件拆分播放的可行性的更多相关文章
- Android Animation学习(三) ApiDemos解析:XML动画文件的使用
Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...
- unity从模型中抽取动画文件(animation)
http://www.cnblogs.com/leng-yuye/archive/2013/01/11/2856144.html 由于模型是由第三方的软件制作的,用unity不能直接编辑模型里的动画文 ...
- 浅谈Android样式开发之View Animation (视图动画)
引言 一个用户体验良好的App肯定少不了动画效果.Android为我们提供了2种动画框架,分别是视图动画(View Animation)和属性动画(Property Animation).视图动画比较 ...
- Android Animation(动画)
前言 Android 平台提供实现动画的解决方案(三种) 一.3.0以前,android支持两种动画: (1)Frame Animation:顺序播放事先做好的图像,与gif图片原理类似,是一种逐帧动 ...
- Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)
1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...
- Unity3D学习笔记(十四):Animation旧动画
animator(新动画系统):骨骼动画,骨骼驱动,格式化编辑,动画机图形化 animation(旧动画系统):物理系统,帧动画 一.如何建立动画文件 Animation Clip 手动添加动 ...
- CSS3 animation(动画) 属性
一.animation 1.CSS3 animation(动画) 属性 语法: animation: name duration timing-function delay iteration-cou ...
- [Swift通天遁地]八、媒体与动画-(7)实现多个动画的顺序播放效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Unity - 通过降低精度减少动画文件的大小
Animation是Unity中的动画文件,主要内容由一个个关键帧数据构成.通过将Unity的资源序列化方式调整为Text,就可以以文本方式查看动画文件.通过菜单项Edit -> Project ...
随机推荐
- 如果类的属性是copy的NSString类型 用set方法拦截时
@property (nonatomic, copy) NSString *badgeValue; - (void)setBadgeValue:(NSString *)badgeValue { _ba ...
- html 圆角边框
<input style="border-radius: 10px;" type="submit" value="确认"> bo ...
- Geek version acm pc^2 direction for user
gogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogo ...
- csu oj 1330 字符识别?
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1330 1330: 字符识别? Time Limit: 1 Sec Memory Limit: 1 ...
- 压缩 & 解压缩 命令汇总:tar、zip & unzip、
1. tar命令详解 格式:tar [-cxtzjvfpPN] 文件与目录 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五 ...
- 封装,策略模式,Asp换脸
1.简单封装 1>计算类 using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- linux抓包方法
tcpdump -i eth0 -X -w data.cap 得到的包保存到本地wireshark解析ip.addr == url && http.request.url contai ...
- Mysql错误处理
有几种错误处理的声明形式: § 如果任何错误(不是 后继续执行: DECLARE CONTINUE HANDLER FOR SQLEXCEPTION ; § 如果发生任何错误(不是 NOT FOUND ...
- Immediate assertion
Imemdiate assertion可以放在任何procedural statement中, assertion被执行判断,当这个procedural code被执行的时候.其他时间是不会被执行的. ...
- Java 中的System.exit
在java 中退出程序,经常会使用System.exit(1) 或 System.exit(0). 查看System.exit()方法的源码,如下 /** * Terminates the curre ...