Toribash like ragdolls

After some learning of the in and out’s of Ragdoldynamics i managed to make a short test animation similar to something possible in the physics driven game Toribash.
It of course allows way more control than the game and was actually kinda very fun to make (and remake because RD is totally not deterministic so after a save and reload the animation breaks but baking every so often avoids the issue)

There is a weird momentum reset midway but i suspect it happened because i baked while the “cache” bar from the previous bake was still up.
In blender it lingers around unless you let the animation play out until the end.

Wow. :slight_smile: This is very cool.

I know this is a showcase post, and not a request for help, so feel free to skip this next part.

Given the same inputs it should produce the same outputs, but sometimes when playback is happening quicker than what Ragdoll can solve frames can be skipped at random (at the mercy of Blender) which can result in different results each time.

The solution is to either force Blender to play every frame, or to only evaluate the results from the recording, as recording will evaluate every frame and should produce the same results each time.

Oh yeah, it is very constant and deterministic. In retrospective i expressed myself wrong, but after reloading the scene it somehow gathers a new seed or something but the movement doesn’t match again with these fully physics driven rigs. Working from start to finish in a go has no issue but it is better to bake as it goes.
So yeah, no real issue just a different workflow than what i tried at first.

Ahaa, yes there might be an explanation for this, thanks for reporting this.

Determinism happens when inputs are the same, and that includes the order in which rigid bodies are added into the simulation. During a normal Blender session, they are added in the order they are assigned. But when you open a scene, they would be added in the order Blender loads them into the scene.

Can you confirm whether the results differ between the first and second opening of the scene? I would expect Blender to do it different from how it was initially created, but at least do it the same different each time it is opened.

However, this could also change depending on what other objects are added to the scene upon the next save… :thinking:

Hiya, i played around with it a little and the difference was minimal in a 57 frames lapse it still desynchronized but was pretty on point with the pre save/load scene. I think this is a problem mainly for purely physical driven characters, as with these ones there is no force keeping them in line with the intended motion a small difference makes the result very different in the long run.

In two different saves (with no added anything) there was no visible difference albeit the anim was short so i guess i might try with a longer one some other time.

1 Like