animate1978 / MB-Lab

MB-Lab is a character creation tool for Blender 4.0 and above, based off ManuelBastioniLAB
Other
1.83k stars 315 forks source link

Closed eye shape key is not really closed #255

Open Anyeos opened 4 years ago

Anyeos commented 4 years ago

Describe the bug The shape key of the closed eye is not really closed, it remains some opened and I compared it by my real eye. On my real eye the upper eyelid is in contact with the bottom eyelid. On the shapekey the upper eyelid remains some displaced to front and does not make contact with the bottom eyelid. For make it worst, the gap is about 1 cm, that is very noticeable.

To Reproduce Steps to reproduce the behavior:

  1. Create any character
  2. Put to full value (1.0) the 'Expressions_eyeClosedR_max'

Expected behavior A fully closed eye.

Screenshots MB-Lab-eyelid-shapekey-screenshot

It is not easy to solve for the generated character because editing the shape key with the eyelash is a pain. I cannot achieve the correct behaviour. I only get an aproximation just selecting by material the eyelash and next doing a loop (Alt+Click) select over the edges of the eyelid. Next I scale it limited by Y axis and I can close the eyelids. But the resulting eyelash are some scaled too and that is not ok. So, a solution from the original base model is needed.

Result of workaround (explained above): MB-Lab-eyelid-shapekey-mysolution-screenshot Anyway, it is better than nothing. :-/

animate1978 commented 4 years ago

I understand.

I think that with the new Expressions editor in MB-Lab this can be fixed? I am not sure when it will be fully fixed though, I have to experiment with the new tool.

I did however play around with a finalized model I have sitting on my hard drive. I have come up with a combination of the expressions that would close the eyelids fully without having to edit the model directly.

You can use "Expressions_eyeClosedPressure" with a setting of 0.2 in combination with the "Expressions_eyeClosed", with the right or left eye lid.

I will look into changing this expression though

Anyeos commented 4 years ago

Yes, I can get a closed eye touching more params but for simplicity (and for correct human behaviour) the upper eyelid is the only that closes completely an eye. The only moment when the bottom eyelid is noticeable too is when i apply more force to close my eye. But in normal blink situation the more moving muscles are from the upper eyelid. What in first place I want to achieve is an animated blink. And second some expressions where I need to make the character close the eyes in a relaxed fashion like sleeping. And there are no muscles applying too much force when you sleep. So a mixture of expressions will not achieve the desired expression because you will notice that the character is forcing him/her eyelids.

Thank you for the suggestion anyway. But what really is needed is a fix from the original shape key of the base model.

I don't know actually where is that model. Is it a complete mesh or is it made from a lot of parts from various json files?

animate1978 commented 4 years ago

Oh yes of course it's not a complete solution, just a suggestion for the time being until that gets fixed.

animate1978 commented 4 years ago

The mesh itself is located in the humanoid_library blend file but it's the JSON files that move vertices and define what a character is.