Help - Search - Members - Calendar
Full Version: Vern's Ragdoll physics tests
Hash, Inc. Forums > Technical Direction and Development (Learning Animation:Master) > A:M Tutorials and Demonstrations > Newton Physics
Pages: 1, 2, 3, 4, 5
heyvern
I thought I would start a "fresh" topic. I have sort of volunteered to take over moderation of this forum category since it is obviously one of my favorite features and I think I have a pretty solid grasp of it.

Anyway, onto the show...

Click to view attachment

What I did was place a single instance of a sphere into a chor multiple times to represent major body parts; head, chest, hips, elbows, feet, hands etc. I renamed each shortcut instance so I can select them easily for the next step. I assigned the original model the newton property of "dynamic object". I use this instead of "dynamic sphere object" so I can "link" each part to another part in a chain creating a sort of "body" shape.

In the chor I arranged the shortcuts into the positions and then set the newton link property to "fixed", chose the next item in the "chain" and set the limits of the connection. So I linked the hand to the elbow, the elbow to the chest, the feet to the knee, the knee to the hips and the hips to the chest etc etc. The hips and chest could be interchanged I suppose. Either the hips or the chest could be the "end" object in the chain. I got better results using the chest. Also in the chor I changed the density or "weight" of each sphere. The chest and hips are heavier than the other parts.

The "connectors" or limbs are not really needed except for visualizing the effect. They are just multiple shortcuts of a single tube shape constrained to each part. Since the parts use a defined connection point defined in the newton properties a translate and orient constraint for the limb "tubes" does the trick.

The next step was fiddling with the rotation limits of the newton links. This is where we run of out "options" so to speak. there are only two limits for "rotation" of the link; "Cone" and "Twist". I assume cone is like a rotation around the joint center and twist is the "roll" of the object separate from the cone rotation. To make this work better newton physics needs an option for x y and z limits for the linkage. If we had this it would be almost perfect for creating ragdoll physics.

The next step of course is how to use this "gizmo" to control a rigged character. This may have to be a separate rig added to the character or some new constraints in a pose to control the parts of the character; hands, head, feet, hips etc. That will be the next step in the experiment. Maybe there will be a better way to constrain the bone rotations at that point.

I will post the project file later tomorrow. Kind of wiped out right now.

-vern
steve392
Hey that works real well ,I don't understand a dam word your saying but it looks teriffic Vern
agep
Wow! Very cool Vern
jason1025
HeyVern

Very cool. What happened to the change your pants Video tutorial you were going to create?
TheSpleen
this would have worked perfect with ain't no way video!
heyvern
QUOTE(jason1025 @ Mar 26 2009, 04:07 AM) *
HeyVern

Very cool. What happened to the change your pants Video tutorial you were going to create?


I'll get around to it eventually. Been kind of stuck in a rut trying to find work. I've lost my muse again. Being broke and scared can stifle the creative flow. wink.gif

-vern
jason1025
Hey Vern

I am Sorry to hear about the lack of work. A talented CG artist like yourself should have no problem getting work. I know its not much but I would be willing to pay $150.00 for an in depth video tutorial on change your pants. The Main parts I am interested in is the curtain, how to create it from start to finish and the dynamics part with the wall and the tube. Would anyone else be interested in paying for this? Vern have you ever been to Lynda.com?

I think someone should attempt to create a website with a monthly fee that has AM video tutorials. 100 members times 25 dollars a month equals $30,000.00 per year. How many people visit the forum per day on average? I would pay 25 per month as long as a by weekly video tutorial was added. If you had atleast 200 subscribers per month you could start paying other experts to create in depth videos. I am not sure why Hash doesnt do this same thing. The software doesnt seem to be advancing at this point so the next logical step is charging for education in the form of video tutorials. Shoot me an email if you are interested in this idea. jason@jasonhampton.us

I would be willing to help fund this exploration.
John Bigboote
Cool beans, Vernster!

Looks like you are delving deeper into the Newton controls than I ever have been...your test is very intriguing...STAIRCASE! STAIRCASE!

