Hi all,
a week ago, i started searching for some pokemon games, with decent pokemon models to rip.
Thats how i find out about Pokemon Battle Revolution, and started playing aroung with its files. Thanks to some tools posted here it was easier for me to decompress the wii files (Thanks Imaginary Z)
So i have made a working model exporter that exports the models and the textures (i think i am missing some texture types but most of them are CMP textures, and i've already written a decoder for them)
I've also managed to found some bone information and also some additional models contained in the file that are used for the color mapping of the model.
So here are some results:
*This one is the only one that the bones are positioned correctly...
It seems that i am having some problems with the bones and their calculated positions.
So i am asking for some help. Has anyone any clue about the bones and the precise way that their positions are calculated?
Also has anyone any idea where the different animation data is stored?
Just out of curiosity, how do those colormaps work?
(04-11-2014, 12:19 PM)MandL27 Wrote: [ -> ]Just out of curiosity, how do those colormaps work?
From my experience in FIFA 14 files, the color maps are used by the game to apply shaders and different shading effects on the mesh. Probably that is happening here as well.
In FIFA the color values are immediately associated with a vertex, here, they are totally separated. The are a completely separate model positioned on the top of the original model (skin)
So... what color means a more intense light? I'm finding colormaps in some of the OWL Game Creator texture directories, and I have no idea how they're used.
(04-11-2014, 12:38 PM)MandL27 Wrote: [ -> ]So... what color means a more intense light? I'm finding colormaps in some of the OWL Game Creator texture directories, and I have no idea how they're used.
I think that depends, it not the same everywhere. If you notice each color is more intense on very specific face orientations. For example here you can see that when the face looks on the right (-x axis) the color is red, when the face looks up the color is green. The color values (rgb) are reflecting the face normal values. For example the face that is perpendicular to X and faces the -X, will have a color (1,0,0). Full red color.
So considering this, the most intense colors you will get are the clear ones, for faces whose normal is perpendicular to one of the 3 axes.
I don't think that there is an association between the colors and the intensity of the light.
They are probably used to smooth the way that light interacts with the model.
I've never encountered color maps in separate files, but they could work the same way.
(04-11-2014, 01:06 PM)gregkwaste Wrote: [ -> ] (04-11-2014, 12:38 PM)MandL27 Wrote: [ -> ]So... what color means a more intense light? I'm finding colormaps in some of the OWL Game Creator texture directories, and I have no idea how they're used.
I think that depends, it not the same everywhere. If you notice each color is more intense on very specific face orientations. For example here you can see that when the face looks on the right (-x axis) the color is red, when the face looks up the color is green. The color values (rgb) are reflecting the face normal values. For example the face that is perpendicular to X and faces the -X, will have a color (1,0,0). Full red color.
So considering this, the most intense colors you will get are the clear ones, for faces whose normal is perpendicular to one of the 3 axes.
I don't think that there is an association between the colors and the intensity of the light.
They are probably used to smooth the way that light interacts with the model.
I've never encountered color maps in separate files, but they could work the same way.
This just raises further questions! I'm still confused.
(04-11-2014, 01:55 PM)MandL27 Wrote: [ -> ] (04-11-2014, 01:06 PM)gregkwaste Wrote: [ -> ] (04-11-2014, 12:38 PM)MandL27 Wrote: [ -> ]So... what color means a more intense light? I'm finding colormaps in some of the OWL Game Creator texture directories, and I have no idea how they're used.
I think that depends, it not the same everywhere. If you notice each color is more intense on very specific face orientations. For example here you can see that when the face looks on the right (-x axis) the color is red, when the face looks up the color is green. The color values (rgb) are reflecting the face normal values. For example the face that is perpendicular to X and faces the -X, will have a color (1,0,0). Full red color.
So considering this, the most intense colors you will get are the clear ones, for faces whose normal is perpendicular to one of the 3 axes.
I don't think that there is an association between the colors and the intensity of the light.
They are probably used to smooth the way that light interacts with the model.
I've never encountered color maps in separate files, but they could work the same way.
This just raises further questions! I'm still confused.
I am also not very sure about how this is implemented, the only thing i am absolutely sure is that it has to do with the face/vertex normals.
Have no further idea as well
Any plans on releasing the model ripper to the public though, in case we may want to rip the models and take a look at the bones and such ourselves?
(04-11-2014, 03:39 PM)Mystie Wrote: [ -> ]Any plans on releasing the model ripper to the public though, in case we may want to rip the models and take a look at the bones and such ourselves?
That is my purpose, but i need to pack it a bit.
You see the original wii files that are available from the game are fsys files.
these files contain all the different models available for each pokemon (normal, shiny, stuff like that)
For now the job is done manually and that is not convenient even for myself. I'm writing an fsys browser at the moment, which is going to feature a GUI, that will enable you to see the contents of the fsys and extract whichever part you want. Then from a panel in blender you are going to load the file extracted and voila
But meanwhile, it would be very good if anyone who played around with the files could help with the bones or the animations. I can upload some files for further investigation by anyone else interested. The bone positions that get imported right now make no sense at all.
I'll also try to import directly the correct type of bones, because right now what i do is to create empty objects at the positions that i find in the file, and i think thats one of the reasons that the bones suck that much.
Which pokemon game is this? I'm also very curious of the 'colormap' thing.
(04-12-2014, 01:37 AM)delguoqing Wrote: [ -> ]Which pokemon game is this? I'm also very curious of the 'colormap' thing.
It's right in the title --
Pokémon Battle Revolution.
AFAIK Metal Gear Rising: Revengeance seems to use these 'colormaps' for the faces like these:
I don't know the exact logic behind them though.
(04-12-2014, 07:03 AM)TGE Wrote: [ -> ]AFAIK Metal Gear Rising: Revengeance seems to use these 'colormaps' for the faces like these:
I don't know the exact logic behind them though.
Well specifically face color maps, actually seem to work somehow different. For example i think i can see a different coloring for the area exactly underneath the eyes, on the cheeks. These areas of the face will reflect more light. The brows and the hairy parts have other lighting, they should not reflect too much light, they should be more mat.
I have no idea if those colors have to do with the face normals, i think these particular ones have nothing to do with normals.
Bones Update
Here are the mewtwo bones i've managed to import so far
As you can see some bones are not imported in their correct positions, and i have no idea why... This is where i need some experts help.
In every bone section in the file i can detect a position, which is used as each bone's tail. As the bone head i am using the parent's tail or if the bone has no parent i am using the Vector (0,0,0). Immediately after this position there is a 3 float rotation. From test imports i can tell that this has to do with some posing, because it affects the tail, which is posed and also the arms which match up with the standing mewtwo position. Now in some bone sections there is a matrix contained but i have no idea how to use it. I made some tests though, but nothing produced a better result.
What really really bothers my though is that i cannot get the arms to match up with their correct positions. Both the rotation and the matrix are probably responsible for the posing of the bone, so they should have nothing to do with the bone's default position.
So why the heck are the arms and the legs aligned like that by default
Those "color maps" on the Pokemon models are actually the model's normals in the world coordinate system. The three colors correspond to the three axes, and the intensity of the color represents the angle facing that axis, with 255 being facing directly towards it and 0 means facing 180 degrees away from it, with 127 being 90 degrees away.
All that said, it looks like those are the shadow models for the Pokemon that have the colors.