Manuel Bastioni Lab, turns Blender in a laboratory for 3d humanoids creation

Not yet. I will add them after the implementation of muscle engine.

No, as far as I know.
But in next version of the lab I will implement a new feature to apply the current pose as rest pose. So it will be exportable in any format that supports the skeleton.

Good news. I decided to include the twist bones as default in lab 1.5.
I will post some screenshots of the results here in the next days.

Manuel, this is a great addon. Have you considered using numpy to speed up some of the functionality? For instance if I change your materialengine.calculate_disp_pixels() to

        import numpy as np
        source_data_image = np.array(blender_image.pixels[:]).reshape(-1, 4)
        npx = source_data_image.shape[0] # shortcut to allow reuse in broadcast_to
        result_image = np.ones((npx, 4), dtype=np.float)

        age_f = max(age_factor, 0)
        tone_f = max(tone_factor, 0)
        mass_f = (1 - tone_f) * mass_factor if mass_factor > 0 else 0

        result_image[:,0:3] = np.broadcast_to(np.minimum(1.0,
                                source_data_image[:,0] + 
                               (source_data_image[:,1] - 0.5) * age_f +
                               (source_data_image[:,2] - 0.5) * tone_f +
                               (source_data_image[:,3] - 0.5) * mass_f).
                                 reshape((npx, 1)), (npx, 3)) 

        return result_image.flatten() # reshapes to 1D array again

Itā€™s three times faster (itā€™s quite a slow operation which is why I looked). If youā€™re interested I would be happy to look through and make suggestions. Are you on github so people can contribute etc?

i would happily sacrifice 3x speed for simplicity any day of the week. unless of course numpy doesnt have to be manually installed. theres a good percentage of users who arent familiar with installing addons let alone extension modules. just one more thing to go wrong.

its not like calculating the displace is something that happens all the time either. i, personally, havent even used that feature at all.

i could be mistaken, since there may be a way to auto install numpy.

last i checked, manuel didnt have a github, nor want one(according to a previous post here i think). but ill let him confirm this.

I too would favour simplicity pretty much always. However numpy is included in blender python so thereā€™s nothing to install or fiddle around with differently on linux v windows v mac. AND numpy is really quite intuitive to use once youā€™ve got your head round all the loops being ā€˜hidden awayā€™. Itā€™s much more like the mathematical description of the process being done so the one line (broken into six!) in my version setting the RGB values of the result_image was converted from 15 lines include a loop within a loop in the original!

Finally, I personally really like programming in python. It seems to be much easier to get things working than other languages Iā€™ve used. However the main criticism I hear is that itā€™s slow compared with compiled languages or even javascript. But by using numpy that criticism is blown out of the water - some numpy operations such as calculating the dot product of two large arrays are significantly faster than ā€˜vanillaā€™ C.

Thatā€™s amazing. Both are very good news! Thx a lot.

However numpy is included in blender python so thereā€™s nothing to install

Shure ? I didā€™nt get itā€¦

Marco, well I must admit that Iā€™ve ā€˜just used itā€™ so assumed it was bundled with the python but the fact you didnā€™t get it troubled me so I tried rebooting to windows and downloading blender there. If I open a python console window and type ā€˜import numpy as npā€™ it seems to work ok. Then I worried that somehow it was picking it up from somewhere else on my computer, especially when I looked through c:\users\patrick\blender-2.78a-windows64\blender-2.78a-windows64\2.78\python\lib\ and couldnā€™t see numpy. However after more searching I found it in ā€¦\python\lib\dist-packages\

So it does seem to be there, at least in 2.78 and recent releases. What version did you try it on?

it seems i have 1.9.1 that came with my 2.74. i do know that i tried to download an addon once that said it couldnt find numpy, or atleast something of that nature. not really sure what kind of effect the numpy version has, if that could cause inconsistencies. but hey, i guess i learned something new today.

i guess we really shouldnt hijack this thread with numpy jibberish unless manuel decides to use it. just saying.

Thank you.
In most of cases I use the Blenderā€™s mathutils, since they are a ā€œdirectā€ access to Blender C functions. Iā€™ve not tested it, but I think that the speed of mathutils is similar to the one of numpy. The code for the image manipulation is still experimental. My idea is to rewrite it for 1.6 (the texture editor) using a completely different approach to compose many layers of features.
Anyway I will try an alternative method with numpy, to better evaulate the best way to implement it.

For many reasons I chose to work alone. Suggestions are welcome, but I prefer them here, as forum discussion. Thank you.

Thank you :slight_smile:

Here is a test with a benchmark pose:


Point taken! I also donā€™t want to divert you from your amazingly productive development work. I understand about you wanting to work alone - I will continue to look at the code but might PM you with detailed things rather than cluttering up this forum.

Amazing feature (and amazing face alsoā€¦).

@paddywwoof Yes i didnā€™t find it and itā€™s avalaible from script ā€˜import numpyā€™ until I install it in BL module, I use 2.78.4.
But now i know there is a ā€˜mathutilsā€™ in BL, is it a module in BL folder or compil part?

@Manuel Any plan to add phoneme expressions to make ManuelLab characters talk ?

Yes, but first I have to implement the muscle engine, to compare the results and decide the best way to implement it: shapekeys vs facial bones.

As much as I like bone based face rigs, if you do it with shapekeys, itā€™ll make doing custom faces easierā€¦

(unless you do some sort of super cool re-rigging thingy)

it would be possible for users to create new kinds of humanoids by making the sculpts? it would be a good way to improve te capabilities of the addon by releasing new paks of characters done by users.

correct me if im wrong, but i believe this project is about having the computer doing the sculpting, and not the users. the current simplicity is excellent.

from a technical standpoint, i think this may be difficult to do, since each custom character would need a custom set of morphing data, which, currently, only Manuel can modify, provided you want to keep your license.

and on the topic of licenses, i think this would be a can of worms. i like Manuelā€™s current agreement, official versions get the CC output, end of story.

I completely misread the website about the licensing of this addon yesterday. Sorry about that!

Of course it would be paks of diferent characters than manuel ones, fantastic, toon, hominids, simian etc.
I dont was thinking on any comercial ideas, simply colaboration of fan users.

Hi Manuel,

before bothering you with this I would like to thank you for creating this software. The project Iā€™ve started a few months ago would be hardly feasible without it.

I have however run into a problem that makes it impossible to load any unfinished character. It could easily be some s****d mistake on my end. Anyway here it is what Iā€™m getting upon trying to load anything created with 1.4a:
[ATTACH=CONFIG]471684[/ATTACH]
Iā€™d be grateful for any possible solution you or anyone else has for me as I really have to get working again.

Thank you

It seems that I canā€™t open your attachment. Can you describe the problem in another way?