hmm, don't models in archipelagates use humanoid rigs?, wouldn't it be possible to look into implementing like a unity asset bundles load system?, so the modder can like build the different character model prefabs as bundle files directly on a Unity Editor?, iirc if the character model is an humanoid rig the already existing animations from the game should just work in any new models that also use humanoid rigs built in Unity as bundles, unless the game uses some sort of custom thing for their animations in that case I would guess the most important thing would be to keep the bone rolls concistent when compared to the original model bone roll orientations which should be a fair compromise as setting that up in Blender isn't too complicated
The worst case scenario is that the game straight up does not use humanoid rigs or uses them but the animations animate the rig of the characters as gameobject not as humanoid type like it should, in which case I guess this solution I am suggesting is useless, but tbf I don't know any Unity game that was made without using humanoid import type on the model settings or that directly animated the gameobjects without the humanoid rig usage, that would be crazy to do as the humanoid rig settings allow for quite a bit of changes when working with animations lol
Asset Bundles is what is usually used for official mod support in Unity games, regardless, what you have worked on so far it's still a pretty cool thing and I appreciate it!!!
Viewing post in Progress Update Three on V10 comments
Hi, thanks for taking the time to write a detailed post.
The game does use a humanoid rig, which I extracted from the bindpose matrices of the character mesh and imported to Blender via some scripts I wrote. It also uses Unity's animation system as a base, with avatar objects, etc. In addition, it has a custom animation system layered on top of Unity's, with things like a custom IK solver, etc.
The extracted rig contains extra bones for things like weapon placements, alignments, etc. For this reason, importing any generic humanoid rig is not sufficient enough.
The model importer allows for direct export from Blender via a script. There are pros and cons to switching to an asset bundle loader type system. With asset bundles, those looking to import will need a correct version of Unity and will need to build their asset bundle in a specific way to be compatible for import. This is a higher barrier to entry imo, though I do agree it would be easier to implement and work with such a system on my end.
The model importer as is already handles the export, import, and creation of all relevant mesh data successfully (vertex positions, normals, uvs, materials, textures, bone weights, bindpose matrices). Meshes and animations look correct, but bone lengths are not maintained as expected. I suspect there are a few possible reasons, such as needing to regenerate the bone transforms, needing to rebuild the avatar object, or possibly something to do with the custom animation system.
Overall, I don't think it would take more than a day or two to solve, though I have put down work on the importer until after version 10 (the current importer will release with v10). If I am still unable to solve it then, I will test with asset bundles, and if successful, will switch to that methodology. Regardless, I greatly appreciate the feedback!
Makes sense for the game to contain the "extra bones" for weapons and such, they are pretty much just markers/gameobjects that indicate to the game where to attach or do things, creating and appending empties in Blender is easy enough for that on my opinion and also not complicated to do in Blender, but it is true it could be something more complex for someone that is not as experienced in stuff like this and I also agree that it could be a higher barry of entry, but with a guide I don't think that should be too much of an issue, iirc bundles can be compatible with a game even if built on different versions of Unity and even if it wasn't the case, downloading a specific version of Unity isn't really complicated at all, I think making stuff in Unity could also open the possibility to import other types of assets into the game as well in the future if you are looking into expanding the modding aspects of the game while mantaining it somewhat accessible while also making it easier for you to work on it on your end
Anyways, I love what you are doing and for what I am hearing that's an impressive work on the model importer, amazing job so far!!!, please take your time 🫡