11 hours ago
I started making a Noesis plugin that can load the .pkchr character models from this game, if anyone wants to try using it. I only tested with the Steam/PC version. I didn't manage to make automatic texture assignment work yet, but it's pretty easy to apply textures yourself in Blender or 3ds Max or whatever you like. The plugin currently loads the meshes, but doesn't load any textures or skeleton for now. Models are generally in the _p00 file for each character as far as I've seen, and textures are stored as .dds in the same file. You can manually trim those textures with a hex editor or use some file splitters that I'm sure are floating around out there somewhere.
The plugin seems to be working for most character and enemy models, but if anyone plays around with it and finds any broken ones, that'll be helpful to know so I don't have to test every single model myself. I've found a handful of models where UVs are not loaded correctly, which I'll look into, but it seems to be rare and (hopefully) works for the majority. I also noted a couple of models with one or two submeshes that loaded strangely, which I'll try to resolve in the future. For now though I think it's a pretty good start and you can use this to browse and export models. When exporting as .obj, make sure to enable "Flip UV's" in the export options.
The UVs for this format are all stored together near the beginning of the file, and the UV stride seems to change depending on the submesh and how many UV maps are included for that submesh. Most submeshes include multiple redundant UV maps of varying number for some reason, and others on top of that also include what looks like a vertex color at the end of the stride. I'm not totally sure that they are vertex colors but for now the plugin treats them as such. But anyway if any models you try to load have broken UVs, it might be because there's some edge case pattern that I didn't come across yet, or because the vertex color detection is too loose or too strict (or perhaps needs to be rethought entirely). With one continuous section of UVs for all submeshes back to back, if any one of them is read incorrectly, it basically causes all submeshes from then on to load with misaligned UVs. After stumbling through that for a while, I decided to take a break and come back to this later.
Anyway please feel free to try it out and let me know what happens. I still haven't played much of this game yet beyond the intro, so if you start talking to me about specific characters I might not know what the heck you're talking about.
The plugin seems to be working for most character and enemy models, but if anyone plays around with it and finds any broken ones, that'll be helpful to know so I don't have to test every single model myself. I've found a handful of models where UVs are not loaded correctly, which I'll look into, but it seems to be rare and (hopefully) works for the majority. I also noted a couple of models with one or two submeshes that loaded strangely, which I'll try to resolve in the future. For now though I think it's a pretty good start and you can use this to browse and export models. When exporting as .obj, make sure to enable "Flip UV's" in the export options.
The UVs for this format are all stored together near the beginning of the file, and the UV stride seems to change depending on the submesh and how many UV maps are included for that submesh. Most submeshes include multiple redundant UV maps of varying number for some reason, and others on top of that also include what looks like a vertex color at the end of the stride. I'm not totally sure that they are vertex colors but for now the plugin treats them as such. But anyway if any models you try to load have broken UVs, it might be because there's some edge case pattern that I didn't come across yet, or because the vertex color detection is too loose or too strict (or perhaps needs to be rethought entirely). With one continuous section of UVs for all submeshes back to back, if any one of them is read incorrectly, it basically causes all submeshes from then on to load with misaligned UVs. After stumbling through that for a while, I decided to take a break and come back to this later.
Anyway please feel free to try it out and let me know what happens. I still haven't played much of this game yet beyond the intro, so if you start talking to me about specific characters I might not know what the heck you're talking about.