Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Metal Gear Solid 5 (MGSV) animations

Featured Replies

  • Author
  • Localization

JohnHudeski, posted Wed Nov 16, 2016 10:39 am (18860)


id-daemon wrote:
JohnHudeski wrote:
What type of bits does MGSV use?
I think I can re-purpose my half-float reader for this.


As I said, they use VARIABLE bits. I mean it. For one bone it can be 14-bit, for next bone it will be 17-bit. Number of bits used for each bone track is recorded in bone description structure inside of each anim.



Thank you so much. I think I can apply this to a bunch of other games I have been stumped on
For anyone looking for info on variable bit floats look here Riot Games example
  • Replies 83
  • Views 35
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

id-daemon, posted Mon Nov 28, 2016 5:14 pm (19140)


New version of the tool. Now supports all human animations from Ground Zeroes and Phantom Pain. Use the appropriate EXE for your game.
  • Author
  • Localization

id-daemon, posted Tue Dec 06, 2016 9:45 am (19303)


New cutscene tool added. Phantom Pain cutscene support! All characters (including dogs, horses, etc)

Image
  • Author
  • Localization

id-daemon, posted Sat Dec 10, 2016 12:01 pm (19419)


Update! Diamond Dog MTARs.

All other tools updated (minor bugfixes). Humans may had problems with toes, some cutscene roots fixed.

ImageImage
  • Author
  • Localization

Amagakuro, posted Tue Dec 13, 2016 11:55 pm (19496)


Hello there and thank you for this tool \o/
Unfortunately i'm getting this error when trying to open 3 out of 4 executables (only one seems to be working/not crashing is mgs5_pp_cutscene), can't really understand what's the problem~
I think the error can be translated like
"Exception not handled: System.IO.EndOfStreamException: impossible reading outside the end of stream"
Image
  • Author
  • Localization

id-daemon, posted Wed Dec 14, 2016 4:07 pm (19502)


Amagakuro wrote:
Hello there and thank you for this tool \o/
Unfortunately i'm getting this error


You are prob. trying to export anims using PP FMLD file. This will not work, because tool expects bone names to be there, and they are only in GZ files. You currently need GZ human model for it to work.
  • Author
  • Localization

Amagakuro, posted Wed Dec 14, 2016 4:21 pm (19503)


id-daemon wrote:
Amagakuro wrote:
Hello there and thank you for this tool \o/
Unfortunately i'm getting this error


You are prob. trying to export anims using PP FMLD file. This will not work, because tool expects bone names to be there, and they are only in GZ files. You currently need GZ human model for it to work.


Ohh, i thought that this
Quote:
For Phantom Pain also use the same GZ model, because the skeleton is the same, and it has bone names.

meant "also" and not "must", infact i used .fmdl file from PP.
Well, thank you for clarifying :)
  • Author
  • Localization

Aesop, posted Fri Dec 23, 2016 8:44 pm (19754)


Heya!

So I'm trying to get a hang of these tools.

Two things: when running this .mtar through the tools it crashes after exporting a couple of .smd files. Using sna2_main0_def.fmdl from GZ in the same directory.

I did manage to get player2_cqc.mtar to extract, however I can't load the .smd's, 3DSMax spits out that it's an improper format. Is it due to the tools I use to import? Here is a sample of the .smd

If so, could you tell me what tools I should use?

Also, any updates on the alternative to Cra0's tools with proper weights? I read somewhere that you have a maya script, could that be released for now or sent to me? Thanks![

edit: I can load them into Blender now, but they come out all messed up. http://i.imgur.com/GX70wi1.png trying them on quiet
  • Author
  • Localization

id-daemon, posted Sat Dec 24, 2016 8:47 am (19762)


Ok, I didnt test many PP MTARs, so its possible some of them crash. I will check that later.

As for 3dmax, maybe its because I'm not putting "end" in the end of SMD file. I don't have max, so can't check it.

When loading SMD into blender, you must select "create new armature", if you are not appending the animation to the existing model.
  • Author
  • Localization

Aesop, posted Sat Dec 24, 2016 3:17 pm (19766)


id-daemon wrote:
Ok, I didnt test many PP MTARs, so its possible some of them crash. I will check that later.

As for 3dmax, maybe its because I'm not putting "end" in the end of SMD file. I don't have max, so can't check it.

When loading SMD into blender, you must select "create new armature", if you are not appending the animation to the existing model.


