PDA

View Full Version : Freaky problem w bones and weight maps



gfrederickk
04-17-2007, 12:05 AM
Help. I recently finished an animation of a rigged character. The rig seemingly has all of the weight maps properly applied and limits properly set. It worked fine the entire time I worked on it.

But just before attempting a render, the rig went haywire. Most of the bones held on to their weight maps. But my character's arms just flop in the air above the arm bones. The bones seem to semi control the contorting arms, but in a sort of twisting, stoner fashion.

I can't figure this one out.

If it helps: the last thing I did before I noticed the problem was calculate some soft body dynamics. But I don't know that this is the cause.

Any ideas????????? Thanks.

SplineGod
04-17-2007, 01:37 AM
Select all your bones and rerest them. Make sure you do it on your characters rest post with expressions, IK, motion modifiers etc temporarilyl turned off.

One thing Ill point out is that you dont have to use weight maps. I typically use them only if I have to and only after testing bone deformations first. It can save a lot of time and pain. :)

gfrederickk
04-17-2007, 06:36 AM
I'll try resting the bones. I'm not sure I follow you on th weight maps. How then do you match bones with sections of your character? Simply through use og limited regions?

Giacomo99
04-17-2007, 06:55 AM
I've encountered this problem too. Thanks to SplineGod for posting that he avoids using weight maps--it's about the best solution I've discovered myself. (If you search these forums you'll notice that most Lightwave users, like SplineGod, don't use weight maps either.)

The underlying problem is that the implementation of weight maps in Lightwave is--pardon my French, but it's merited in this case--just f***ing terrible compared to any other 3D program out there. I've spent hours and hours playing with it and I still always get weird unexpected results like you're describing--the system just totally, completely sucks.

The long-term solution is just to work around it and hope NewTek puts some effort into improving things in a later version.

Edit: The short-term solution is to do what SplineGod does (he's got tutorials, both free and for sale, at his website) and just use a TON of stabilizer and secondary bones to deform the figure properly. You can get good results this way. Hopefully you have a very fast computer to handle all the calculation.

gfrederickk
04-17-2007, 09:28 AM
Resting didn't work. But thanks for the idea. I can't think of what it can be.

gfrederickk
04-17-2007, 09:30 AM
I guess I'll have to look for other solutions. I guess I'll chalk it up to learning experience.

SplineGod
04-17-2007, 02:27 PM
I'll try resting the bones. I'm not sure I follow you on th weight maps. How then do you match bones with sections of your character? Simply through use og limited regions?

Its a myth that you MUST use weight maps when rigging unless its specifically for use in a game engine etc.

I dont use a ton of hold bones usually. Posing the character in advance so that arms, legs fingers etc are spread a little to reduce bone cross influence helps alot. Ill use the bones to pose the character into a more natural position.
I rarely ever use limited region bones. Its a hold over from when LW didnt have weight maps.

I simply add in the bones the way you generally expect and they work. I test deformations to determine where I might need a hold bone or two.

Heres some examples of rigs that arent using weight maps:
http://www.3dtrainingingonline.com/examples/shoulder_rig.mov
http://www.3dtrainingingonline.com/examples/char_rig_demo.zip
http://www.3dtrainingingonline.com/examples/rig_demo.mov

Go back and make sure that every vertex has a weight map and that every bone is assigned to a weight map.

Giacomo, Thanks! :)

gfrederickk
04-17-2007, 05:27 PM
I appreciate the help. I'm just now examining th difference between the blue dragons offered on your training site.

I followed the books and learned weight mapping for deformations. Useful info to be sure, but it's nice to now know how the industry does it.

Thanks again.

SplineGod
04-17-2007, 06:00 PM
Its a workflow logic thing.
Weight maps add more complexity to a rig and slow things even more so in layout. It makes more sense to add bones, activate them, test deformations and then determine if weight maps are needed at all or if needed, in what level of complexity. :)

Giacomo99
04-17-2007, 06:26 PM
Larry/SplineGod-

You're welcome.

Just by the way, I recently had a short-deadline print project that involved four more-or-less-fully-rigged human characters (two of the figures in the image are frozen):