It should not be too hard to constrain a character to that rig after the fall has been generated (or before?) as long as each 'ball' has a bone...I suppose they all have the default model bone. Anyways, this is a VERY interesting topic- thanks for your research...I WILL follow in your path, can't say when right now as I am all tied up with ZignTrack.

I hope you can get some work... Jason is 'on' to a good point. The question is... IF you build it-WILL they come? (apologies to Kevin Costner)



I've always wondered about 'business models'... meaning: YOURS as a freelancer is to swing like Tarzan from vine to vine, job to job(right now you are 'grasping' for that next vine, and have a falling feeling.)... MINE- working for an employer with a steady check but seeing my profits taken away... what if we did things another way?

A couple years ago I met (via the internet) this guy who makes ready-made animated ads for small southern car dealerships who otherwise could never afford to use animation. He 'pre-makes' ads and then licenses them to his clients on a monthly/yearly basis. This guy was a business-major in college who happened into animation as a way to make a product that he could market... (I say 'market' not 'sell'...there is a difference...) He uses Lightwave to quickly do some 'okay' quality animation with 'okay' production value... and then puts it in his 'stable' of products, and markets them on the internet.

He lives in the mountains of North Carolina near Asheville, and has made MILLIONS of dollars in animation...even though he barely considers himself an animator. He sort-of opened my eyes to a new way of thinking...and then when Martin started 'licensing' Animation:Master, It gave more creedence... anyways...fuel for thought... I'm diggin the 'ragdoll' and will look for more!

'that guys' URL:
http://horsepowerads.com
nimblepix
Thanks Vern, this is really neat stuff!
heyvern
QUOTE(jason1025 @ Mar 26 2009, 06:07 AM) *
I think someone should attempt to create a website with a monthly fee that has AM video tutorials. 100 members times 25 dollars a month equals $30,000.00 per year. How many people visit the forum per day on average? I would pay 25 per month as long as a by weekly video tutorial was added. If you had atleast 200 subscribers per month you could start paying other experts to create in depth videos. I am not sure why Hash doesnt do this same thing. The software doesnt seem to be advancing at this point so the next logical step is charging for education in the form of video tutorials. Shoot me an email if you are interested in this idea. jason@jasonhampton.us

I would be willing to help fund this exploration.


This is in the works as we speak. I and another AM user (he's not so... active with AM these days) are working on that EXACT concept. I also have a single customer who is paying for "one on one" training with another program. It isn't much but it's something. The web site is still in the early early stages at this point (we don't have content yet! wink.gif ) so we don't want the link getting out. Amazing. We must be on to something because our ideas are nearly IDENTICAL. I will contact you.

-vern
heyvern
QUOTE(John Bigboote @ Mar 26 2009, 09:21 AM) *
Cool beans, Vernster!

Looks like you are delving deeper into the Newton controls than I ever have been...your test is very intriguing...STAIRCASE! STAIRCASE!

It should not be too hard to constrain a character to that rig after the fall has been generated (or before?) as long as each 'ball' has a bone...I suppose they all have the default model bone.


The trick will be to modify the "chor proxy model" to match the character. I am still trying to figure out an "easy" way to do this.

Here are the issues involved:

The "proxy" model drives the ragdoll simulation. The bones of the character must be constrained to the objects in the proxy. This could be done with a pose or action. However the proxy model must ALSO be constrained to the character before the simulation.If you wanted to use this within a chor sequence and the character is already in a specific pose how do you get the proxy model into the position or pose of the character? The "hard way" of course is the only way at this point. Moving the objects around in the chor to match the model in that pose.

Or... and this is where my head starts to spin... constrain the proxy model to the bones in the character TEMPORARILY. Once the proxy model is in position, bake those locations. This could also be done with an action I think. Drop an action for each part of the proxy model that has constraints to matching bones in the character. This forces the objects to position themselves to the character's position at that point. Bake those positions and remove the constraints (otherwise you get circularities). Run the newton physics simulation. Now turn on the pose or action for the CHARACTER model to constrain to the proxy.

Once again I write this down so I won't forget it. wink.gif

p.s. I have not tried this yet but maybe the proxy could be a single model using the newton "breakable/Explode object" type. I think you can create links in the same way.

