Home Technical Talk

Blender- Cannot get rigify rig to bind to mesh

I am trying to animate a pony. I have a bunch of weight groups for fur. I am trying to bind the rigify rig to the mesh just to make sure that everything is working before I move on into more advanced rigging setups for inverse kinematics and xmuscle systems. However, I cannot get the rig to bind with with the mesh, nor can I get the bones to bind with the mesh. Here is a link to the file if anyone can figure it out. I would greatly appreciate it!

https://www.dropbox.com/s/cjkv4yr6dkjk3it/test.blend?dl=0

Replies

  • rollin
    Offline / Send Message
    rollin polycounter
    You add an Armature modifier to your mesh object and there set the link to your armature object.
    The mesh object then needs vertex groups with the same name as deformation bones (check the checkbox!) of the armature

    Rigify does create DEF_... bones. These are the ones you want to use
  • TheMuffinMan9
    The Armature modifier got the rig to bind to the mesh, but in edit or pose mode it breaks away from the mesh and does not move it according to the weight paint at all. 
  • TheMuffinMan9
    So one person on CGTalk said that Rigify is broken and should not be used. He said to rig with individual bones. So that is what I did along with a modifier, except on a dummy mesh where I took four cubes and unioned them together. Then I put one bone going up per each cube. Then added an armature modifier to the cube and the clicked the mesh then bones and parented the object to an empty weight group. It created a new weight group called bone which I plugged into the modifier. It was progress and I think it will work on my pony so long as I can get one thing figured out. Only the third bone going up will move the mesh. The rest just leave it in pose mode. Here is a link to the test file dropbox.com/s/l6s51oe5mk2o4w4/test1.blend?dl=0 
  • TheMuffinMan9
    Because I need to be able to move bones that are not connected to each other that pose facial expressions. However, right now this does not seem possible because of the problem in my most recent post.
  • TheMuffinMan9
    So now I figured out that the only way that I can get each bone to animate, is if they each have their own modifier. Does anyone know how to merge vertex groups so that I only have to use one modifier? I tried merging the bones in edit mode and they are all joined from object mode. But, that did not seem to do anything.
  • TheMuffinMan9
    So right now all I can think of is going through each individual bone and giving it its own armature modifier and painting its own vertex group for where the bone is at respectively. Then applying the modifier after mixing it in with a vertex weight paint mix modifier to the sole armature modifier that I must leave active in order for the mesh to stay rigged. It is a rather elaborate process and if anyone has any ideas on how to make it faster I would greatly appreciate it!
  • TheMuffinMan9
    And I found out that Rigify does work, I think maybe I just had to restart my computer and is faster and more efficient than regular bones because you can always add to the rig. It is just that it is creating vertex groups with nothing in it and it is going to be a huge pain to go through each vertex group and locate each deformation bone and weight paint it. On the tutorials, most people seem to be only applying paint to one vertex group. That is just crazy. There are so many bones. 
  • TheMuffinMan9
    The best way that I can see it is to rig with individual bones so that you can name you own bones and then put them all into a collection group so that you can see which one is which when you have to go and paint all of those vertex groups.  The rigify rigs are so simple, it would be so nice to have a faster way of painting the vertex group. For an advanced rig there are going to be alot of bones. 
  • TheMuffinMan9
    So I have reached the conclusion that what I needed to do was restart my computer as just some random bug was preventing the bones from parenting. Going through by individual bones and extruding them for more armature in edit mode is the best way to do it. There is no better way. Having a faster weight paint system over one vertex group for animating would not be logical and it would not make it possible to animate anything advanced that something good in satire would need to be. And it stays organized in the manner which it was created and from that order you can name each bone. Wherein, they highlight when you select them as you are going through weight paint mode when you have the in front option for the viewport checked on for the bones.So I have reached the conclusion that what I needed to do was restart my computer as just some random bug was preventing the bones from parenting. Going through by individual bones and extruding them for more armature in edit mode is the best way to do it. There is no better way. Having a faster weight paint system over one vertex group for animating would not be logical and it would not make it possible to animate anything advanced that something good in satire would need to be. And it stays organized in the manner which it was created and from that order you can name each bone. Wherein, they highlight when you select them as you are going through weight paint mode when you have the in front option for the viewport checked on for the bones.
  • rollin
    Offline / Send Message
    rollin polycounter
    Wow dude..
    keep cool :)

    I checked your first file you posted and as I thought there is some fundamental misunderstanding going on.

    - First (as you should know now) you have to use the Armature modifier on the model
    - Then your vertex groups are not named correctly. For example they need to be named 'DEF-upper_arm.L.001' and 'DEF-f_toe.L' and so on
    - Weighting is imo very awkward in blender if you are not just painting weights. I wrote my own toolset for it but I haven't released it yet.
    - But you can auto weight if you e.g. parent the model to the armature with auto weights  (there is an explicit option for it in the parenting menu). This is not perfect but should get you going with a solid starting point
    - You might want to watch some (more?) youtube tutorials about rigify 
  • TheMuffinMan9
    I got it figured out. Posted my conclusion in the most recent comment I made before this reply. I do really appreciate your assistance.  Thanks again!
  • RN
    Offline / Send Message
    RN sublime tool
    It created a new weight group called bone which I plugged into the modifier.
    I think you're messing things up.
    The vertex group field in the modifier settings is to only be used with a vertex group for limiting the influence of that entire modifier over the mesh, not for skinning. Almost all deform-type modifiers have this kind of option.

    When you're skinning a character to an armature you leave that field empty as you always want all of the mesh to be affected by the modifier.

    When the "Vertex Groups" checkbox option of the modifier is turned on, the modifier will look for vertex groups in the mesh that have the same name as the bones in the armature object set in the modifier, and assume that each group has weights for that bone of the same name.
    So if I have a bone called "LowerArm.Twist.L" and I want that bone to deform the mesh, I need to have a vertex group called "LowerArm.Twist.L" in the mesh. The weights of that group will be used by that bone.

    If the "Vertex Groups" checkbox were turned off, the modifier would assign weights based on the envelope settings on the Deform panel of each bone in the armature. In this case you wouldn't need vertex groups at all.

    This means a beautifully rigged character can have just a single Armature modifier.
Sign In or Register to comment.