http://www.giacomomarchesi.com/Pages/D04.html

I ended up doing it all using your method-- with a lot o' bones. I'm not as pleased as I'd like to be with the final result--with four characters and so little time, there was just no time to properly finesse all the deformations.

It would really be great if Lightwave had a usable weight-map system, because ultimately weight maps are just faster to set up (just paint and go) than stabilizer bones--especially since stabilizer bones need to be reparented in Layout if they were created using Skelegons (and in this case, there was no way I was going to create a full set of bones for each character in Layout!)

I'm a big fan of your methods (I've bought several of your DVDs, both from you and KURV.) I'd love to see you address some more "quick and dirty" solutions for rigging, though, because in a lot of cases there's just no time to do things the "best" way.

SplineGod
04-17-2007, 06:38 PM
My take on weight maps...
Its definately not just a paint and go situation. If you create them automatically you have to make sure that the wrong points dont have the wrong weight maps applied. If you paint them its very tedious and you have to watch out for overspray on the model. I ended up cutting out parts and then welding them back in but still tedious. Tuning the weight maps is tedious.

I dont use skelegons since LW8s bone tools.
I model and pose the model slightly in modeler to avoid having to use
weight maps. Hold bones can be instantly applied and tweaked unlike weight maps. Hold bones can be animated and controlled using expressions, cyclist, cycler, relativity etc. while weight maps cannot.
If I see that a model is needing too many hold bones I may go with weight maps but Ill set them up as simple as i can. For example, both arms or both legs might share a single weight map. Ill then use the scene editor to apply multiple bones at once to a single weight map. I try not to use too many bones as well but its easier to get around the slowdown from bones as opposed to the slow down caused by lots of weight maps. )

Nice looking shot too BTW :)

Giacomo99
04-17-2007, 08:02 PM
Larry--

Thanks again! I'm not sure how much experience you have with other apps, but in most of the major 3D programs that aren't Lightwave it actually *is* a lot closer to "paint and go." Lightwave is the only app I've worked with where you can't just paint a map fairly quickly, select a bone or bones, and have it more or less work. Obviously there will be issues with complex setups (i.e, overlapping weight maps) in any app, but in LW I've never been able to manage even the simplest cases.

I bring this up because it's come up quite a bit in my work recently. Hopefully I will have a chance when things slow down a bit (in the next few weeks) to post some detailed examples on this forum and get some help in the matter.

SplineGod
04-17-2007, 08:16 PM
typically if I have to create weight maps Ill select the points directly and assign them. For spreading them out Ill use FIs weight map blur (free plugin).

Luckily when combining weight maps with bone influence the combined values per vertex isnt critical but is when using weight map influence only for games or shockwave export.

gfrederickk
04-18-2007, 12:17 PM
Thanks again fellas. The concept of creating hold bones is new to me. Can you point me in a direction where I can learn more about this?

I also appreciate the insight into other apps. I've only used Lightwave, so far.

gfrederickk
04-18-2007, 02:46 PM
http://www.newtek-europe.com/uk/support/tutorials/tut6/1.html

Good tute.

Thanks again for the advice.

gfrederickk
04-18-2007, 03:45 PM
Larry ----

Just got your DVD in the mail trhough Kurv Studios: Lightwave 3D 9 Rigging: The definitive guide.

I can't wait to go through it.

SplineGod
04-18-2007, 04:48 PM
bones can only really do one thing: grab geometry. Hold bones are used to hold certain parts in place or assist other bones to pull geometry. One example is to place rib or arm pit bones to keep the arm pit from collapsing when the arms are lowered to the sides.

SplineGod
04-18-2007, 04:59 PM
Larry ----

Just got your DVD in the mail trhough Kurv Studios: Lightwave 3D 9 Rigging: The definitive guide.

I can't wait to go through it.


Very cool! I think youll find it quite useful :)

jin choung
04-19-2007, 02:15 AM
personally,

i think that it is a crime that newtek's implementation of weight maps STILL does this!!! i had a job 2 years ago where everything was set and then the skeleton flipped out on me just before render... i had to totally change the shot.

