1
$\begingroup$

Edit: Hey, I edited the question to make it clearer, with better images and details. Added some progress as well.

1 - I have this setup: a simple mesh, a bone (Bone), and a vertex group assigned to it:

enter image description here

2 - I want to fold it 90° up, so I assigned vertex weights (see image) and rotated it on the Y axis. I also changed the geometry so the inner side would come together. But the circled vertex would go all the way up, no matter the value I assigned to it other than 0:

enter image description here

3 - What I want is to make it fold in a way that the outer vertex would move only halfway, in order to make the fold look rounder. This is an example of what I wanted:

enter image description here

4 - I duplicated the bone in edit mode (Bone.001), rotated it 45°, then manually created a new vertex group called Bone.001, since for some reason it was not in the vertex group list, and assigned only the outer vertexes to it with a weight of 0.5. They got the same value assigned to the original Bone vertex group. It seemed to work:

enter image description here

5 - So it is somehow solved, but I'd like to ask a few more questions: is there any way to do it with a single bone? Shouldn't the 0.5 weight be enough to achieve a partial deform on the outer vertexes and make the folding corner "rounder"? The image below shows the weight values for the "Bone" vertex group. In the "Bone.001" group, as mentioned, only the outer vertexes are assigned, and they also have a 0.5 value. Any other insights on this would be much appreciated. Thanks a lot!

enter image description here

$\endgroup$
3
  • 1
    $\begingroup$ Not possible unless you add more geometry to it. $\endgroup$
    – John Eason
    Commented Oct 21, 2023 at 15:02
  • $\begingroup$ Hi, thank you! I'll try to add more geometry. $\endgroup$
    – DMZ
    Commented Oct 21, 2023 at 17:06
  • $\begingroup$ Just adding more geometry didn't work, unfortunately. It deforms the same way, taking all the new edge loops up equally instead of "curving" them. $\endgroup$
    – DMZ
    Commented Oct 21, 2023 at 17:25

1 Answer 1

0
$\begingroup$

Add one or more edge loops, create a copy of the rotating bone, set on it a copy rotation bone constraint targeting the main bone, with influence less than full 1.0. Trimming the influence slider will set the exact location of the extra loop.

enter image description here

$\endgroup$
7
  • $\begingroup$ Thanks a lot, I'm giving it a try and will* report back. $\endgroup$
    – DMZ
    Commented Oct 21, 2023 at 18:13
  • $\begingroup$ Hey, I didn't manage to set the copy rotation constraint correctly because I haven't learned to use it yet, but I managed to find a solution, at least apparently, using a copy of the rotating bone, as you mentioned. I'm still figuring it out tho, because I'd like to share what I learned when I get to a solution. Thank you again! $\endgroup$
    – DMZ
    Commented Oct 21, 2023 at 19:51
  • $\begingroup$ Hi again, didn't manage to use the constraints on my end (probably out of inexperience), but I just edited my question with progress on this. $\endgroup$
    – DMZ
    Commented Oct 21, 2023 at 20:43
  • $\begingroup$ To set the constraint: go to pose mode, select the main bone, shift select the Half bone, press Shift Ctrl C > Copy rotation. The "classic" error you probably made is to assign an OBJECT constraint to the armature object, instead of assigning a BONE constraint to the bone. To understand the behaviour of the vertices you need to know that every weight gets "Normalized", so to reach a total weight of one. If some vertices are assigned to two different bones, both with full 1.0 weight, theese values get normalized as they were 0.5 and 0.5 (total = 1.0). $\endgroup$ Commented Oct 22, 2023 at 6:09
  • $\begingroup$ If they are assigned to a single bone only, they get full 1.0, no matter which is the weight, because even 0.0001 is infinitely greater than nothing, so the influence is always full 1.0. So you need at least two bones to get the deform you want: using a fixed bone on the left (not moving) and assigning 0.5 weight to both bones will result in vertices moving halfway, but in a straight line, for the curve you'll need something similar to my setup. $\endgroup$ Commented Oct 22, 2023 at 6:13

You must log in to answer this question.

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