Fist Drone - Ragdoll Setup Test

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

Just wanted to share an update on this, implementing the tips above:

4 Likes

Yessss that is sooo cool. Thanks for sharing this. :heart: That spinning propeller in the simulation, what if you were to shift the center of mass slightly, such that it would cause a slight rumbling effect as it spins? Like a washing machine with an uneven load. The greater the offset, the greater the rumbling. To the point where it would eventually look malfunctioning.

You can offset it by manipulating the vertices of the shape, making the volume greater on one side versus the other. That could look really cool!

Also, putting like 50-100 small spheres (or meshes!) of debris on the ground could look really cool with those fields. If they had a small weight, like dust or light pebbles. I really like the slight shaking of the stand, but didn’t notice it at first. Really helps sell the idea of a lot of air being pushed around.

2 Likes

Thank you!

Yes, there is actually this rumbling from the propeller implemented, I just dialed it down for this render. But it could be adjusted to get exactly what you describe. I also had to shift the center of mass on the main body piece to the back, otherwise the heavy arms would overweight it when they fold infront into the “fist” :smile: You can actually see how in Maya animation it has to fly much higher when folded in the end.

The dust and other effects are in the works and will be applied. I’m actually rendering these in 20 min in Omniverse in Interactive Path-Tracing, so very easy to rerender. But these are also setup with V-Ray materials for final renders.

1 Like

Awesome, great work. :slight_smile:

Super cool! Love the ground touch moment … it’s stuff like that animators shy away from as it’s extra complicity to worry about

2 Likes

@marcus I read through this thread and tried to apply the same fields to my scene. Interestingly enough, I downloaded the .zip you posted here and looked exactly like your playblast. We updated from 23.4.09 to 23.12.13 today and my fields are behaving differently. This is how this scene looks now.

Does this scene still work for you? Has something changed with fields in the update? I had an airfield in another scene that when I open it in 12.13 I had to lower the speed way down to get a similar result to what I had before.

Hello,

Yes, the fields definitely changed for me too a couple versions back. Had to dramatically lower the values on all the rigs. I think it behaves more as expected now with fields magnitude at 0 though. Before it was not completely off at 0, for my setup at least.

As for this and other drone setups - I didn’t quite use the example Marcus provided here with the Volume Axis Field. Instead it was Newton Field applied to the propeller(s) marker as Used as Source with the negative value, so it pushes the markers out. And , generally, two pin constraints - one for the rotation and one for the translation, so that the drone does not flip. I suspect you could use the VolumeAxis Field if you want a more global effect instead of a local one with Newton.

In this case the Newton field is attached to a shape below the drone, which copies the prop rotations cause I wanted to add some more shake to the drone, but on the other drones I attached directly to the propeller. Similar to the shake we applied here: How to blend Kinematic without affecting the position of the sim?

For my case, I then attach the drones to the Maya motion path (although I use ZooTools motion path rig) for animation in the shot. Similiar to Marcus fish example scene found here:
Aquarium tussle

There is also a seperate Speedometer Rig attached to the drones, which I modified to tilt the drones forward/ backwards depending on the percentage of speed change to simulate accelerating/ braking. It works nicely with ragdoll as it tilts the fields too.

After that I add turbulence and uniform fields to add some “wind”.

We also discussed additional setup issues on other drones here:
Edit Marker Pivot

Thanks so much for the intel @kgr!

Yes, they changed in 2023.04.10, see here:

1 Like