Closed cesss closed 5 years ago
https://github.com/animate1978/MB-Lab/wiki/MB-Lab-Internals
This is as far as we have gone really, we are trying to figure it out ourselves. It is a complex project.
It uses a LOT of JSON data files for things like vertex locations, weights, morphs, etc... so there is that too. A little headway has started in decoding this stuff.
Also the plan is to make it more modular, splitting some code into logical modules. There has been effort in the past but it has never gotten past a prototype stage. A couple of devs have recently been toying with changes but nothing public yet. I haven't even really seen it lol.
I think with the next release, 1.7.5, that will be the last of Manuel's original code, well at least in the form it has been since we've taken over development. While there has been a LOT of changes over the past 8 months the base has not really changed. Past 1.7.5 I think we will start to make a lot of core changes. I don't know, I have been focusing on getting this ready for the official release of Blender 2.80 and hopefully in the next week or so it will be ready, it is pretty ready NOW but I want to make sure things are not overlooked.
By all means if you want to start helping make some changes we are always welcoming new developers of whatever background, small ideas or big ones it's all good.
Thanks a lot for this very detailed info. I'm a C/C++ developer, and for the moment I don't plan to learn python. My idea was to get the data from MBLab and move it to some (already existing) C/C++ application that supports rigging, skinning and morph targets, so that I have everything in an ecosystem where I can feel like at home (of course keeping the license terms as required by MBLab). But for the moment this seems like a big effort that will require a lot of time.
After Manuel's decision for discontinuing the project, I still think this is a very important software, perhaps the best for human modelling, and so I feel like I may need to work with the code in the future whenever I need to do some modification.
I always thought MBLab was a "light plugin" (I mean, a Python "script" that used the Blender code and algorithms for all the real 3D work). But looking at the code, it seems that the Python code is actually doing its own implementation of the morphs, bones, muscles... everything.
I feel a bit confused after seeing this.
Why is it not using the Blender implementation for armatures, morphs, IK, etc... ?
Do you think it would be possible to "port" the data (geometry, skeletons, weights, etc...) in MBLab to a lighter plugin that just loads the data into the Blender data structures?
Is there any document somewhere explaining how MBLab works internally?
Thanks!!