近期热门
粉丝728
关注 0
获赞 648
动画资源内存占用优化清单

[临床动画学] 动画资源内存占用优化清单

[复制链接]
21436 368 9 90 6年前 举报
QQ图片20170807120732.png
本路新搞了个公众号 不定期更新技术贴 欢迎大家来一波关注
8.8更新 新增了两张截图 感谢网友指正

1.减少骨骼 所有优化都受限于骨骼数,骨骼数太多的话,即使其他优化都做的很到位,也还是会占用很大空间。但是过少的骨骼会限制美术效果,一个人形角色最少也要21根骨骼,骨骼数的多少是从原画阶段就要考虑的,原画设定很多裙摆、飘带、头发的话,骨骼数必然会增多。笼统来说一个有手指、头发、少量装备的角色,骨骼数会在40-50根左右。 QQ截图20170807214928.png 1.png

2.减少关键帧 在骨骼数相同的情况下,减少动画长度和关键帧密度也会降低动画占用空间。每多一个关键帧,都会多出动画信息。而如果关键帧数量相同,动画时间更长的,也会占用更多空间,这里涉及到unity存储动画的三种曲线方式Constant,Dense和Stream。通常动画是stream曲线,这种曲线越长信息越多。不过说到底,关键帧的多少和动画时间的长短,对整体动画文件影响比较小,只要美术同学在制作过程中有这个意识,不要制造无用信息即可。

2.png
3.不要让动画满帧导出 这里包括烘焙、塌陷以及各种飘带解算插件生成的满帧。参照第二条可知满帧的话会导致文件变大,插件生成的满帧手动删除即可,烘焙导出的的话,可以打开曲线过滤选项,或者干脆不要使用需要烘焙的连接方式。

3.png
4.删除无用曲线 如bone骨骼的缩放曲线通常是不做动画的,那么就可以将缩放曲线删除掉。这里要注意的是,如果要删除一个角色的A骨骼缩放曲线,一定是所有动画里都没有A骨骼的缩放动画,否则在切换动画的时候,有可能会出现,删除了曲线的动画,会继承没删除曲线动画的动态。

4.png
5.transform值只保留小数点后四位 这是个需要程序写个工具来实现的。小数点后四位是个常用值,实际是保留三位还是五位可根据具体情况而定。而且每次操作之后一定要对比下动画的变化,没有明显误差才可以使用。
6.动画压缩optimal(最佳压缩)与keyframe reduction(帧压缩) 帧压缩是通过计算两帧之间的差值,如差值小于设置好的阈值(error参数),则删除帧。帧压缩使用的是stream曲线,两帧之间以曲线链接,每个节点有可以调整的切线,比较像贝塞尔曲线,stream曲线是unity存储动画占用空间最大、动画表现力最好的存储方式。最佳压缩,在帧压缩基础上,转化两点间的stream曲线Dense曲线,Dense曲线两帧之间以直线相连,Dense曲线的存储占用小于stream曲线,画面表现也次于stream曲线。并且选择哪条stream曲线转换为Dense曲线是unity黑箱完成的,无法控制。还有一种Constant曲线,就是从初始帧到结束帧完全是一条平直的线段,占用空间最小没有动画。

5.png
7. Legacy、Generic、Humanoid三种动画模式  测试结果显示,其他条件相同下Humanoid 占用内存要小于Legacy 和Generic,但是具体原理尚不清晰,仅供参考。
QQ截图20170807214844.png
小结,一般来说大部分项目中,动画资源占比并不大,通常只需要设置好动画压缩、截取transform值即可。因为unity的动画压缩会做类似2、3、4节提到的操作,虽没有手动的彻底,但是快捷方便性价比很高。而在格斗、动作以及舞蹈类游戏动画资源在美术资源里占比比较大,需要用比较多的精力去优化,除了上面介绍的方法之外,还有些项目用MotionBuilder或者自研的unity工具,去修改fbx文件。大幅提高性能的优化通常都伴随着画面品质的降低,性能优化和画面表现是天平的两端,多花点时间培养美术同学的优化意识,要比花时间培养程序同学的审美来的实在,赶紧把这篇内容转给你的美术同事吧!









9
点赞
0
打赏
90
添加到收藏夹

2

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论368
您需要登录后才可以回帖 登录 | 立即注册

资源甚好,且阅且珍惜!
1年前
回复

使用道具 举报

ss

4年前
回复

使用道具 举报

学习下新技能
4年前
回复

使用道具 举报

资源甚好,且阅且珍惜!
4年前
回复

使用道具 举报

学习
4年前
回复

使用道具 举报

hohohohoho
4年前
回复

使用道具 举报

顶好帖子
4年前
回复

使用道具 举报

谢谢分享!
4年前
回复

使用道具 举报

谢谢分享!
4年前
回复

使用道具 举报


资源甚好,且阅且珍惜!
4年前
回复

使用道具 举报

数据加载中....
没有更多评论了