PDA

View Full Version : Rigging In Layers


jasonwestmas
08-29-2010, 10:57 PM
You know I'm really surprised I've never thought of this before and I have never seen a tutorial on the subject but I got this idea when watching Lino go to town at Siggraph. Lino really sparked something in me as I saw him easily adjust deformations using hold bones very cleanly.

Not being a fan of hold bones mainly because I didn't understand how to use them very well. Mainly this case has been troublesome when I wanted to have hard shell geometry (Armor or harder material layers) overlapping a softer deformable flesh for characters. In the past I tended to control all softer and harder deformations using weight maps in max, maya and lightwave occasionally. What I didn't realize is that a simple chain of bones gives much greater control over the bendiness or stiffness of an object. I also never took full advantage of the instant field weighting you get after resting your LW bones because it just seemed like a strange hybrid approach that was unpredictable in many instances. Being pushed into skinning characters in max and maya for so many years I have started to rethink my approach to lightwave and really see it's advantages in skinning for film work.

But the real usefulness comes in when I have two or more layers of geometry inside of layout. I then parent a bone chain to each geometry layer. I can then parent each geometry layer (The object layer) to any bone I want in the other geometry layers. So in fact I have two rigs that are parented to each other. What I get then are separate bone chains that move together in a child/parent hierarchy but when rested do not influence any geometry in any other layers, only the geometry that is in the layer the bones are parented to get influenced. This gives A LOT of controller possibilities! Now I'm sure the pros here already know this but I'm still surprised I didn't know. Maybe this wasn't possible till LW 9.x but there you go. I brought the idea up to Lino at Siggraph and he seemed kind of surprised that I didn't know too. So thanks to Lino for verifying this for me, I might never have tried it.

The attached files show what I'm talking about.

erikals
09-21-2010, 09:16 PM
this needs a video tutorial. :]

jasonwestmas
09-21-2010, 09:55 PM
I'm going character crazy this month so I'll give a demo of what I'm talking about. It's all about minimizing weight maps for layered geometry.

probiner
09-22-2010, 02:12 AM
You mean something like this jason?
http://www.newtek.com/forums/attachment.php?attachmentid=88300&stc=1&d=1285139303 http://www.newtek.com/forums/attachment.php?attachmentid=88301&stc=1&d=1285139359

One of the things i like about using bones and weight maps is that the object list gets smaller.
But i guess perfomance wise you get more profit from not using weight maps right? I ask because i never had a scene with so many wieght mapsthat it would slow down.

Cheers

jasonwestmas
09-22-2010, 01:05 PM
yeah the main advantage is setup time and better performance for organic models with hard surface stuff like armor on top. If you don't make characters like this like I tend to do then you may not need to consider all this. With characters especially, the object count is high anyway and the performance drops even more with weight maps.

The thing about using weight maps with a body of flesh with hard plating on top is that each and every vertex needs a 100% weight assigned to it otherwise there is a chance that a vertex would be influenced by a bone or joint that gives an unwanted deformation. To have absolute control over the position (to avoid pass-throughs), flexibility or hardness of an piece of geometry is to use hold bones. You can use weight maps but of course but the performance is usually pretty bad with a moderately complex character.

Anyway, till recently I didn't know that you could actually rig a model in layers, for some reason I was under the impression that all parts of a mesh needed to be in layer1 in order to deform it with a single rig. It's pretty cool that you can, saves time imo.