-vern
steve392
Now that IS complex unsure.gif
heyvern
Yes it does "sound" complex. This strange "sound" is what kept me away from playing with Newton physics for a long time. It only "sounds" complex. Like when a chihuahua growls threateningly. If you can't see the creature making that noise you might be frightened. However once you see it it isn't so bad. wink.gif I hope that some solution using newton physics for ragdoll physics could be reduced to a series of easy to follow steps. If I can create a simple model that can be modified for any character that already has newton properties assigned that should make it easier.

This could be a killer feature. There really aren't a lot of applications with this "built in" or if it's available it's a "pricey" add on.

All the elements to create ragdoll physics for AM exist in the newton plugin. The big sticking point I see are bone rotation limits. You don't want elbows or knees to bend backwards or spin around. Right now there is no way to limit that. I intend to make a <sigh> "request" on AM Reports for xyz rotation limits for newton chains.

.... oh crud! Action objects! It just hit me. The proxy model could be created as an action with multiple action objects and constraints... hmm... brain churning.

-vern
steve392
hehe I can hear your head wuring from here ,that sounds like it would be a great tool ,worth a bob or two ,
jason1025
Thats good to here.
heyvern
Well there is no way to create linkage chains in an explode object in one model. Dagnabbit.

This leaves only the action object option which should work almost as well. The trick will be to pick a "rig". If I create some kind of "template" to use this with actions or poses to link the proxy to a rigged character it would need to be set up with a standard rig so dragging and dropping actions to another character would maintain the constraints. So if I created an action to constrain a model to the proxy the action would have constraints in it based on a rig that already exists. Any character using that rig could use the action object thingy.

So here's my thoughts:

A. Action object has all the parts of the proxy model set up with action objects. The constraints are there, the newton properties set up etc.
B. The user then opens this action using the character to apply the ragdoll physics. They now have both the character and the proxy in the same action.
C. Now they move the spheres or objects that represent the body parts/bones to the right location for their character so it lines up.
D. Tricky part! There would be two actions for the process.
One action with constraints from the proxy to the model BEFORE simulation.
A second action with constraints from the character to the proxy for AFTER the simulation.

Steps:
1. Set up the actions for the character to be used. Adjust the proxy to match the character.
2. Drag the first action (proxy constrained to character) to the character in the chor.
3. Bake the actions for the proxy
4. Simulate newton
5. Drag the second action (character constrained to proxy) to the character.
6. Rinse and repeat as needed for each "ragdoll" simulation required

This should work pretty well... but it's only in my head at the moment. I can't use the 2001 rig (it stinks for this purpose... I tried.). So I will probably use one of the "newer" ones floating about like the squetch rig. The key is to have the parts like feet hands and head to be the "end" of the chain that starts at the "center" (chest or hips). This is possible with those rigs right? I have to play around with this. I am also thinking that maybe the rotation limits of the rig for limbs might help deal with arms and legs bending backwards due to Newton not having rotation limits.

(documenting for memory purposes again).

-vern
heyvern
It's lonely out here on the cutting edge <sigh>.

So action objects won't work. You can't assign Newton links inside an action the same as in a chor. In the chor newton links work by selecting other dynamic objects. In an action they won't show up in the list... dang.

So, back to doing this in the chor. This means importing a chor with the prebuilt proxy. This may still work. The imported chor with the proxy would have constraints to the character rig already in place. An action for the character could still be created that has constraints to "objects" in the proxy. However this poses a problem if you need multiple separate ragdoll sequences in one chor. Once you bake the actions for the imported chor proxy you can't put the constraints back in easily. It would require adding the constraints back in by hand for each "object" of the proxy in the chor.

This is not a total deal breaker yet. It might mean more planning ahead of time and breaking up "action sequences" requiring ragdoll physics into shorter "chunks" with multiple chors.

I am setting up a version of this using the "Squetchy Thom" model. I hope to have something soon to demo. Fingers crossed. Wish me luck. wink.gif

-vern
heyvern
HA!

Click to view attachment

