Skip to content

.animclip

Alexander edited this page Jun 2, 2024 · 1 revision

sections/animclip/ | animclip_to_gltf.py

Summary

Not researched enough. Stores base state, frames deltas, "custom tracks", "triggers", morph data. .performanceclip has the same magic and sections.

animclip_to_gltf.py script applies base state to a given .model and exports as .gltf. Currently support is poor, and exported pose usually doesn't look correct.

Magic Description
C96F58F3 MSMR and MM
0F64FFE8 RCRA
39AC933C -

Sections

$\color{#DF23F7}{◆}$ Anim Clip Built
$\color{#BB5BC8}{◆}$ Anim Clip Base State
$\color{#3B2664}{◆}$ Anim Clip Joint Hashes
$\color{#976E44}{◆}$ Anim Clip Path
$\color{#4014CB}{◆}$ Anim Clip Custom Tracks
$\color{#16EB68}{◆}$ Anim Clip Custom Track Data
$\color{#9DC30A}{◆}$ Anim Clip Curves
$\color{#FC98D7}{◆}$ Anim Clip Curves Data
$\color{#08AA35}{◆}$ Anim Clip Motion Data
$\color{#070D35}{◆}$ Anim Clip Sample Elem
$\color{#A7B485}{◆}$ Anim Clip Sample Data
$\color{#962F7D}{◆}$ Anim Clip Trigger Data
$\color{#4FC017}{◆}$ Anim Clip Trigger Joint Names
$\color{#722FAE}{◆}$ Anim Clip Geom Samples
$\color{#11852D}{◆}$ Anim Clip Geom Sample Data
$\color{#77563F}{◆}$ Anim Clip Morph Info
$\color{#9F6458}{◆}$ Anim Clip Morph Frame Data
$\color{#D4BD9F}{◆}$ Anim Clip Pose Phoneme Visems Map
$\color{#95BA07}{◆}$ Anim Clip Pose Expression Id Map


$\color{#DF23F7}{◆}$ 9DF23F77: Anim Clip Built

AnimClipBuiltSection

96 bytes long. Fields that determine general information about this .animclip: FPS, duration, number of joints, etc.


$\color{#BB5BC8}{◆}$ 2BB5BC8F: Anim Clip Base State

x2BB5BC8F_Section

Initial pose. Array of joints' transforms, same order as $\color{#3B2664}{◆}$ Anim Clip Joint Hashes. Each transform is 16 bytes, each component is packed into 16-bit value. First are quaternion's XYZW, then position XYZ and last two bytes determine scale multipliers.

After this array, sometimes extra data is present. Seems to be another array, 32 bytes per element. Number of items in array is specified in one of the fields of $\color{#DF23F7}{◆}$ Anim Clip Built, but purpose is unknown. 16 bytes halves seem to have the same format.


$\color{#3B2664}{◆}$ A3B26640: Anim Clip Joint Hashes

xA3B26640_Section

Array of 32-bit hashes of joints names. Same hashes can be met in .model. Last value is FFFFFFFF.


$\color{#976E44}{◆}$ 3976E44C: Anim Clip Path

x3976E44C_Section

Two 4x4 float matrixes, like starting and ending transforms?


$\color{#4014CB}{◆}$ 14014CB6: Anim Clip Custom Tracks

x14014CB6_Section

Array of custom track structs. Each struct is 40 bytes long. Contains 32-bit offset to name in strings block, offset and count for $\color{#16EB68}{◆}$ Anim Clip Custom Track Data, and a few other 32-bit values.


$\color{#16EB68}{◆}$ 116EB684: Anim Clip Custom Track Data

x116EB684_Section

Float data for custom tracks. Read according to $\color{#4014CB}{◆}$ Anim Clip Custom Tracks.


$\color{#9DC30A}{◆}$ 09DC30AB: Anim Clip Curves

x09DC30AB_Section

Not researched enough.

Only met in 846B8D250F1A33D2, required/cinematics/predefined_camera_shake.animclip (MSMR and RCRA). 240 bytes long.


$\color{#FC98D7}{◆}$ 4FC98D7E: Anim Clip Curves Data

x4FC98D7E_Section

Not researched enough.

Only met in 846B8D250F1A33D2, required/cinematics/predefined_camera_shake.animclip (MSMR and RCRA). 93604 bytes long.


$\color{#08AA35}{◆}$ E08AA35F: Anim Clip Motion Data

xE08AA35F_Section

Not researched enough.


$\color{#070D35}{◆}$ D070D358: Anim Clip Sample Elem

xD070D358_Section

Not researched enough. Array of 32-bit values (ascending order), then array of byte values, same size. Number of elements matches some values in $\color{#DF23F7}{◆}$ Anim Clip Built or $\color{#4014CB}{◆}$ Anim Clip Custom Tracks.


$\color{#A7B485}{◆}$ 3A7B4855: Anim Clip Sample Data

x3A7B4855_Section

Not researched enough.


$\color{#962F7D}{◆}$ 6962F7DE: Anim Clip Trigger Data

AnimClipTriggerDataSection

Not researched enough.


$\color{#4FC017}{◆}$ 74FC0175: Anim Clip Trigger Joint Names

x74FC0175_Section

Array of 32-bit hashes of joints names. Usually rather short, and seem to have something to do with $\color{#962F7D}{◆}$ Anim Clip Trigger Data.


$\color{#722FAE}{◆}$ 1722FAEF: Anim Clip Geom Samples

x1722FAEF_Section

Not researched enough.


$\color{#11852D}{◆}$ 411852D5: Anim Clip Geom Sample Data

x411852D5_Section

Not researched enough.


$\color{#77563F}{◆}$ 277563F5: Anim Clip Morph Info

x277563F5_Section

Not researched enough.


$\color{#9F6458}{◆}$ 69F64588: Anim Clip Morph Frame Data

x69F64588_Section

Not researched enough.


$\color{#D4BD9F}{◆}$ 1D4BD9FA: Anim Clip Pose Phoneme Visems Map

x1D4BD9FA_Section

Not researched enough.


$\color{#95BA07}{◆}$ 495BA079: Anim Clip Pose Expression Id Map

x495BA079_Section

Not researched enough.


Home

Assets Browser
Scripts
Code Insights

Knowledge Base
    Glossary
    Other Works

    Files
        toc
        dag

    Formats
        DAT1
        DSAR
        DDL

    Assets
        Assets Reports
        Types
            .actor
            .animclip
            .animset
            .atmosphere
            .cinematic2
            .conduit
            .config
            .level
            .levellight
            .localization
            .material
            .model
            .nodegraph
            .soundbank
            .texture
            .visualeffect
            .wwiselookup
            .zone
            .zonelightbin

    Games

Clone this wiki locally