BlenRig vs. Rigify?


Incidentally, I don’t know how far the DVD goes into it, but I noticed that CG Master’s DVD on rigging has a whole section devoted to using the Rigify rig.

CG Masters Rigging DVD
This is what I meant by the fact that Rigify is sort of the pseudo standard, and there will be a lot of information available for it. I’ve already seen about three different tutorials on Rigify, and I am sure more are coming.

Just FYI.

Depends on the character. (Probably saw that coming, didn’t you? ;-))

For primary/foreground characters I tend to stick to good old fashioned armature deform + corrective shapes. I find that gives me more control over the deformations, as well as allowing me to more easily fix problems during a production.

For background characters, I often use mesh deform, since it gives good results quickly. But it is harder to tweak the results in a direct, precise, and controlled fashion to get exactly what you want.

The down side to using just straight armature deform + corrective shapes is that the weighting process is tedious and (in current Blender) very painful and frustrating, especially if the character mesh is high resolution. Blender’s weighting tools are very clumsy. Fortunately this is changing with Blender’s “Radish” project in this year’s Google Summer of Code. But it’s not finished yet, and it may be a little while before it makes it into trunk even after it is finished. But weighting should be significantly less painful after that (though still tedious).

Anyhoo… for a character like, say, Sintel, weighting takes me around 2-3 days in current Blender. A basic set of corrective shapes is probably another day. Then things like face shapes are… I don’t know, because I haven’t really done that in earnest for a character like that (Angela made the face shapes for Sintel).

1 Like

RiVit, yes, if you want custom animation controls, you’ll have to do them yourself, whether you are using BlenRig or Rigify. In the case of BlenRig, it does come with stretch controls, though I didn’t think of them for animation but for rig retargeting.

OK… this is interesting… I don’t know why, but I always assumed that you solved deformation problems by adding cleverly placed bones (like chipmasque does). But you use corrective shapes? Such as Hippydrome suggests in his articulation site: (Articulation )?

Dunno why I thought that you solved everything with bones and weights… anyway… interesting that you use shapekey corrections, since I have sort of gravitated towards that myself (mainly because I am a better modeler than I am a rigger, and it was easier for me…) Anyway, I have been experimenting with different way to drive the shapekeys.

The easiest seems to be to add a control bone and then use the Rotational difference between the control bone and the deform bone to figure out when to fire the corrective shape key. But I think it could also be done in python, and simply added to the project and called as a function.

I’ve been meaning to ask someone who really knew what they are doing this:

How do you apply (or drive) the corrective shape keys?

Mark, if I’m not wrong, rotational difference just lacks of axis differentiation. For triggering that kind of driven event, such as a shapekey or a bone driven displacement map, I use another method.
Let’s start saying that all this happens because drivers with local transforms of bones that are in the middle of a constraints chain does not work in 2.58. Fortunately Aligorith has already solved that in his branch and you can now set drivers as easy as in 2.49.

But well, for now, the technique I use is (at least for me) more straight forward. Let’s say you have an arm that bends, so the actual thing that you want to trigger the blend shape with, is the rotation of forearm. As we currently just can’t manage a driver with the rotation of the forearm if it is inside an IK chain, I just add a perpendicular extra bone that will move away from the forearm when it rotates.
So, I add a transformation constraint to that extra bone that will be triggered with the local rotation of the forearm. That local rotation is then translated into the distance between this extra bone and the forearm. That distance value is the one that triggers the driver.

So, in this way you can have control on which axis of rotation you need the event to be triggered by.

I’m attaching a blend file with an example.

PS: with BlenRig you don’t need shapekeys :stuck_out_tongue: . This is bacause of a couple of extra bones I use for maintaining volume in some critical parts of the mdef cage, and most of all, because of the volume maintaining techniques the mdef cage is build upon (strategical topology). The other important thing is that with mesh deform you can achieve skin sliding, whereas with simple armature deformation.


driver_trigger.blend (74.5 KB)

OK, I almost understand what you are saying :slight_smile: – But thank you for the Blend file, that will certainly help!

Yes, the skin sliding thing is most interesting, especially for achieving realism in a human mesh. I must have missed the extra bones you use to maintain volume in the mdef cage. I will have to study your rig some more. So much to learn!

Mark, those bones are the green little bones that are in the weight painting layer.


I don’t want to put words in Cessen’s mouth… but I believe he is referring to the fact that characters in the background (i.e. a shopkeeper in Sintel) are not as important as the “Hero” characters (like Sintel). SO, usually, they aren’t rigged as complex. They are doing simple things and don’t need all of the controls.

It’s OK if the shopkeeper’s arm has a slightly quirky deformation since no one is really looking at him anyway. Sintel, OTOH, has to be pretty much perfect, since she is the main focus. So, it’s OK to use mesh deforms on the shopkeeper, and leave it as it comes, whereas Sintel requires more detail… so, he did both the rig and the corrective shape keys. And, since you are correcting the deformations anyway, you really don’t need the deform mesh. You could use it, of course. You could use a deform cage on a Hero character, and then tweak the result with a shapekey… but why bother? It is adding complexity that you don’t need.

BTW, “Corrective Shapes” or “Deform Corrections” are simply animation terms. The thing you want to look for in Blender is: Shapekey. Generally speaking a corrective shape is just a shapey that gets applied automatically when a joint reaches a certain point. (ie the arm bends and a corrective shape key will be applied based on the angle of the forearm bone… the more that it is bent, the more of the shape key gets applied…)

Check out Hippydrome’s site: (Modeling for Articulation )