Jump to content
v_m

houdini muscles workflow

Recommended Posts

hi,

has anyone here used the houdini muscles in character setups, do you guys have some workflows... are there any tutorials on how to setup a character with these metaball...things, and what would be some tips for getting them to behave in a predictable manner? if anyone has used these muscles successfully, in any kind of production, please share the knowledge :)

thanks!!

vm

Share this post


Link to post
Share on other sites

check this one out

HOUDINI EXCHANGE ITEM TYPES Scene Files Leopard

Visit My Website

The Toon Character on the main self is deformed by muscles. I was able to find a view of the muscle way back in the first release of houdini 9.0 , can't seem to be able to find that viewing property , Any way you can study this.

jumangic

Share this post


Link to post
Share on other sites

thanks guys, of course I checked all of the above ;)

let me ask something more to the point then...

1. how do you control the flipping of these muscles, is there a way to set up an up vector or something...?

2. I see that by moving/rotating one end of a muscle, this has an (undesirable) effect over the other end, basically, the whole muscle updates and the other end also moves and rotates. this gives an overall instability to the setup, I find it hard to predict what and where something is going to move and deform the mesh unexpectedly, overall speaking, the mesh is too wobbly... I also find it hard to keep the volume somewhat stable, things squash and stretch too much in most poses...

so I was hoping there might be someone willing to explain some of the... logistics behind the 'magic of houdini metaball/muscle setups' :D

thanks again!

Share this post


Link to post
Share on other sites

can you please upload the hip to see what you are talking about.

mangi

Share this post


Link to post
Share on other sites

I can't upload the project I was working on, but here's a sample of some rock solid flipping examples ;)

(obviously, the muscles flip because they're oriented close to the scene's Y axis, which seems to be the default orientation for the muscles...)

flipping_muscles.zip

Share this post


Link to post
Share on other sites

I ran into this problem recently, I hope someone can also shed some light on how to use these muscles correctly in a non-flipping way! I have almost reverted to a stretchy bone setup instead of muscles now for this reason.

I can't upload the project I was working on, but here's a sample of some rock solid flipping examples ;)

(obviously, the muscles flip because they're oriented close to the scene's Y axis, which seems to be the default orientation for the muscles...)

Share this post


Link to post
Share on other sites

I looked into this hip,

the muscles is not flkipping it is the curve that it falls on, this is a nornal part in 3d translation , I think you are suffering from gimbol lock.

Anyway here is a way in which this is resolved by adding whats called an up vector, atleast in xsi an maya. here it may be a Look At well I did mistakenly point it at a path object but got some results . look into something like this for houdini . I did not see nothing on the shelfs

that resembles upvector,

i will see if i can find something in the morning maybe

mangi

flipping_musclesfixed.hipnc

post-2848-1218839969_thumb.jpg

Share this post


Link to post
Share on other sites

The problem is that the metaballs aren't aligned in relation to the tangent of the muscle curve right now. Their orientation is a blend along the curve between the orientations of the null input objects. So in this case, you want to orient the null objects so that they point in a consistent direction that is perpendicular to the curve tangents at the ends.

Share this post


Link to post
Share on other sites
I looked into this hip,

the muscles is not flkipping it is the curve that it falls on, this is a nornal part in 3d translation , I think you are suffering from gimbol lock.

Anyway here is a way in which this is resolved by adding whats called an up vector, atleast in xsi an maya. here it may be a Look At well I did mistakenly point it at a path object but got some results . look into something like this for houdini . I did not see nothing on the shelfs

that resembles upvector,

i will see if i can find something in the morning maybe

mangi

hi mangi

the muscle operator doesn't support a look at/up vector and editing the interior of the muscle and adding look at controllers to the anchors doesn't give appropriate results, the muscle basically keeps flipping, I think, even if the deformation result is visually different

Share this post


Link to post
Share on other sites
The problem is that the metaballs aren't aligned in relation to the tangent of the muscle curve right now. Their orientation is a blend along the curve between the orientations of the null input objects. So in this case, you want to orient the null objects so that they point in a consistent direction that is perpendicular to the curve tangents at the ends.

well, yes, but the question was - how do you do that?

(because adding look-at controllers to the nulls that control the muscle, or to the anchors inside the 'point muscle' doesn't orient the muscle itself, and it doesn't keep it from flipping)

Share this post


Link to post
Share on other sites

hi there.

check into this setup maybe you can find out what you need to get around that issue.

mangi

post-2848-1219063573_thumb.jpg

muscles.hip

Share this post


Link to post
Share on other sites
hi there.

check into this setup maybe you can find out what you need to get around that issue.

mangi

have you tried capturing some geometry with the muscles in your example? you'll see the deformation flip.

Share this post


Link to post
Share on other sites
well, yes, but the question was - how do you do that?

(because adding look-at controllers to the nulls that control the muscle, or to the anchors inside the 'point muscle' doesn't orient the muscle itself, and it doesn't keep it from flipping)

Well, here's one way (attached).

muscle_noflip.hip

Share this post


Link to post
Share on other sites
Well, here's one way (attached).

thanks edward

so what's the catch? I used to attach muscles only to nulls so far, I see that when you attach them to bones they don't seem to flip anymore... is this it? how do they orient themselves though, and where'd that orientation be pointing to?...

Share this post


Link to post
Share on other sites

I used bones because they were convenient and so I could use IK to drive them. The muscle inputs are oriented to the bones since the bones are oriented correctly.

BTW, in a real rig, I imagine someone would use more than one muscle for the entire leg. :)

Share this post


Link to post
Share on other sites
I used bones because they were convenient and so I could use IK to drive them. The muscle inputs are oriented to the bones since the bones are oriented correctly.

BTW, in a real rig, I imagine someone would use more than one muscle for the entire leg. :)

this whole issue of orientation in houdini is blurry to me.... I come from a Maya background, where I had to deal with orientations. in houdini it's all under the hood somehow.... and I don't understand how it goes.

so, therefore, how do you orient muscles.... without using bones? (I don't mind using bones, I just want to understand what's going on with this whole orientation issue)

Share this post


Link to post
Share on other sites

another weird problem of metaball capture (?) :

under yet unclear circumstances, my metaball-captured mesh resets itself to the default pose after restarting houdini, and it deforms from there on, instead of starting from the first animated pose, meaning it throws all deformations all over the place. so I have to reset the first pose to be the default pose and recapture the mesh, in order to go back to normal.

the rig seems to be stable if I key the default pose on the frame 1, and keep that key. but this is not really ok to do, most of the time.

unfortunately I can't upload the file, so I realize it's hard to judge from my description... I'm only hoping maybe someone has experienced something similar, or maybe it's a known issue...

vm

Share this post


Link to post
Share on other sites

I think you're running into two separate problems:

1. Orientation comes from the world space of the object. This can be as a result of many things: lookats, parent objects, pretransforms, etc. You don't have to use bones. You can use any object and it would work the same way (well, except for using IK). If you have pretransforms, you can middle mouse on the object node to see.

2. You're into the capture frame issue. The rest pose for CaptureMeta SOP (ie. NOT regular bone skinning), is stored at frame 0 by default. The CaptureMeta SOP does two things: it saves the rest transforms of the muscles specified at the given capture frame, and generates an initial weighting. If you change a non-animated value that changes where your muscle is at frame 0, that will affect how your skin is captured. Unfortunately, you might not always notice this because the CaptureMeta SOP doesn't always recook (until your file is reloaded). To force it to recapture, click on the "Force Recapture" button on the CaptureMeta SOP. The traditional way to deal with this is to setup your muscles and capture your geometry. Now lock the CaptureMeta SOP and save the .hip file as your new "rest position" file so that you can get back to it later. By locking your CaptureMeta SOP, it won't try to recook and get your possibly changed muscle transforms at frame 0. Now to continue on, you can paint your weights, etc. I hope this makes things clearer.

Share this post


Link to post
Share on other sites
I think you're running into two separate problems:

1. Orientation comes from the world space of the object. This can be as a result of many things: lookats, parent objects, pretransforms, etc. You don't have to use bones. You can use any object and it would work the same way (well, except for using IK). If you have pretransforms, you can middle mouse on the object node to see.

2. You're into the capture frame issue. The rest pose for CaptureMeta SOP (ie. NOT regular bone skinning), is stored at frame 0 by default. The CaptureMeta SOP does two things: it saves the rest transforms of the muscles specified at the given capture frame, and generates an initial weighting. If you change a non-animated value that changes where your muscle is at frame 0, that will affect how your skin is captured. Unfortunately, you might not always notice this because the CaptureMeta SOP doesn't always recook (until your file is reloaded). To force it to recapture, click on the "Force Recapture" button on the CaptureMeta SOP. The traditional way to deal with this is to setup your muscles and capture your geometry. Now lock the CaptureMeta SOP and save the .hip file as your new "rest position" file so that you can get back to it later. By locking your CaptureMeta SOP, it won't try to recook and get your possibly changed muscle transforms at frame 0. Now to continue on, you can paint your weights, etc. I hope this makes things clearer.

thank you edward, reply no 2 clarifies the problem :)

but I still don't understand, at reply 1 - if it doesn't matter what object I parent to, then why my muscles flip when I parent them to nulls, and don't flip when I parent them to bones...?

vm

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

×