0
$\begingroup$

I have this lower eyelid weight I painted for the middle of three lower eyelid bones. I would like to split the weight between all three bones so that I can form more detailed eye shapes as needed. Currently, the middle eyelid bone rotates X degrees, the more temporal (near ear) eyelid bone automatically rotates 80% of X, and the more nasal/medial (near nose) eyelid bone auto-rotates 60% of X. Thus, I figure that to properly divide the weights, I should (remove them from the middle bone) multiply the appropriate vertices' current weights by 1.25x (temporal) or 1.667x (nasal). However, the Multiply brush (which I never use; I prefer Draw and Add/Subtract) doesn't seem to accept values above 1.0. While I could possibly split off the weights as-is and then use Normalize to scale them up, what is the proper usage of the Multiply brush, and is it possible to have its "weight" exceed 1.0 (as long as the actual vertex's total weight doesn't exceed 100%, of course)? It seems odd to me that a multiply brush would only be capable of reducing weights without also being able to increase them. Thanks!

enter image description here

$\endgroup$

1 Answer 1

0
$\begingroup$

Multiplication reduces values when you're multiplying by a number less than 1, so the behavior of a multiply brush to reduce values shouldn't seem odd. While there is really no such thing as "proper usage", I often use a multiply brush after vertex assignment to create weight gradients, usually using a linear gradient. Whenever I use the multiply brush, I always set it to weight 0.0, which is as close to "proper" use as I can imagine. There is no way to set weight to >1.0.

If you would simply like to multiply the weights of the vertices you have selected, you can use the weights->levels operation. Specifying a value in the "gain" part of its operator panel will multiply your weights by any (positive) number you want, including numbers that are greater than 1.

If I take your question a little less literally, and address instead your end-goal, the general process involved in subdividing a vertex weight group is:

  1. Use vertex groups to divide the area up (ie, just go ahead and paint full-weight left/right/center groups);

  2. For each of those groups, multiply their weights by the group from which you're "stealing" weights. Here, that means multiplying those groups with your lower eyelid bone;

  3. Optionally, subtract each of those weights from the lower eyelid bone (which will leave the eyelid group representing weight that you didn't fully steal with any of your bones.)

In earlier versions of Blender, the native way to do this would be with sequential vertex weight mix modifiers. That's still possible, but it's painful. In recent versions of Blender, this can be done more easily with geometry nodes:

enter image description here

You're best off applying the modifier for performance reasons. There's still some reason to use vertex weight mix modifiers to do the same thing, as GN cannot be applied without losing shapekeys, while weight mix can.

If doing this a lot, it can be wise to make a re-usable node group for GN.

$\endgroup$
3
  • $\begingroup$ @Ninetendraw For step 2, you'd be using geometry nodes as shown to multiply weights, or vertex weight mix modifier. For learning stuff, I recommend reading the manual and then playing. $\endgroup$
    – Nathan
    Commented Jul 26, 2021 at 21:57
  • $\begingroup$ Comment remake because I read the image. Thank you for being thorough! I take it step 2 in the trio would be performed by these geometry nodes? I have never used or studied them, and the need to find a noob's how-to intensifies... There doesn't happen to be a way to achieve the goal by brushes that isn't tedious, is there? $\endgroup$
    – Nintendraw
    Commented Jul 26, 2021 at 21:58
  • $\begingroup$ My comment remake had appeared before I saw you'd replied to my old, separated comments, so only the final sentence of it applies anymore. $\endgroup$
    – Nintendraw
    Commented Jul 26, 2021 at 22:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .