UE3 Animation Compression

1649 篇文章 12 订阅
1623 篇文章 23 订阅

Animation Compression

Document Summary: Overview of the Animation Compression system in Unreal Engine 3.

Document Changelog: 10/19/2010 - Updated by Jeff Wilson.

Overview

Animation compression is utilized in Unreal Engine 3 in order to reduce the amount of memory skeletal animation data takes up when used in-game. This can be achieved in several ways:

  • Removing Keys - Many animations have smoothly varying motions containing keys that can be removed without significantly affecting the overall shape of the motion. When exporting motion from an animation authoring package, the animation will often be sampled at a high rate (e.g. 30 keys/sec), even if the motion is relatively smooth and unvaried.
  • Reducing the Size of Each Individual Key - A raw animation key is stored as a rotation and translation per bone, where the rotation and translation are represented with floating point numbers. Depending on the range of values taken on by these floating point numbers, the amount of storage consumed by each number can be reduced without significant loss of precision.
  • Higher Order Techniques (Curve Fitting) - Instead of storing a motion as discretely sampled keys, the motion could be stored as a function and then sampled during playback. Compression 'occurs' when the internal representation of the function consumes less memory than storing the keys directly. The trick with curve fitting is finding functions 1) that are a close approximation of the input motion; and 2) that can be sampled efficiently at runtime. Note: UE3 does not currently perform any curve fitting.

A key improvement of the animation compression in Unreal Engine 3 over previous versions of the engine is that compressing animation does not destroy the raw (uncompressed) animation data. The raw data is stored alongside the compressed data, giving artists full latitude to quickly experiment with various compression schemes and parameters without having to reimport the animation data.

When an animation is imported into the engine for the first time, the animation is not compressed. This allows artists who are authoring animation to quickly iterate on bringing motion into the engine and seeing how it looks, without having to worry about any potential artifcating introduced by compression.

Each time an animation sequence is compressed, the compression settings are stored with the sequence so that animation can easily be recompressed in bulk when, for example, a new compression algorithm comes online. Animation is automatically recompressed when certain animation editing operations occur (for example, when an animation is reimported, when a track is deleted from a set, etc).

Animation Compression Topics

Content Topics
   -  Animation Compression Algorithms - An overview of animation compression algorithms provided in Unreal Engine 3.
   -  Animation Compression Dialog - Overview of the Animation Compression Dialog in the AnimSet Editor.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值