Jump to content
Sign in to follow this  
Wells

Holding Weights In Houdini

Recommended Posts

Hey Group,

Houdini has some amazing tools, but It seems that I keep running in to the same problem, which seems essential in working with weights.

I'm looking for a way to hold bone weights.

For example:

If you have 4 bones that you need to weight a single point to. I would like to lock two of the bones weightings for that point so I'm only transfering the remaining weights between the other two bones.

This Is extremely helpful, almost a must in weighting in any program.

Has anybody overcome this problem? Is the solution in Houdini 9? Is it possible to add this feature in upcoming releases?

Share this post


Link to post
Share on other sites

There is the edit capture weights tool with the spreadsheet and the handles on the bones. You can't lock one or more of the individual fields in the spreadsheet as you are requesting.

Is this really what riggers want though? Isn't it wise to make sure that your weights are always normalized? That is what you get when adjusting weights with the spreadsheet and the Edit Capture Weights.

Can you illustrate some specific examples where and why you would want to do this? I have heard this request before but not a real good reason to want it as the result was always normalized in the end.

Share this post


Link to post
Share on other sites
There is the edit capture weights tool with the spreadsheet and the handles on the bones. You can't lock one or more of the individual fields in the spreadsheet as you are requesting.

Is this really what riggers want though? Isn't it wise to make sure that your weights are always normalized? That is what you get when adjusting weights with the spreadsheet and the Edit Capture Weights.

Can you illustrate some specific examples where and why you would want to do this? I have heard this request before but not a real good reason to want it as the result was always normalized in the end.

This little feature is improtant. Most people will not even notice it in the "what's new" list, but the guys who care will recognize it. Often it makes quite a difference in tough moment. In fact many riggers completely rely on it.

While we are talking about this kind of stuff ...

Right now in H, if you have bunch of bones on top of each other, there is no easy ( fast, convenient ) way to select-paint the desired one. I actually can remember talking with somebody ( or maybe chattering on this forum ) about it and was told something like "why you would need multiple layers of bones ?", which is a clear indication that somebody up north is totally missing the point.

No offense, total respect.

Share this post


Link to post
Share on other sites

Why not just turn off the ones you don't want to select (or set them to non pickable) then you can completely reliably pick the one you want.

Share this post


Link to post
Share on other sites
which is a clear indication that somebody up north is totally missing the point.

Hi Peter! It's me Jeff and that would be me completely missing the point. :blink:

Do you think that the Capture Override with it's viewport complement "Edit Capture Weights" spreadsheet is the correct way to approach this? I see it as select a cell (with a bone weight) and RMB lock it (color orange), then adjust the other bone weight contributions and the locked cell(s) stay locked. I wonder about the normalization. The Capture Override SOP will freeze those weights that were adjusted from any upstream weight changes as well.

Fyi, the RFE regarding clamping weights is now in Capture Correct. There is a Clamp High and Clamp Low field. There is also a Limit Regions option.

I still have the list of all the RFE's (Request For Enhancements) from our conversations at DNA. I had reason to re-read them just last week.

Share this post


Link to post
Share on other sites

Wells:

Edit Capture Weights - pick points in viewport and adjust their weighting in spreadsheet. AFAIK you cant lock the weights/bone but you can put exactly the weights you want. I usually do this if I need precise weighting on points and normalize the weights myself. If you select a bone column and adjust the weights, hitting normalize button will normalize weights for other bones, keeping your edited column values

Peship:

If there's bones overlapping in viewport you can hit P in viewport and in the Op Dialog->Capute Region select your bone from the drop down menu.

Thought I do find hard sometimes to pick points in 'Edit Capture Weights' mode and not click on bone weight slider at the same time.

Share this post


Link to post
Share on other sites

editCaptureWeights is really good at what it is doing.

The initial question in this thread was about having ability to lock skin weights for some of the bones when in paintCaptureWeights context. This allows the weights of many points to be fine tweaked in a fast and convenient manner.

In most cases this will make the editCaptureWeights little obsolete, or at least used less often - mostly when needed to clean-up few points here and there.

Painting of skin weights is very time consuming and annoying, so any speed-ups are welcome.

Two examples from the top of my head:

Bunch of points weighted to three bones. You like how bone1 deforms them, but bone2 has too much influence, so you can lock the weights of bone1, then start painting the desired points weighted to bone3. If you try painting weight equal or above 1, this will completelly wipe the weights of the other unlocked bone(s), but the final weight of the painted bone will be equal to 1 - theLockedWeights. Wide areas can be covered in no time.

