More rigging!

I am almost done with the rigging phase now, the only things I have left now are the blendshapes and the displacementmaps that are going to be driven by them. I’ll only be the few we need for this project,  about 5 to 6 blendshapes and probably a couple more displacementmaps. Hopefully by the end of the week I’ll be done with all rigging.

The first thing I started to rigg was the wings, wasn’t that much of a hassle as I first thought it would be, fortunately our animation didn’t call for any folding or excissive fanning. Right now all the the feathers are driven by curves and IK splines which in turn are driven by one hair system, this has the advantage that you only have to tweak one node and it will affect all the feathers. The wings themselves are simple IKs and then the feathers are parented to the closest bone. We will propably add some wind to feathers to make them abit more alive. Here is a little video of the dynamics in action and the controls:

The rest of the rigg is pretty straight forward, arms are ik, I added a extra joint in the forearm to simulate the radius bone. I made some driven keys for the fingers for faster animation, so if one finger curls it affects the others to some extent, I also added controls and finger curls for each individual finger for more control. I also started with the nCloth, right now I’m testing out different settings with a lowpoly mesh, when I’m done with that I’ll save it out as a preset, add it to a mesh with abit more resolution and then we will simulate with that. And lastly I’ll constrain a high poly mesh to the midpoly one, hopefully this will cut back on the time we need to simulate and produce some cool results. Here is a video of some of the controlls and the lowpoly nCloth in action:

Be Sociable, Share!

3 thoughts on “More rigging!

  1. Hey, this is starting to look really nice. Great work on the wings, i really like the way they move.

    Later on, how are you planning on approaching displacements? Will you be using a cage based flow or are you using an unshrunken orig sub div lvl 1? If you’re simply baking displacements directly on your lvl 1 in zbrush (which looses volume when you subdivide it), you should be aware of the fact that your model will end up swelling. It might not cause big issues for you, but displacement tend to end up looking a but “puffy” like that.

    Looking forward to some more progress. Keep up the great work!

  2. Thanks Daniel! I’ll be updating with the final modeling real soon, I would love to hear what you think.

    I’ll be baking them directly on my lvl 1 in zbrush. Don’t really now any other way of doing it unfortunately. If you have a better way of doing it I’m all ears 😀

    Take care!

    • Well… as it turns out I’m still kind of struggling with it

      over here. There are several ways of handling zbrush

      displacements, but as far as I’ve understood it’s hard to pick

      a “right one”. One important thing to know is the following:

      What happens when you subdivide a mesh in zbrush is that it

      shrinks and looses its volume. Let’s say you import a mesh and

      then subdivide it up a few times. When you later go back to

      your lowest subdivision level the mesh wont match up with the

      one you first imported. It will have shrunk along the normals.

      The effect of then creating a displacementmap from this level

      will be a map that gives you a positive white value all over

      your model and then some more where you’ve actually sculpted.

      This means of course that when you later on assign your

      displacement and render it, the model will swell all over. This

      can be fine if you’re well aware of it, but there might very

      well be tons of intersection wherever your character interacts

      with something because of the swelling from your mesh. This is

      what I would call working from a “Sculpted Subdiv 1 workflow”

      as opposed to using the “Original Subdiv workflow”.

      The later refers to when you basically save out an obj version

      or similar of your mesh before you start subdividing, then when

      you’re done with your sculpting you simply store a morph target

      on you lowest Subdiv level and import your original subdiv 1

      model. Then use the “Multi Map exporter” plugin and be sure to

      select “switch MT”. This will give you a nice even grey

      displacement map with 50% gray everywhere but for the places

      where you actually did any sculpting. The issues with this

      approach is obvious. It will basically restrict you from doing

      any larger changes to the model since the effects in the

      displacement map would be too big to give a good

      representation. Therefore this aproach is ideal when you’re

      just meaning to touch up the surface of an otherwise finished

      model.

      The third option would be to use the “zbrush Cage workflow”.

      Simply go to your lowest subdivision level on any sculpted mesh

      and press the Cage button in the geometry tab and then generate

      you displacement using the Multi Map exporter. What the cage

      action does is that it basically shifts the surface of your

      lowest subdiv level to match the highest level. This means that

      when you smooth this model it will quite closely imitate the

      look of you sculpt. This means that the displacement has to do

      a bit less work to create the final look. The mesh or “cage”

      helps it on the way. Then export the cage as an obj and use it

      as the mesh that gets shaded. An important thing here is that

      the displacement can’t be dialed up and down in the shader. The

      value is absolute as the cage moves the angle of the normals of

      the mesh when it takes shape. Make sure to get the correct

      scale from zbrush, but this shouldn’t pose a problem. The big

      problem though (because of course there has to be one), is that

      you basically have to export a new cage from zbrush everytime

      you update your sculpt. In many cases this can be solved if you

      simply make sure to set up a blendshape in the rig that works

      as an adjustment shape and reads your latest cage. As long as

      you make sure to turn on the blendshape before you render

      you’ll be fine. To make it easier you could set up the

      blendhsape to read a referenced file in which you constantly

      update your newest cage.

      This might seem as a nice solution but it poses other problems

      as well. The biggest one is when you start introducing facial

      blendshapes. Lets say you have a head with all you blendshapes

      set up. Then of course you would want to add your cage to this

      as an adjustment shape (a shape you would leave on to

      constantly influence all the others). While doing your facial

      shapes you’ve been altering the form and maybe smoothed things

      out at places to get some nice shapes. Your cage which goes on

      top of it all won’t take this into consideration as it’s

      absolute. If you sculpted anything major in places you might

      end up with wierd looking blendshapes. To smooth this out you

      could try making combination shapes between your cage

      adjustment shape and your facialshape but this of course will

      result in a faulty displacement calculation in that area later

      on. It would also create a lot of issues if you wanted to use

      blendshape driven displacements. I still havent tried this one

      out but you would basically need a new cage for each new map

      you export from zbrush and then you would blend them together

      along with the maps themselves.

      As far as I’m concerned it just poses a lot of problems you

      just rather not deal with.

      Of course there could be something major I’m missing as I’m

      still struggling with this myself. If you do make any

      discoveries on your own I’d love to hear about them!

      I hope this wall of text makes at least some sense. It might not be something you need to deal with at this stage, but maybe it’s worth something in the long run.

      Good luck!

Comments are closed.