Fist Drone - Ragdoll Setup Test

Testing Ragdoll setup on another drone:

1 Like

Cool…
I wonder… are the limbs key frames animated ? Or did you use any field ?

Very cool, thanks for sharing!

If I had one critique however, it would be that it feels as though the drone is being held up by a huge rubberband. Even as it hits the blocks, it’s as though the rubber band keeps on going, getting more tense, until eventually pulling the drone through the blocks.

I think this is due to the Pin Constraint, which is effectively just that. A big old rubber band to a position in world space.

What I would explore is putting an actual jet engine underneath the ship, something that pushes the ship upwards - instead of pulling it. There will soon be a dedicated constraint for this (a Force Constraint), but until then you can put an e.g. Newton Field on a sphere and either parent or Attach Constrain it to the ship.

Then you can make a field follow it around, now your sphere is a jet engine. The challenge will be balancing it, which is what real-life drone software specialises in (and what Ragdoll will eventually enable too!). So perhaps a balance between Pin Constraint and fields could help pull off the final effect.

1 Like

Thanks!

Only two key frames on the limb controller → standard position and folded into “fist”. Everything else is Ragdoll. Yes, there is a strong Turbulence and Vortex fields , Scene Scale is 1. Also each limb has custom weight and limits set. Additionally there is an extra vibration across the whole rig from the extra marker on the propeller, with Transform Stifness set to Soft.

Also the limbs and the head are IK - at first seemed complicated to set up, but ended up just skipping all the markers/ joints inbetween the body and the “hands/fingers” and works well.

1 Like

Thanks so much for your feedback, just what I was looking into myself! Definitely agree that could be improved.

Actually, same as the drone I’ve shared before, the Drone is held in the air by Custom Pose set ~-0.6 on the Propeller marker. And I have noticed similar issue on that other drone as well. There is no Pin Constrain, but a Locator that’s attached to Motion Path is used which is a Parent of the whole Drone. So it tries to follow the Locator as in the final result it should be art-directable how it flies in the shot, so the Motion Path is needed.

Will definitely experiment with the field you mentioned as this is how I wanted to setup it up in the first place, thank you! And the self-balancing feature for something that flies like a drone would be just amazing!

Aha, yes that makes sense.

Under the hood, the Pose Space = World is identical to a Pin Constraint and a Custom is a Pin Constraint plus the normal Local space. It’s a little confusing, I know. That’s why we’re looking at deprecating the Pose Space altogether, and only have a Local space along with the Pin Constraint for anything world like in this case.

Actually, thinking about this. I think a Pin Constraint without Translate Stiffness, along with a field, should be enough to balance it naturally. The Pin Constraint would keep it upright, and the field would push it upwards. The effect should be almost identical to a self-balancing drone!

1 Like

Hello Marcus!

Great idea, thank you!

I have been messing with this setup, but for some reason I can’t get Newton Field to follow the Marker when set as Use Selected as Source. The field always seem to remain at the original position of the marker at play time.

I tried with just primitives and same behavior.

What could I be doing wrong?

Thanks for your help , I appreciate it!

EDIT: It does work in a fresh scene, oops (but does not visualize the field force with colored lines anymore for some reason). Probably something messed up in my scene with the rig.

1 Like

Wuuw, those force lines are big. :sweat_smile:

I’ve got some ideas on how to straighten the magnitude of fields out for an upcoming release, this madness has to stop haha.

As for why it isn’t following… :thinking: Unclear, I can see in the Channel Box that the field is being driven by something. It’ll only work with a Complete or Unlimited licence however, because it needs to read the output from the simulation in real-time past 100 frames. That could be it?

Yap, that’s running on Unlimited. Debugging…

EDIT: Turns out Viewport 2.0 Motion Blur On is what caused the Field not moving with the Marker XD. Works with it off.

Hah! Yes I have seen this! From what I gather, motion blur messes with evaluation, such that rather than evaluating each frame, it will evaluate the current frame, go backwards (without updating the viewport) and evaluate and a 0.5 frame, and then possibly also forwards another 0.5 frames, before actually rendering anything. For motion blur, this makes sense. But for simulation, it makes absolutely no sense haha.

Sometimes however, simulation does work. I haven’t yet found a consistent behaviour for it. Not enough to solve the evaluation problem at least. Keep an eye out, and if you spot a pattern - such as only with specific nodes like IK or follicles in the scene - let me know.

Hello Marcus,

Yeah, makes total sense about motion blur!

Still trying to set Self Balancing idea up , but can’t quite dial in the Field - the drone either falls down or gets blown away. Not exactly sure how attenuation/ magnitude negative or positive direction / distance work together as I’m getting dramatically different results by adjusting them slightly. The Pin seems to work with trying to keep it straight in rotation though, but with no Translate Stiffness it just, at best, gradually slides away.

Any chance for a quick example with maybe just some primitives on how that idea could be setup?

Thank you!

Hey hey,

I had a quick go at this, and it’s not super easy :sweat_smile: But it can be done!

fieldsfly.zip (13.6 KB)

I didn’t end up using the Use Selected as Source as I found that it would too easily fly off. Unclear what a good solution to that would be… :thinking: It’ll need to slow down as it gets too far away from a given target position, but not act like a rubber band like it does with a Pin Constraint.

But here, you’ve got your acceleration and direction of flight coming from the field, with the Pin Constraint controlling the orientation of the drone.

This would be a good case for having fields assigned to specific Markers, rather than all of them. In this case, I’ve set Ignore Fields = True to the falling blocks. In your case, with the extra limbs on the drone, they would all be affected by this field unless you do the same. If they are all affected, it would look as though they all have a motor driving them forwards, whereas what you really want is for just the body to have the motor, and for the other parts to be attached. Like the Pin Constraint does.

2 Likes