As far as I'm concerned this is an unmitigated success. wink.gif. Okay... it's not perfect and I haven't dropped him down a flight of stairs yet but considering the small effort that went into it works quite well. ALSO considering the very small amount of work required IT'S FREAKING EASY to set up. I'm happy. Some tweaks I plan are to fiddle with the rotation limits on the proxy. I made some... uh... errors in my original design. I totally forgot that setting a zero value on twist actually sets it to NO LIMITS on twist. Once I figured that out the limbs stopped spinning around like a whirly dirvish causing the body to twist up like a pretzel. Now that I have it working sort of okay I can test how far to expand the cone rotation limits. I also need to experiment with densities to get body weights better.

I am going to add more "objects". right now there is only one object for the foot. This means the foot doesn't rotate. It stays straight out because it aligns with the calf. If I add another newton object to the chain I can have the foot rotate independantly of the calf. I can do the same for other parts of the body as well.

This worked great with the Squetchy Thom model. I like it. It's a good start.

----

I think setting up the proxy by hand to match the models pose is not such a bad idea. The other additional steps to do this with actions and baking actions is going to be more trouble than simply lining up the proxy parts to the model. there aren't that many. Maybe 15 to 20 chor objects? Doesn't take long really. The key will be putting the constraints in an action or pose so they can be turned off for moving the proxy parts.

-vern
TheSpleen
You are incredible and explain so much,
One day I need to just sit back and just follow one of these forum tuts till I master it.
Add myself a new tool in my box.
Thanks Vern! smile.gif
jason1025
This is great, You have to add this to your tutorials
heyvern
WooHooo!

I couldn't resist:

Click to view attachment

Thom wants to renegotiate his contract with Hash. wink.gif

I've got to do a bar fight and have Thom land on a newton rigged table! Yeehaa!

-vern
heyvern
Oh wow this is fun. It's easy to do too. Yes Jason. I think this will be part of my "tutorials" wink.gif. This is a killer technique. it will be even better when I add in some more newton objects that cover more of the model. The stairs one was tricky because the "joint" objects are not connected so they get "stuck". I laughed my arse off when one of the tests he fell to the side and got stuck hanging off the edge of the stairs by his feet. Unfortunately I didn't save that one. The first test he fell down and then over backwards off the back of the stairs... also funny... but not an effective display of the technique.

If I make the limbs have actual connections it will work better. Rigging is simple. I didn't have to change anything to that rig. You just have to make sure IK is turned on for both legs and hands and constrain the main bones to some of the proxy rig. The next big test will be to transition from a "collapsed" position so the character can get up after falling. Just turn off the constraints or the pose when I add that in to the rig. I suppose poses can be dragged pretty easily into a model so that shouldn't be a problem down the road.

Another cool thing is you could leave out certain parts and animate them by hand separately. Like dragging someone over a rough surface. The legs and feet would bounce using physics while the upper body would be independent of that. You drag the "proxy" end of the chain instead of the character itself. The constraints do their own thing. It would all depend on how the "chains" in the proxy are parented. The parenting can be changed pretty quickly. So you could have the "end" of the chain be the head or even the feet or hands using translate constraints. The character could be hanging by his hands from the back of a moving vehicle for instance or swinging from a rope. The mind boggles. wink.gif

-vern
heyvern
Ha!

One of the parts that is a real pain in the arse is setting user defined pivot points for the proxy joints. So if a bicep connects to the chest object I have to put in guides where they connect and copy those values to the offsets in the newton properties. It's icky and a tad time consuming but not that hard. Newton objects with links have a few predefined choices:

Center between child and parent
Center child
Center parent
Userdefined