if the solution to newtek's weight map implementation is "don't use weight maps", they should list the weightmaps as being broken.

inexcusable.

also, the advantage of weightmaps is precision. you can (ideally) see exactly which vertices belong to what bone and to what degree. you have a VISUAL representation of what is going on. with hold bones, you have to guess and wonder unless your previous experience informs you of how something's gonna work out. in my view, added complexity is more than welcome in exchange for visual feedback and predictability.

also, weightmaps is the LOWEST COMMON DENOMINATOR (and INDUSTRY STANDARD) so if you want to be able to entertain the hope that your assets can work in not only game engines (which is a huge consideration) but also a multi-app environment, weight maps is the only way to insure it.

and basically, this is the way every other app does it so not having a good weight map system makes lw that much more of an odd duck in the pond and that has consequences in terms of courting users of other apps and recommending lw as a representative 3d app to beginners.

UV MAPS didn't exist in lw for a long time too but i would say that weight maps are just as essential as uv maps.

jin

jin choung
04-19-2007, 02:20 AM
btw, a really EXCELLENT implementation of BOTH techniques is found in BLENDER of all places.

you can set up "force field bones" and the force fields (along with their fall offs) are visually shown. then, having set up a good basic layout, you can BAKE the influence of the force fields into an equivalent WEIGHT MAP for finalizing and cleaning up or what have you!

friggin awesome for quick setup! and if you're the kinda person who likes to use forcefield bones, you totally can and if you need to send that to maya or xsi or a game engine, press a button, boom, you got it!

i REALLY want lw to get a system like this in place.

jin

pooby
04-19-2007, 03:17 AM
The underlying problem is that the implementation of weight maps in Lightwave is--pardon my French, but it's merited in this case--just f***ing terrible compared to any other 3D program out there. I've spent hours and hours playing with it and I still always get weird unexpected results like you're describing--the system just totally, completely sucks.


In my opinion there is nothing wrong with the way LW's weightmapping works.

It's very flexible, because as Larry says, you dont NEED them, but they are very handy to just isolate an arm from the body etc.

the only thing you have to remember is that if you assign a weightmap to a bone, then that particular bone will ONLY affect that weightmap.
HOWEVER.. the geometry within the weightmap can still use other bones.

This, I know confuses people, because they wonder why the bit that they 'painted red' isn't just being influenced by the bone with the weightmap assigned. But it makes sense. you just need to get to grips with what it's doing..

If you wanted the arm bones not affecting the torso and visa versa, then you could just make an arm weightmap and a torso weightmap..

The shoulder bones might not need a weightmap. The shoulder bones with no WM will affect BOTH the arm and the Torso and should provide a smoothing effect between the maps.

jin choung
04-19-2007, 03:25 AM
i assume you're saying that this is the effect when "use weight maps only" is not checked right?

if not, it may not be a bad implementation (which is arguable imo) but it is unequivocally, HORRIBLY DOCUMENTED!

jin

pooby
04-19-2007, 04:27 AM
yes.. I never switch that on.

Don't get me wrong -I think LW's Weightmapping needs a lot of work, (mainly being able to paint in Layout, and to normalise etc) I much prefer XSI's system (mainly because you can tweak it live) , but out of all LW's animation deficiencies, personally I don't find the handling of weightmaps to be a problem area.

gfrederickk
04-19-2007, 11:05 AM
If you wanted the arm bones not affecting the torso and visa versa, then you could just make an arm weightmap and a torso weightmap.

This is precisely the problem with my setup that went kablooey. Had a arm weightmap and a torso weight map. Checked it over a bunch of times and can't find the problem.

At this point, I think the best course of action is to rebone and reanimate the scene using the helpful info i've gotten in this post.

SplineGod
04-19-2007, 04:09 PM
Im with pooby on this one. I also find weight mapping pretty easy to do WHEN needed. Ive done characters for shockwave export and they work fine. Luckily LW doesnt force you to use weight maps if you dont want or need to. Theres a lot of tools for creating and tweaking weight maps. Creating weights off of the normal bone influence is a good idea and has been suggested to Newtek many times. :)