Deceptively basic sounding question

Hey guys,

So, I’ve been playing around with Ragdoll for a few months now and (think) I have a fairly firm grasp of the fundamentals. However, I’m still yet to find the ‘magic formula’ for what I think will be one of its most simple and potentially most useful cases: adding keep-alive to a character on a moving platform. I’m thinking specifically about something like standing in the middle of the deck of a ship. Not holding onto anything, just swaying with the motion of the vessel, but not veering too far from its initial pose.

I’ve tried numerous combinations for this but I wondered what you pro’s would recommend. I’ve tried tinkering with weld constraints, maya constraints, setting certain markers to kinematic, adjusting stiffness and damping all over the shop… but I still haven’t found a truly pleasing solution. I’d love to hear what solutions others have found for this.

Thanks!

2 Likes

Hi Ben!

No such thing as a basic sounding question here!

I’m loving the pin constraint workflow, I try not to adjust individual markers, and keep limbs in groups for Pose Stiffness

A Pin Constraint only effecting the rotation will try keep that marker in that world rotation - great for stabilizing a character . I use the pose Stiffness to keep the character more intact and less floppy- the Combination of a strong Pin and Pose Stiffness keep this character upright , there are no other constraints or spaces in this video .

The new attach constraint is going to :exploding_head: as its like pinning a marker to another one maintaining its relative position and rotation animated or not.

Animating a person patting their head and rubbing their tummy while being shaking around will preserve those hand positions relative to the head and tummy using the Attach Constraint

Cheers

J

1 Like

A Pin Constraint, with Translate Stiffness = 0. :slight_smile:

Namely, if you left your character in T-pose, on a moving platform, with high-enough stiffness on his group such that he’s able to hold that T-pose, and give him a Pin Constraint on his hip that only bothers with rotations, then he’ll fall with gravity but won’t fall over. If he’s animated, he’ll keep moving with animation, but retain whatever orientation your Pin has.

It’s this technique here, and I think it’s what you’re after.

It’s different from a Weld, in that it allows the character to translate, and its rotation is constrained but softly

It’s different from Kinematic in the same way. It’s soft, and does not affect translation.

Edit: Jason beat me to it :sweat_smile:

2 Likes

the flash running GIF

You’re such a pair of legends, honestly. Out-doing each other with your speedy responses!

This is great, thanks guys. I do have the added complication of requiring this to work on a platform that’s travelling quite quickly through the scene, so I think I need to keep my pin constraint’s translation active too (EDIT: and parent constrain the rPrin to the platform) I’ll try a few things and report back.

Thanks so much, guys!

1 Like

Could always extract the rotation and a get a fraction of the translation onto a locator sim on that then bake and constrain to the moving thing, in theory you should have all the nice wobble on the character and not have to worry about the translation .

J

Yep, I think I know what you mean.

Just to confirm though - the issue I’m getting here is most likely to be the result of too much speed, right?

whooops_01

Haha, that’s hilarious.

Try turning Pose Damping all the way to 0. For anything worldspace, including pin constraints, damping will try and stop things from moving about in the world. And I would probably not use Translation Motion here, doesn’t look like it’s up to the task.

Took a crack at this, and this is how I would approach it.

flyingcarpet_imported.zip (812.1 KB)

In a nutshell:

  1. The rig is parent constrained to the ground
  2. The ground is attached to a motion path
  3. The Ragdoll hip is reparented to the ground
  4. The Ragdoll hip has Translate Motion = Soft
  5. The Ragdoll hip has Pose Stiffness = 0, this leaves the hip following the ground by translation only
  6. The Ragdoll hip and head has a Pin Constraint each, unparented, with Translate Stiffness = 0, this makes the hip up-right as the ground spins about

And that’s pretty much it. The speed at which the ground + rig is moving won’t matter here, since their connection is a reparenting. That’s subtly different from having him following the ground with a Pin Constraint.

I’ve uploaded the scene above for you to play with and look at the settings. The two distance constraints are made the the ground, rather than those spheres. I added the spheres to visualise where they were attached. In retrospect, actually assigning and constraining to the spheres would enable you to move the sphere around which would move the constraint pivot around, which would have been a little easier than fiddling with the parent and child offset.

2 Likes

Generally, looking at your video, I would:

  1. Get rid of any Translate Motion = Soft from groups and individual limbs, you’ll only need it between the hip and ground
  2. Get rid of fingers

For fingers, you can either set their Enabled = Off or their LOD = 1. Both of these will non-destructively exclude fingers from the simulation, which with both speed things up and make things a lot more robust.

1 Like

@marcus … I can’t thank you enough… this is genius! EXACTLY what I need. So many great tips here (and yes, disabling fingers was a great call).

Thank you, as ever, for the amount of time and effort you always put into answering queries on the forums. I’ll report back after a thorough play!

ohh, quick question. Are you keeping the markers in the feet set to kinematic?

My pleasure :blush:

Yep!