Download

Anim Dynamics vs Rigidbody

Hi everyone,

I’m a bit lost between the anim dynamics and the rigidbody node in the anim graph.

In the documentation, both are described as light weight and seemed to have the same purpose.

I have a character setup with some simulated part (belt, a sword…). And I don’t know wich technique to use.

The rigidbody node is simpler to setup as I just need to create one new physical asset for everything and the simulated part can colide with the world (not useful in my case but might become useful in the futur). It’s also easy to blend it with animations (good for me when the character have to draw his sword.

Anim Dynamics is much longer to setup and does not collide with the world (or between each others).

I thought that anim dynamics was lighter as it does not collide with the world but in this video :
https://www.youtube.com/watch?v=FwDT2b-8x9c
The guy explains that Rigidbody is much more effective and should be used.

So, the question is : when should I use anim dynamics, and when should I use rigidbody.

Thanks folks.

The Rigid Body node would be the way to go I’d suggest. Anim Dynamics is a bit of a legacy tool that we had before the Rigid Body node came online.

You’ve linked the video I was going to link to break down the differences, Alan talks about it towards the end of the video:

https://youtu.be/FwDT2b-8x9c?t=12m35s

Thanks :slight_smile:

Glad to here it, rigidbody is much easier to setup.

It would be nice to update the documentation as it is a bit misleading for the newcomers.

Yep, rigidBody node is a bit wired. It needs a physics asset to be set up. The bodies in that phat need to be at which simulation state? All set to kinematic except for those you want to move (then to default)? Or all at default and those moving set to simulate. If its the latter then whats the point? Those would simulate right from the start even without that rigidBody node in your animBP.
Also if you use the rigidiBody node then the things wont be able to collide with external objects - thats a bummer, why is that?
Whats the recommended workflow? Do you make a separate physics asset that ONLY contains the things you want to simulate via rigidbody and keep the other stuff in its own regular phat? Then set the override phat in the rigidBody node and do that? Thats cool, but then still you get no collision, is that feature planned? Or has collision been taken out for performance reasons? If so it gains no extra benefits for those that already have a neat animDynamics setup going. I love the amount of control you have with that, you can dynamically tweak different things like spring and damp values, and move affected bones pre and the animDynamics still do exactly what you want, while the rigidBody completely overrides any bone transforms you might be having from things such as customization. So yeah, there is a bit more things to consider when evaluating animDynamics vs rigidBody so far. I really hope that you guys will keep improving rigidBody and give it the amount of flexibility and control that animDynamics had, then, and ONLY then it really going to be completely superior.

Hello Guys, im very thankfull that this thread exist. I’m on my way around these topics.
I share a couple of questions from Adeptus here.

Which workflow would you guys prefer for a holster on a cowboy leg? The character should be able to get the revolver anytime out of the holster and be able to put it back.
Im looking for someone to work with me on that tech animation topic (paid work). Feel free to drop me a line.

Cheers,
Thomas

Should I use the set the set all physics node in BP or use the rigid node in the animals BP? Or, are these 2 separate things?

JohnADaniels, I believe, set all physics node in BP is different than the RigidBody node in the AnimBP. Rigid Body node is lighter.

Also needs to be mentioned that “Reset Dynamics” Notify (used in animation assets) only resets AnimDynamics and not RigidBody. I have an animation with teleportation and this feature was decisive factor to choose older but, in my opinion, slightly more stable AnimDynamics.

Hello good people!

I have an object of 10-12 stacked logs and one bone at the base of the stack that a character can carry while they run or walk…I could animate the whole stack to have the logs bounce based on a walk or a run, but may require multiple bones to go up the stack of logs and I feel that might get expensive, especially if there are many characters doing the carry? Is there a better approach with anim dynamics or rigid bodies? I want to try and have 1 bone at the base and then the motion to transfer onto the logs like they are bouncing based on speed of character. What would be the best approach to set this up? Anim Dynamics or Rigid body or just animate it on a prop rig?

Thank you all!

if you want each individual log moving you will need at least 1 joint for each log. if you just want the whole stack to move as one and only have the 1 joint and plan on no other physics interactions then anim dynamics is cheaper. add more than a few nodes and rigid bodies becomes cheaper.

I wish there was a combination of rigid bodies and anim dynamics. with rigid bodies even if translation is set to be locked the joints will still try and separate (collision with the sharing bodies is off). on top of that there ALWAYS seems to be some level of jittering. with anim dynamics you dont have to deal with any of that. if you set it to rotate only it only rotates that joint. But what anim dynamics does not do well is collision with small objects. with only being able to set sphere or planar limit (with a plane you cant even scale) it makes it very difficult to get good results of things interacting on a characters body. I want the predictability of anim dynamics results with the precision of rigid bodies.