Anim File Format
Revision as of 08:50, 8 August 2018 by Aura Linden (talk | contribs)
Strings from binary unpacker take the form of a signed 32-bit integer for the length of the string followed by the string data. There is no null terminator. EX: cat=3cat
Type | Name | Values possible | Notes |
---|---|---|---|
U16 | Version | 1 | //Required to be 1. |
U16 | Sub Version | 0 | //Required as 0. |
S32 | Base Priority | USE_MOTION_PRIORITY = -1, LOW_PRIORITY = 0, MEDIUM_PRIORITY, HIGH_PRIORITY, HIGHER_PRIORITY, HIGHEST_PRIORITY, ADDITIVE_PRIORITY = LL_CHARACTER_MAX_PRIORITY |
//Needs to be UI element in anim exporter. |
F32 | Duration | Number secs for anim to run | |
String | Emote_Name | String to identify animation. | //Verify |
F32 | Loop In Point | Sec where loop starts | |
F32 | Loop Out Point | Sec where loop ends | |
S32 | Loop | True/False | //Converts to bool |
F32 | Ease-in duration | Secs | |
F32 | Ease-out duration | Secs | |
U32 | Num Hand Poses | //I think this can be 0 for my purposes. ;) | |
U32 | Num Joint Motions | <= max joints of skeleton | //Number of joints that move in this anim. |
For each joint with motion
String | Joint name | joint to move | |
S32 | Joint priority | See above | |
S32 | Num Rot Keys | Number of rotation keys for this joint | //Must be > 0. |
- For each rotation in this JointMotion
- S32num_rot_keys Foreach:
- u16 time //Converted to F32 for secs
- 3 U16 X,Y,Z
- S32 num_pos_keys Foreach:
- u16 time //converted to F32 as secs.
- 3 U16 X,Y,Z
- S32num_rot_keys Foreach:
S32 num_constraints For each constraint:
- U8 chain_length (number of joints in chain.
- U8 constraint_type //Types: CONSTRAINT_TYPE_POINT, CONSTRAINT_TYPE_PLANE
- 16bytes source_volume //Collision volume ID string.
- 12bytes source_offset (A Vector3; 3 F32s)
- 16bytes target_volume //GROUND or collision_volume_id
- 12bytes target_offset (A vector3; F32s)
- 12bytes target_dir (A vector3 of F32s)
- F32 constraint ease_in_start
- F32 constraint ease_in_stop
- F32 constraint ease_out_start
- F32 constraint ease_out_stop