0
$\begingroup$

I'm new to Blender and I'm sorry if this is a noob question. I have tried all sorts of things including manual Weight Painting. I have a giant blob mesh. I need to open and close the mouths with armatures but I don't want to distort the rest of the mesh (or distort it as little as possible) while the mouths open and close. I have stretching in weird places all over the mesh. I have tried different parenting options and manual weight painting. I have tried having the mouths be separate objects but the main mesh does not "keep up" with the movement. I think it's because I'm parenting all of the mouths to the main mesh (the base the mouths are attached to) and the only thing that seems to work at all is using Parent with Automatic Weights but because I have to parent them one at a time it makes the relationships across the mesh weird as I keep parenting. I have tried to "group" parent by selecting the base and then all of the mouths but that, of course, just makes the last mouth selected the parent of them all and that didn't work. I want them to open and close at different times. I attached some images and here's a short video showing the problem

Before 1: Before01

After 1: After01

Before 2: Before02

After 2: After02

$\endgroup$
8
  • $\begingroup$ Hello and welcome Nova! i did an edit to your post because there was a markdown issue with the images. Kindly check if the before and after images are still correct. If i made a mistake pls edit the post to rearrange the images. $\endgroup$ Sep 3, 2022 at 15:44
  • 1
    $\begingroup$ This looks absolutely gross, I love it. What you're trying is totally doable, I'll try to make a detailed explanation tonight ! $\endgroup$
    – holybobine
    Sep 3, 2022 at 18:07
  • $\begingroup$ Thank you so much! I really need the help! :) $\endgroup$
    – HawkM
    Sep 6, 2022 at 4:50
  • 1
    $\begingroup$ @Harry McKenzie Thank you for the edits. I'm new to posting. $\endgroup$
    – HawkM
    Sep 6, 2022 at 7:31
  • $\begingroup$ @holybobine I don't want to pressure you or bother you but I am really desperate. If I offer to send you chocolate in real life (via mail) could I bribe you to tell me your Blender Secretezez...I don't know how to fix this and you are the only one that has responded to my post and I am lost. Also, Thank You for saying that you love it! I am working on a game... $\endgroup$
    – HawkM
    Sep 7, 2022 at 21:06

1 Answer 1

0
$\begingroup$

So this was harder thant I thought, but I kinda got something working. The topology makes it hard to skin properly though. I made the simplest rig possible, with just 2 bones :

enter image description here

Here's how to achieve it :

  1. Before anything else, make sure to apply all transforms on your mesh by hitting Ctrl + A > All Transforms

enter image description here

  1. Then create an armature with 3 bones : 2 bones inside the mouth, and a bone named "root" placed at the origin of the world

enter image description here

  1. In object mode select the mesh, then the armature, and hit Ctrl + P > Armature Deform with Empty Groups. This parents the mesh to the armature, but without applying any skin.

enter image description here

  1. For the skinning, I first apply a weight of 1 on the root bone to the whole mesh. To do so go in edit mode, select all your points, and in Object Data select the "root" vertex group and hit "Assign" (make sure "Weight" is set to 1)

enter image description here

That part isn't mandatory, that's just the way I've been taught. Blender doesn't like having points with no weights, so I prefer to give a weight of 1 to all the points, and only then start skinning.

  1. Select roughly the top of the mouth and assign it a weight of 1 on the corresponding bone

enter image description here

  1. Repeat for the bottom part of the mouth

enter image description here

  1. By working this way we've created points with a weight of 1 on multiple bones. This gives the point a total weight > 1, which Blender doesn't like.

enter image description here

  1. To fix this we need to "normalize" our weights (meaning setting our weights to a maximum of 1 on all our points). Here's how to do it without losing the skinning we've done on the mouth :
  • Lock the vertex groups of the mouth bones

enter image description here

  • In Weight Paint mode, hit Weight > Normalize all

enter image description here

  • Blender did normalize the root bone to 0 where we had skinned the mouth. There could still be some vertex with a weight > 1, but since it's only on bones that interest us it should be ok.

enter image description here

  1. Lastly we'll smooth the whole thing. Still in Weight Paint Mode, unlock the vertex groups of the mouth, and hit Weights > Smooth. Adjust the values if needed

enter image description here

Here's a file with the result. I've deleted most of the geometry to reduce the file size.

I realize now I didn't actually answer your question. But I hope this will give you a better understanding on how you can approach this.

If you're still struggling with Weight Paint and skinning I'd suggest this video by AgileDevArt, which goes through the basics with great detail. You should be able to clean your skinning and avoid having unwanted deformations.

Good luck with your mouthy flesh mound, and keep up the good work !!

$\endgroup$
1
  • $\begingroup$ Thank you so much! I really appreciate all of the time that you put into this. I'm going to try to "work the steps" tomorrow...hopefully it will go well. Thank you, thank you, thank you! (Also, thank you for the video link...good vids. are awesome). Thank You! $\endgroup$
    – HawkM
    Sep 9, 2022 at 3:32

You must log in to answer this question.

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