I can eliminate using the user defined choice by just adding more objects where the connections are. Instead of parenting the bicep to the chest I parent it to a shoulder object which is centered on child (it won't rotate at all). Then I just use the center on parent option for the bicep. BINGO. Saves a ton of work... but adds more objects to move around for poses. Small sacrifice in my opinion.

-vern
TheSpleen
LOL the stairs ruled!
agep
QUOTE(heyvern @ Mar 27 2009, 10:03 AM) *
I couldn't resist:
Haha! That was hilarious
John Bigboote
That's the funniest 'Thom' movie I have ever seen! I lost count of how many bones must have broken! This makes for interesting reading...Vern' s process- how many trips to the Wawa must he have taken today!

GREAT WORK! Can't wait for your 'paper'...
heyvern
QUOTE(John Bigboote @ Mar 27 2009, 01:25 PM) *
how many trips to the Wawa must he have taken today!


Just the one trip... uh... but I purchased a 24 oz coffee AND a diet red bull. I use the red bull for the initial "rush" and then I drink the coffee slowly during the day to keep me leveled out. wink.gif

I expect a caffeine crash at any momen.........lkjd;f oijp;oie rhjf;lihj ;lihj;lith;lih';lij;lijlzkjd lfdlfsdkjfkjd jklkj/zzzzzzzzzzzzzzz zzzzz zzzzz zzzzzzz....
steve392
Ha ha ha that realy is fantastic .Just a thought ,probably stupid at that but gould you save the chory as an action file and would the stuff all be in that ? ,like I said stupid question
heyvern
QUOTE(steve392 @ Mar 27 2009, 03:15 PM) *
Ha ha ha that realy is fantastic .Just a thought ,probably stupid at that but gould you save the chory as an action file and would the stuff all be in that ? ,like I said stupid question


No, the same problem. If I save out the action it will lose all the chor newton links. Action files don't hold that info. I tried to "force" it sort of and it crashed AM. I think this will work okay for now. If this "feature" or "tweak" gets done in the future that would be good. Personally I would rather have the xyz angle limits for newton chains over anything else. Those limits would make this PERFECT. You could set absolute angle limits for the limbs so the body wouldn't "break". It would fall and bounce within the limits of a "real" body... no broken joints.

One problem I have right now is that the cone and twist angle limits are based on the position of the proxy objects on frame 0 (or where ever the simulation begins). So if the legs and arms etc are bent to match the pose of the character those limits are based on THAT original position. This means if you lower the limits to avoid bending joints too far in the wrong direction the body tends to stay in that position. You can sort of see this in the stairs sample. When he lands at the bottom notice his legs are sort of bent the same way as when he started. Because I have a low angle limit value those newton objects stay close to the original angle. More experimenting needed.

I have found a really great way to set up the proxy. I created a "limb" model that has a sphere at one end and a tube for the straight portion of the limb. The center point is on the center of the sphere. I created a pose that scales the end of the "tube" relative to the sphere center. Now in the chor you use the pose to adjust the length of say... a forearm or thigh using the same model. So the calf is centered on parent. The center of the parent is the center of the sphere. The whole thing works without having to change any of the newton settings.

The other parts of the body that don't need "limbs" or straight sections just use a simple sphere model. That can be scaled using the traditional scale methods. Doesn't need a pose.

-vern
NancyGormezano
fun stuff Vern - Looks very good

Perhaps you might consider somehow incorporating Dynamic constraints?

In my example:

1) created an action that applied dynamic spring constraints (and limited angle to 60 degree). Turned off IK feet and Dynamic constraints were applied to various parts of squetchy rig torso, head, lower hip controller, forearms, hands, calf, feet. Did NOT turn on collision detection - might be a better simulation if it were on - not sure

2) created a chor with just a dynamic Newton ball - ran newton simulation

3) added SqThom, with the Dynamic constraint action & in the chor constrained his hip null to ball COG bone

4) bouncy bouncy Thom
yoda64
Vern , I'm very impressed about Your progress .
I had never think , that this where possible with the actual provided plugin ....
I should be the ingenuity of the community is not underestimate rolleyes.gif

heyvern
That's... uh... quite interesting Nancy. Kind of... scary as well. Like a freakish hipity hop from hell. wink.gif

I'm sticking with newton for now. It is the most "accurate" when dealing with other objects. The collision detection in newton is dead on... it's freaking accurate beyond belief and fairly easy to use. If I can get the rig to work well linking to newton objects it will probably produce the best results. I will play around with dynamic constraints though. I may be missing out on something.

I ran into another "snag". With IK arms and legs I constraint the hand/arm IK to the hand object in the proxy. This works... fairly well. The issue is the elbows and knees. They don't "follow" the elbows and knees of the proxy so you get the legs penetrating newton static objects (poking into the floor, the stairs etc). However this does maintain better limits on the limb rotations. If you are careful in setting up the "fall" you can maintain a close approximation of the proxy ragdoll object.

