OT: there were only 2 files of animations, ShGimmick_layers.mtar and ShPlayer_layers.mtar? Cause the .LUA script files cited some .gani files for the freezer, lamp and fetus which I couldn't find anywhere (the files talks about a folder which doesn't exists. But I might have done some errors while trying to extract the data...)

ShGimmick_layers always beheaved strangely.The only 3 files it ever extracted (no matter how many times i tried) where the ones with lisa when she shakes like crazy and are named ShGimmick_layers_005, 007 and 008.Does that means that there are more? Should I use another model?

The problem is that MGSV animations system is very complex and variable. So you can't actually extract other files from ShGimmick_layers with current tools. I had to made a special test version of .exe to extract them. It was never published.

Uh Ok.Still, if you ever consider to publish that special test version let us know (I'm really interested into these animations, expecially the baby).Tons of thanks anyway for your time.PS: when you said that after loading the animation you need to attach the arms to palms with IK constraints it's because they stand perfectly still if you don't?

I don't have any papers describing the format. The table is in the beginning of the file. It has info how many bits used for each track values, and data offsets.

Also important note, in this game animation tracks are NOT per-bone. They are per IK group. And each group has a number of tracks for it, which is not equal to number of bones in it. Some bones may have no tracks at all, some may have many. This is complex format, sorry, its hard to explain.

It's ok. I think I am really close.I found a section of the data (based on a table of addresses/offset) that have a format like this

Code:

struct SubEntry{ int offset; //Address = Current Stream.positon + this offset short index; //I think this is the index to the bone group you spoke of byte a; //ranges from 0 to what ever (sometime odd numbers) byte b; //usually 0, 12, 16 i assume this is info how many bits used But what is a}

I am 99% there.I only have 2 questions I think.it seems each track size is based on the bytes from the addr[n+1] -addr[n]where addr is the offset address in each sub entry + some magic numberwhen I divide the size by bits to read it always has a remaindereg 140 / 12.some files even have a smaller size than the bits to read.

How do you figure out the animation frame size/ length in seconds?

I can send you a sample file + complete 010 template if interested (so you don't have to keep guessing at what I am describing lol)

Last edited by JohnHudeski on Sat Jun 17, 2017 7:17 pm, edited 1 time in total.

I think I might have figured out my errorBits size/Bits to read != bytesI always thought it was bytes for some reason

so all the 6's i saw were bytes and not bits.I finally understand what you meant by variable bitscos 6 bytes = 48 bitsdivided by 12 you 4 floating points (typical rotation size)divide by 14 you get 3 floating points (typical position size)I am so dumb

i'd just like to know.Is this animated at 60fps?How do you know what frame each Vector/quaternion belongs to?I don't think normalizing and stretching them all to fit the maximum frame length them all is a particularly good ideaWould also wreck animation quality

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum