Jump to content

Muscle Deformers


Jason

Recommended Posts

Hi all,

I was wondering what the thoughts out there for muscle deformers are? Is VEX capable of performing most of what a rigger needs in terms of muscle deformers? Is it missing something vital or can you do most of whats needed right there in VEX?

I've seen some fancy deformers written in Maya SDK but I'm not sure if it's necessary to be able to access weighting info and such like.

Anyone?

Link to comment
Share on other sites

i don't know about using capture weights to make muscle like deformations. real muscles slide underneath the skin, so depending on the kind of action you are looking for it might be better to look at ways to obtain that kind of deformation. i've seen jiggle deformers and there is another kind in maya which is really like a fancy lattice to correct the worst of the capture areas, knees elbows. that kind of thing. but they all work the same by moving the outer surface.

there are a few ways to get believable subtle defromations with existing sops. i've made a few VexSops before but nothing for this kind of work.

the obvious ones off the shelf include, bulge, magnet, creep, lattice, curveclay ... imight have left out a few. crazy things can be done if you are wiling to rebuild your mesh on the fly, which makes it a bit slow, and more of a challenge to texture.

any custom thing you do, you should look at ways to retain existing volume of existing captured geometry. sure extra capture regions, if you go the old way, will get you part way there but not quite.

hope that gets the old bonnet buzzn'

-k

Link to comment
Share on other sites

Hi Jason,

I once did some muscle stuff with the ray SOP.

I first set up an IK system with "skeletal bones" parented to the IK bones. Then I created a muscle structure that was pinned to the bones and had their size and shape dependant on the angle of the bones in question so that they would flex properly. I also added some jiggle to the muscles with a magnet driven by slope, spring, and lag CHOPs that were dependant on the motion of the bones so there would be the appropriate follow through, etc. Next, I built what was effectively a loose "sock" around these and captured it with the aformention IK bones and their capture regions. Lastly, I rayed the "sock" onto the bones and muscles - it worked failry well but was very slow to deal with in realtime so I worked with just the bones and let the rest happen at render time.

I've also crept a polygonal surface onto what was basically a bunch of skinned cross-sections that was then built at render time.

Both way have their ups and downs.

stu

Link to comment
Share on other sites

i tried the Ik muscle solution metioned above with a simliar sock method. although it did work about 80% of the time. it had some large drawbacks, as a result of the nature of Raying geometry. the problem area of the folds in found in knees and elbows were the biggest. the next were the problems with missing raycasts. i tried to triangulate the geometry to help the non-planar polys in the hopes it would produce a more accurate result. it did somewhat but not enough to believe it would be reliable for production.

still it is a decent attempt and the thought process does have some "happy accidents". i've seen some still/animation of a very similar work done by a few people once at DD. i first thought was they had to write their own raycast method ( howard & mack).

i found the best results from a method requiring a bit of savySOP work and requires you to do a lot of building mesh on the fly.

as i said before, i haven't done much in vex at all. so i'll have to wait like you for more information on that area.

there are some wonderful papers online which deal more with a muscle/skin idea.

interested?

-k

Link to comment
Share on other sites

Just to confuse you even more, here are two schools of thought in regards to dynamic muscle simulation:

1. Build the model of the skin with the muscles built in and just deform the bulges that were previously created. (easier to set up, not as many "cool, I never expected that" moments)

2. Build the model of the skin with no musculature and allow deformers acting as real muscles attached to moving bones to manipulate the skin. (longer to setup, lots of profanity during that time, but the payoff can be worth it with the "whoa - that's cool" moments)

Actually, the extras on some DVDs recently are pretty extensive. Two examples that go into some cool muscle stuff are The Mummy (ILM) and Jurassic Park III (same).

Have a look - pretty cool stuff, and you can pick up more than you'd think if you pay really close attention and read between the lines. I'm surprised they went into the detail that they did.

stu

Link to comment
Share on other sites

yes, as stu mention those are the two biggest ways to try to solve this problem, the first is technically less correct then the second, depending on how you go about the first method. you would have to be pretty sneaking to get the pre-determined bulge shapes to behave in a manner which would show the muscles sliding under the skin. the easiest way is to build the creature in question in a segmented manner, then creep patches on to the pre-built surface which in turn is running through a blend to achieve the muscle movements which match the correct bone movements. tricky and you need some SOP magic to properly achieve this. the problem with the second method is how to you attach the skin to the deforming muscles, which are attached to the bones. now here's where there are sublte differences to the approaches.

you can use capture data, regions or proximity, to do the initial capture of the skin, and then find ways to great the muscle bulges when necessary. easier said then done but still possible to do with off the shelf SOPs. you will still run into problems with folds and crinkles because of the caputre and weighting will be crucial for this to work. second biggest hurdle is retaining volume of muscle/bones in the creature.

you can also go the route stu mentioned which is shown in the DVD's. i don't know for sure but i would imagine that they are using a bunch of custom technology to obtain the correct outer skin from their muscle simulations and i am guess based on those DVD's that it is a raycast method. i'm sure the technology has changed since then and it might different. again i'm guessing here PDI and Disney used a slightly different system. there's appears to use a similar notion of capture data but this time it is used in conjunction with springs which attach the outer skin to the muscle deforming. you have to do some calculations at render time to do this efficently but i'm sure there are real time equations now to allow for that kind of computation. the hardest part is measuring the distance between all these points.

really all this stuff is in old siggraph papers. the links i have below carry dates back to 95 for this stuff. so it is "known", and i'm not coming up with this stuff at all.

http://www.cse.ucsc.edu/~wilhelms/fauna/index.html

www.cse.ucsc.edu/~wilhelms/fauna/Papers_ps/anim98tr.ps.gz

the above are perhaps the best source of information on the last method i described.

http://vrlab.epfl.ch/~aubel/MuscleBuilder/index.html

this is more of the first discription, if you look at the mpegs you will notice the pops and blips in the skin they generate. that's the biggest hurdle to overcome in a raycast method.

i'm sure someone out there can dig up a real-time spring/muscle paper now as well.

the power of the web

-k :lol:

Link to comment
Share on other sites

jsut thinking out loud...

with all that creeping and ray-SOPping...whatever happens to the actual model? CG has been so based on modelling "thin envelopes", then cheating the dynamics, that some people may cringe at the thought of taking their creative freedom away in order to get an accurate behaviour of the dynamics....

...guess one should learn to predict the look or volume of the resulting mesh based on drawing muscles or ellipsoids....anyone remembers the cool metareyes plugin for 3dsmax?

http://www.reyes-infografica.com/meta_p.php

they made muscles with metaballs...and they said it was damn fast...their models sure looked cool!)

I can see how that would work for a body, but makes modelling a face an exercise in forensic science reconstruction :)

bone, muscle, fat skin....

hmmmm....one idea might be to model the 3D "skin" around the same skeleton used to rig the muscles, and then compare (diff.) the 2 Skins and use the "procedural" skin to affect the "modelled" one...maybe introducing lag bsed on distance in the process to simulate fatty layers .....not all characters are lean and participating in a fitness contest right? ;)

just my 1 c....

Link to comment
Share on other sites

anyone remembers the cool metareyes plugin for 3dsmax?

they made muscles with metaballs...and they said it was damn fast...their models sure looked cool!)

hmmmm....one idea might be to model the 3D "skin" around the same skeleton used to rig the muscles, and then compare (diff.) the 2 Skins and use the "procedural" skin to affect the "modelled" one...maybe introducing lag bsed on distance in the process to simulate fatty layers .....not all characters are lean and participating in a fitness contest right? ;)

oh yes i know of that plugin. i've never used max or the plugin for that matter, but i've always wondered how they came up with the final skin surface after defining all those muslces? i would imagine that it is a implict surface derived from all those metaballs. now if it would produce a polymesh for you much like a metaball convert in houdini that would be an interesting event.

i've tried to find more about the plugin since they did open source some of the reyes technology. i haven't been to that site in a long while. i always thought it would be interesting to see it used in conjunction with skin/muscle deformations.

what you describe is basically the same kind of thing in that .ps file i posted.

with springs attaching the out lying skin to the deforming muscles you will be able to have a have a more athletic or flabby character, based on the tension of the springs. all theoretical of course:)

flabby is easier to do then a more muscled/defined creature. the only special thing you need for that is a way to help define internal volume of the body. standard rigging tools and SOPs can achieve this with some work.

-k

Link to comment
Share on other sites

what you describe is basically the same kind of thing in that .ps file i posted.

err...yeah *blush* I saw that err... -after- posting, sorry, got the postbutton jitter!

and I haven't tried metreyes either...looks like it Does derive the sking from tesselating the metaballs....the single difference with houdini metaballs if that they can define "curved" or "shaped" blobbies (I'm sure) with proper volume conservation (I'm guessing)

cheers!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...