So... I changed it up a bit. I turned off all the IK and went with straight forward FK. I constrained all the bones to the proxies. So the forearm bends like the forearm, thigh bends like the thigh etc. One to one relationship. This is more accurate for collision detection BUT... dang... now the bones bend backwards too much. Knees snap, elbows snap etc etc.

I've had enough play time for today I think. Need a break. I wish I wish I wish there were xyz limits on newton chor object chains. Please Santa... that's all I want for Christmas... or my birthday is coming up. wink.gif

-vern
heyvern
HOLD THE FREAKING PRESSES!!!!!

BRAIN STORM ALERT! BRAIN STORM ALERT!!!

I have no limits to what can be done with newton physics. If I need a rotation constraint I FREAKING BUILD IT INTO THE PROXY!

For instance, newton physics is VERY ACCURATE even on small close objects. I construct my proxy objects so they have "gizmos" that "block" rotations. Like the letters in my sign board. I put in "pegs" or some such thing that "blocks" an object from rotating!!!!!!!!!!!!

EUREKA!!!!! This will be my new plan. I will use FK and orient constraints. Create little rotation limit widgets on the joints!! Woohoo!

-vern
mtpeak2
This is very cool Vern.

I'm wondering if this could be incorporated into a rig? Action objects can be setup in a pose relationship. It could be setup as part of a Ragdoll/FK/IK switch. The switch will allow the newton proxy to be fitted to the character model and follow any action of the character, til you want the ragdoll simulation. Then turn on the ragdoll switch for the character to follow the newton proxy. Action objects can be accessed in the chor to setup newton, if it's possible. The switch is just for the initial constraint setup, to bake the proxy position.

If you have a project file to share, I could see about making this a feature of the 2008 rig. Definitely worth looking into.
steve392
Now thats one hell of an idea ,I would love to be able to use that,I gotta say Im finding the 2008 rig better and better as I use it
John Bigboote
QUOTE(mtpeak2 @ Mar 28 2009, 06:29 AM) *
This is very cool Vern.
If you have a project file to share, I could see about making this a feature of the 2008 rig. Definitely worth looking into.


NOW your talkin! Hey Vern- that was quite a nice compliment from Yoda himself... the 'Gods' are watchin! I like your 'Gizmo' idea...invisible gizmo's that physically limit the rotation... I use things like that on Hair that help STOP the hair from going where I don't want hair to go... they are invisible shields...or dams... or forcefields... and they really help! Good idear!


Paul Forwood
SADISTS! Your all sadists!

Really cool work though, Vern! smile.gif
mtpeak2
After some quick testing, I don't think this is going to be possible. As Vern stated, action objects can't be linked to each other (I was hoping the option was going to be available in the chor on the action objects). So, unless Steffen adds linking of action objects in an action or pose in the plugin, it will have to be setup in the chor like Vern is doing now. It would've been cool to have this as an add-on feature to any rig. I was looking forward to setting this up.

robcat2075
QUOTE(heyvern @ Mar 27 2009, 03:03 AM) *
WooHooo!

I couldn't resist:

Click to view attachment

That was an every week occurrence on "Dynasty" I recall.

These rag doll tests look great, Vern!
serg2
It COOL!!!! Vern!!! You are ingenious! Thanks for idea!

Click to view attachment
itsjustme
Very cool tests, Vern!
John Bigboote
HA! Thats GREAT SERG! See Vern... 'somebody's' following you...or 'picking up what you are putting down'.
heyvern
QUOTE(yoda64 @ Mar 27 2009, 05:59 PM) *
Vern , I'm very impressed about Your progress .
I had never think , that this where possible with the actual provided plugin ....
I should be the ingenuity of the community is not underestimate rolleyes.gif


Good grief!!!
Sorry I missed this! It snuck in at the top of a new page while I was posting! Thanks for the encouragement.

------------

Now onto some ideas regarding putting this into a rig and making it "easy" to use:

First off the proxy can't be a model. It will always have to be placed in a chor from an imported chor only. The newton links are not saved in actions... at all.. nada... no way. So a chor is the only way to store that information... uh... unless someone knows something about it I don't. wink.gif