A student copy of Max is available if you wanted to take a look.

Yeah, I tried this but the animation just always ends up with this happening : - / http://i.imgur.com/MdRotsF.png

trying with SoldierGZ_layers.mtar -- could it be an issue with the .mtar I'm using or the sna2_main0_def.fmdl I'm using? (here it is: https://a.pomf.cat/hlmiie.fmdl )

I also tried with these but it just messes up: http://i.imgur.com/zomPXSQ.png
I'm using it with "Import Animations" checked and I'm appending it to target.
  • Author
  • Localization

id-daemon, posted Sat Dec 24, 2016 3:30 pm (19767)


Don't append it to target. Make it "create new armature". Also note that the model is usually many times bigger than required for animation. Depending on the export you're using it may be 34 or some other scale. You need to scale them to same size before connecting model to skeleton.
  • Author
  • Localization

MReaper, posted Mon Jan 16, 2017 5:11 am (20211)


Hello everyone!

Could someone please provide some files so I can test here?? If not ask a lot I would like some files (templates and animations) so I can test before having to buy and install a game I already have on the console. Thank you very much for the attention, I am waiting for answers ...
  • Author
  • Localization

id-daemon, posted Fri Mar 31, 2017 7:34 pm (21879)


New PP human tool version.

Changes:

- support for MTARs that were broken before (failed in the middle)
- added "end" in the end of .SMD so 3dmax now can import them
  • Author
  • Localization

id-daemon, posted Sat Apr 01, 2017 2:47 pm (21891)


New tool for PP Walker.

Supposed to extract walkergear2_layers.mtar
Needs mgm0_main0_def.fmdl model.

I can't setup blender's IK constraint to work correctly here, but maya can handle it.
Also, wheels are connected to the middle of the leg and this makes it impossible to export correctly to SMD.

mgs5_walker.rar

  • Author
  • Localization

Zuppermati, posted Fri May 05, 2017 1:31 pm (22917)


Hello. I'm new here so if I'm breaking some rules I'd like to apology from the begin.
Anyway:

Expectations
id-daemon wrote:
Image


What I got trying to decode PT animations (raw drag and drop of the file into the program you shared)
Image

Using reedus or lisa's models instead than snake's won't change anything. Since I saw that you managed to extract them correctly, could you tell me the exact procedure you used?
Many thanks in advance.
  • Author
  • Localization

id-daemon, posted Fri May 05, 2017 3:14 pm (22922)


Image
  • Author
  • Localization

Zuppermati, posted Fri May 05, 2017 4:13 pm (22924)


Gosh, I'm really a frickin analphabet :oops:

Thanks, really :D .

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...)
  • Author
  • Localization

id-daemon, posted Fri May 05, 2017 6:15 pm (22928)


ShGimmick_layers.mtar contains animations for fetus, bag, and 2 more things, which may be your lamp and freezer (those had only 2 or 3 bones, i dont remember exactly)
  • Author
  • Localization

Zuppermati, posted Fri May 05, 2017 8:19 pm (22929)


Hi

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?
  • Author
  • Localization

id-daemon, posted Sat May 06, 2017 5:12 am (22942)


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.
  • Author
  • Localization

Zuppermati, posted Sat May 06, 2017 2:51 pm (22957)


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?
  • Author
  • Localization

JohnHudeski, posted Tue Jun 13, 2017 6:18 am (24068)


Any chance you'd be willing to share the .GAni file format?
How do you know frame count and addresses for data (eg Quaternions) per bone?
  • Author
  • Localization

id-daemon, posted Tue Jun 13, 2017 3:35 pm (24074)


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.
  • Author
  • Localization

JohnHudeski, posted Wed Jun 14, 2017 3:22 am (24101)


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
}

struct Entry
{
   int unkn; //seems like a hash
   int count; // number of subentries
   SubEntry sEntry[count];
}


I think there must be some logic to bytes in the sub entry
example one file has
a = 133
and
b = 12

the address of the next sub entry ( offset) starts exactly 12 bytes from the previous one
but then there is a gap of 130 bytes between it an the next "Main" Entry
  • Author
  • Localization

id-daemon, posted Wed Jun 14, 2017 4:04 pm (24111)


yes b is bits used
a has 0x80 bit indicating that its not last entry in the set, and other bits is track type,

0 - rotation
3 - position
5 - root rotation
6 - root position

i don't understand what do you mean about 130 bytes
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.