Or if you want to smooth weights only between bone 2 and bone3 - then again - lock bone1 then paint (smooth mode). if you dont have ability to lock certain bones, the smoothing will mess-up everything.

And so on ...

It is as simple and convenient as this. And very usefull.

AdamJ:

I am well aware of this list, it works great if you have 20-30 bones in the scene, but when doing heavy rigging wich often goes way above 100+ bones the list is getting really looooong. And finding anything in it is getting hard.

I dont know about you, but along the years i used many tools trying to figure out better ways of dealing with this issue - logical splitting of bones in sets or separate lists, hiding/unhiding of these logical groups, isolating in the viewports sets of bones, etc. No one really solves it to a level that suites my needs well enough.

A direct feedback in the viewport does mutch better work than scrolling up and down in the UI. Trust me - it makes quite a difference.

These, i think, are relativelly small features, but while all 3d animation applications have all big things implemented already, the little ones make the difference.

Jeff, i am sorry if my words sound too harsh. This is totally not the point.

If you can convince the developers to implement better constraints, you will gain lots of good karma.

And you really got me surprised that you still keep notes from our conversations at DNA :lol:

All best !

Share this post


Link to post
Share on other sites

Just a quick question.

If you want to lock weights for a bone, but still smooth, are you still putting values only between the 0-1 range?

I was aware of the development of the layer paint methodolgy when it came about during the Wild. At its simplist form it is a push to the capturing workflow into something that was procedural allowed you to work on a "section" at a time, with repeatable results and composite the sections down together to get you a final result. It is not clearest thing in the world as a result of it not being documented fully (ducking) however it can be useful. Personally I didn't agree with some of the changes that were made at the time, but you can't have everything 'your' way.

Personally I have always thought and approached weighting as a straight forward process, much like destructive modelling. I often find users entering the procedural world of houdini and expect capturing to work the same way, but that end result is circular and you end up shooting yourself in the foot when you fight with the tools in that manner. Move forward and get it done. It has worked for me ( on scale and with 100+ bones)

If you want to lock off a bone then paint a layer for that section and leave it to the very end, make a hard mask for it and composite over the previous weighting. Or append by hand a captureOverrideSOP before your deform. Using interactive tools will be a bit of a pain here as you will have to constantly rewire them into the network, but that should give a fighting chance.

if you add/remove bones you break the procedural change and you will have to adjust accordingly.

-k

Share this post


Link to post
Share on other sites

kenny is right...

the capture layer paint system, while awesome and powerful, is A ) not well documented, B ) Not well understood (even by people like me and kenny who were among the first to ever use it) and C ) not /really/ procedural

kenny's suggestion of leaving your hard layer till the end and compng (or overriding) is just about the only solution for this....

Share this post


Link to post
Share on other sites
kenny's suggestion of leaving your hard layer till the end and compng (or overriding) is just about the only solution for this....

although he technically works for me... i didn't make him write that one.

:lol:

Share this post


Link to post
Share on other sites

Hi Kenny,

if i get your question right, the answer is yes. I think a good idea is all captureWeights related tools to do the normalization automatically, there is no reason to go outside of the 0-1 range.

I didn't know that you and Jeff have been involved in the design process of the character tools. But, good job guys - really.

but you can't have everything 'your' way.

True.

If you want to lock off a bone then paint a layer for that section and leave it to the very end, make a hard mask for it and composite over the previous weighting. Or append by hand a captureOverrideSOP before your deform. Using interactive tools will be a bit of a pain here as you will have to constantly rewire them into the network, but that should give a fighting chance.

I am sure you realize how big hassle is this workflow for such a simple thing as locking weights during paintCaptureWeights. It automatically excludes itself as practicaly working solution for this purpose. Can you imagine doing this 20-30 (or whatever random number) times for each bone everyday, for different sets of points ? Will be better to make the paintCaptureWeights SOP do something "on fly" without leaving a trace in the history and without bothering the user, because it's not needed - the end result is either way just weights, how you generated them inside the paintCaptureWeights SOP does not matter - it's not procedural anyway.

Hi Arctor,

you are right about the capture layer paint system - it is really well done, bad documented and sometimes more complicated than needed ( not necessary a bad thing ). And yes, most of the time characters and proceduralism do not live in the same world, but that's ok.

Edited by peship

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×