A pose however could be added to the squetch rig but... I don't think this is needed. An action would do the trick. The action could even have the correct user properties or poses set to make the rag doll physics work (turning off IK etc). The only part of the action that wouldn't work would be the Newton chains... which... hmm... I'm starting to wonder about that idea....

I have struggled with my idea to use "widgets" on the joints to constrain rotations in the newton chain proxy. So far I have come to the conclusion that newton chains don't recognize the "parent" when calculating collisions. When I created a joint set up with little "stops" to prevent movement they were ignored by both the parent and the child. Totally and completely ignored. The parts just passed right through each each other. I remember now that I encountered similar behavior with my stage crash scene. I had a portion of the stage linked to another part so it would pull the stage down. I noticed that the child object was passing through the parent object. At the time I didn't realize what caused it and i just fixed those frames of penetration by moving that object on about 20 frames. So now I am kind of... stuck... until I figure this one out.

I may have done something incorrectly setting up the physics models, like maybe there was some penetration of models before the simulation which throws it out of whack. so I need to do some very very very simple small scale tests to see if this is true. I kind of was doing that but... maybe small even simpler models.... just one linked chain of two models. Give the joints more space.


-----

CRAZY IDEA NUMBER 2!

I am crazy. I am a nut. I have another solution which I know will work because... uh... well.... I'm pretty sure it will work. I am so close I must give it a shot.

Instead of using Newton chains in a chor I would build the proxy "connected". Actually build a connected body structure. Actually create a little "ragdoll physicis" doll model that is connected together like a real floppy doll. I already have the two models for the joints that "snap" together to create a constrained joint. I already know that newton physics is very accurate when doing small close simulations. This should in theory work like a charm. Just like the pegs on the letters in my sign board. THAT IDEA WOULD HAVE WORKED if Newton chains in a chor reacted to the parent of the chain. They don't seem to.

Imagine a "doll" or "GI Joe" model constructed in 3D "for real". it would have real joints, not "software joints". The joints would work because of the physics simulation not because you clicked a box in a property. I can get past some problem elements like "friction" by using Newton groups in the joint areas that have NO friction at all, reducing the "bounce" just for those parts that touch. If the parts inside the joint have no friction and don't "bounce" too much they would swing and move like a real joint. Like spraying some WD40 in there. wink.gif

This is "more work" but vastly improves the concept. First off the whole proxy can now be built in an action object as I wanted to do previously. You would drop an action with the constraints for the rig and proxy objects already set up. Maybe the proxy could be built in one model as an explode/breakable object... but... I'm not making any promises. Breakable/explode objects don't behave "exactly" the same as dynamic objects... but it is worth some testing. Plus with some really really really extreme force the legs, arms and head could pop off.. wink.gif (not really. I would set the force required to some huge value).

This is going to be a bit more... radical. A "real" physically "connected" construction. Instead of using numerical, plugin defined connections and pivot points I would be using the actual simulation within Newton physicis itself to create these chains and pivot points along with the angle limits. There would be actual modeled physical connections to keep the limbs together. My previous idea only needed "blocks" or "stops" to prevent rotation. The newton link property kept the parts together. In this new idea I would have to make the joints in such a way that they stay connected. It will probably slow down the simulation with all of those collisions but it shouldn't be too bad.

I don't know yet how well this will work. I have confidence but.... yikes. I plan to create a small single chain model and test it out this evening some time.

Wish me luck!

-vern
heyvern
QUOTE(mtpeak2 @ Mar 28 2009, 09:29 AM) *
This is very cool Vern.

I'm wondering if this could be incorporated into a rig? Action objects can be setup in a pose relationship. It could be setup as part of a Ragdoll/FK/IK switch. The switch will allow the newton proxy to be fitted to the character model and follow any action of the character, til you want the ragdoll simulation. Then turn on the ragdoll switch for the character to follow the newton proxy. Action objects can be accessed in the chor to setup newton, if it's possible. The switch is just for the initial constraint setup, to bake the proxy position.

If you have a project file to share, I could see about making this a feature of the 2008 rig. Definitely worth looking into.


