UE4中动画优化与压缩

动画优化

在虚幻引擎中使用动画压缩是为了减少在游戏中使用动画时骨架动画数据占用的内存量。可以使用多种方法完成动画压缩:

 

删除关键帧 - 很多动画都具有平滑变化的动作,其中包含可以在没有明显影响动作整体形状的情况下删除的关键帧。从动画编写包导出动作后,通常会以高速率(例如,30 关键帧/秒)进行采样,尽管动作相对来说是平滑和没有变化的。

减少每个单独关键帧的大小 - 一个未使用的动画关键帧会根据骨骼存储为旋转量和平移量,其中的旋转量和平移量使用浮点数表示。根据由这些浮点数表示的值的范围,在没有明显的精确度损失的情况下可以减少每个数消耗的存储量。

更高的排序技术(曲线拟合) - 不用将动作存储为分离采样的关键帧,可以将动作存储为一个函数,然后在回放的过程中进行采样。当函数的内部表示法消耗小于直接存储关键帧的内存时‘进行’压缩。曲线拟合的技巧是查找函数 1) 接近输入动作的接近的近似值2) 可以在运行时进行有效采样。*注意:* UE当前不会执行任何曲线拟合。

         虚幻引擎中的动画压缩的关键帧与以前版本的引擎相比,改进是 压缩动画不会损坏未使用(未经压缩)的动画数据 。会将未使用的数据与压缩数据一起存储,使美术工作者不需要重新导入动画数据就可以完全自由地快速体验各种压缩方案和参数。

         第一次将动画导入引擎时,动画没有进行压缩。这可以使创作动画的美术工作者在将动作引进到引擎中并查看它的样子的基础上进行快速迭代,不需要担心压缩可能会导致任何失真现象。

         每次压缩动画序列时,将压缩设置与序列存储在一起,这样可以轻松地批量重新压缩动画,例如,网络上出现一个新的压缩算法时。在特定动画编辑操作发生时可以自动重新压缩动画(例如,重新导出动画时,从集合中删除轨道时等等)。


1.共享骨架

每个 动画序列 资源指向一个特定的骨架,且仅可以在那个骨架上进行播放。这意味着,为了在多个骨架网格物体间共享动画,所有网格物体都必须使用同样的骨架资源。

2.动画压缩

UE4中的动画压缩类型

1.Automatic(自动压缩):自动动画压缩算法本质上是一个空壳,尝试其他压缩方案的范围,并选择在可配置的错误阈值内产生最小内存占用的方案。

2.Bitwise Compress Only(仅按位压缩):仅对动画序列轨道中的旋转和平移执行按位进行动画压缩,不会对关键帧进行减除。
3.Least Destructive(无损压缩):还原所有动画压缩,将动画还原为原始数据。
4.Remove Every Second Key(隔帧移除):除了对动画序列的旋转轨迹和平移轨迹执行按位动画压缩之外,隔帧移除键动画压缩算法通过简单地从动画序列的旋转和平移轨迹中移除每个第二个键来执行键缩减。
5.Remove Linear Keys(线性帧移除):除了对动画序列的旋转和平移轨迹执行按位动画压缩之外,“移除线性键”动画压缩算法通过移除作为周围键的线性插值的键来执行键缩减。 这意味着落在键之前和键之后的线性路径上的键将被删除,因为它们是不必要的。
6.Compress each track independently(轨道独立压缩):关键帧删除算法。除了以线性插值的方式删除附近的关键帧中的关键帧外还为每个轨道选择最佳按位压缩。

7.Remove Trivial Keys(移除琐碎帧):删除那些在整个动画中位置方向始终保持不变的一些不重要的轨道帧,如果位置和旋转都只是在某个帧进行下降,那么期间的时间也会被除去。


动画导进UE4时是默认进行压缩的,压缩方式是Remove Linear Keys(线性帧移除压缩)。


3. 尽量减少骨骼数量


骨骼数量越多消耗越大,尽量减少角色中骨骼数量。
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值