It took a few extra reads of your post to get the idea but it makes sense. Instead of using actions a pose WOULD be better. If the Explode/breakable object "single proxy model" idea works this is DEFINITELY an option and might be easier to do. The proxy model would have it's own pose constraining to the squetch rig. The character would have one pose that links to the proxy.

The only problem is that you would need to "bake" the bone position keys for the proxy before the simulation... hmm... wait... maybe not!

Newton ignores constraints totally. You can put a constraint on a newton object all you want but it won't do anything.... AFTER THE SIMULATION STARTS! The simulation I think would override the constraints on the proxy!!!! The position of the proxy objects would stay where they are initially defined by the pose. The simulation would start from that point (if you set it to in the chor properties).

I have to test this... man... I haven't been this excited about AM since doing Change Your Pants! wink.gif

p.s. I was talking to someone on Skype last night about this project and he sent me a link to this PS3 "game":

http://www.us.playstation.com/PS3/Games/PAIN

wink.gif

-vern
heyvern
Here's a look at the joint I built last night. To make it "real" I would need to incorporate a "peg" to hold it together. I will probably really really simplify this and make the joint more "loose". As it is now though there is space all the way around every part. Neither element touches at all. I also checked the Newton bounding hull created and it's dead on accurate.

So the whole proxy model would be constructed using joints like this. I need to make them looser so it won't be such a hassle for posing. I want to add in poses so the joints can be rotated easier and stay "aligned".

If this could be done in a single model it would be MUCH easier.

What happens is that if the joint rotates to far in the opposite direction it would "stop" because it hits that angled part on the other side. What happened in my tests is that this shape was totally ignored. The joints spun around and passed through each other.

Click to view attachment

-vern
John Bigboote
Cool! I like the turn your research has taken... very PRACTICAL... that game PAIN is totally the idea... hilarious! Keep taking your ginko-geloba, wash it down with WaWa coffee... and for Gods sake...EAT! I've got a feeling you are neglecting that...
heyvern
Thanks dude! Going to visit the folks right now for dinner and a movie. I check on them everyday to make sure no one has fallen and can't get up... uh... and get free food... and... fix computers... warn them about email scams... make sure they don't eat rancid fax seed (long sad story). I have insisted that ALL remnants of ANY flax seed be removed before I visit. wink.gif

I just checked google and apparently flax seed and flax seed oil is VERY healthy but goes rancid at the drop of a hat. wink.gif

-------

Preliminary tests of a joint made of two toruses with a peg through them connected to cylinders works perfectly.

The joint is HUGE (that sounds dirty) and I had scale world turned on which is why if falls so slowly. wink.gif
Click to view attachment

I need to create a better joint (one torus for each "part" wiggles back and forth too much. Need to have a "slot" type connection like my other sample). I also will add a pose for an adjustable "angle limit" and I should be good to go. It works with the breakable/explode single model as well. WOOOHOOO! I think the proxy can be in one model now!

-vern
steve392
Looking good Vern ,that joiny looks good how it moves and sorta wiggles at the toruses , torus's , tori ummm

Paul Forwood
Looks natural to me. Nice one! smile.gif
heyvern
The one really cool thing about Newton that makes it ideal for doing rag doll physics is being able to set different "weights" or densities for different parts within the same model or even the same mesh. For example the cylinders on that sample are heavier than the "joints". You can see how they "react" strongly after hitting. More so than the joint area. If I chose to I could even make one end of the cylinder heavier than the other.

This can be done through out the rag doll system. The head can be heavier than the hands. The thighs heavier than the biceps etc etc. You could tweak these values so a short fat character would fall differently than a tall thin character. A tall thin character wouldn't have the same weight distribution as a short fat one and would probably bounce more. A short fat character would have more weight in the upper torso and have more "softness" when bouncing. A tall thin character would almost have weight distributed equally through out the body and bounce with less "softness". This can be adjusted by changing densities of the body parts and be included in a pose. A slider to increase/decrease the "weight" of the hands, feet, head or whatever. Make the body more or less "bouncy" etc etc.

(posting ideas for reference and documentation)

-vern
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.