Runtime in Unreal?

Hi Marcus,

I saw that Ragdoll Dynamics can be exported through json files to Unreal and I was wondering under which circumstances.

Does that mean that the exported simulation is now taking place in Unreal?

If so, changing the base animation will reflect in the simulation?

Finally, is it something that can be used in runtime while playing?

Thanks,
Juan

Indeed it can. The JSON file contains everything about your physics setup in Maya, in a general-purpose format that most - if not all - applications and games with a similar solver (called “Rigid Body”) can use to recreate that setup.

It would be as if you authored the physics in Unreal, using native Unreal blueprints (i.e. the RigidBody component). The simulation would run natively, including in-game.

What you get out of this arrangement is the Ragdoll workflow within Maya to author and setup your character, with the run-time performance and benefits of Unreal. Similar to how character rigs are setup in Maya, but then exported to Unreal. But for physics!

Yes, yes and yes. :slight_smile:

The caveat however is that it involves scripting. The format doesn’t know about Unreal, and Unreal doesn’t know about the format. So within Unreal, you would (1) use Python to (2) read the file and (3) use it to generate a corresponding Blueprint.

From some experimenting, I found the most straightforward method is leveraging the Unreal copy/paste mechanic, since it appears to be the only way in which to interact with Blueprints via Python. If you’re interested in exploring this, I’d be happy to put together an example script for you.

The plan is, once there is enough interest, to distribute such a script with Ragdoll, such that the process becomes:

  1. Export from Maya
  2. Import in Unreal

The file format would be identical to what you already use to import physics back into Maya.

2 Likes

Wow!! That is indeed a wonderful feature.

I am somehow proficient in Python and not so much in UE blueprints, but I am interested in learning this workflow. I really look forward for the script to be distributed.

Brilliant. :slight_smile: In that case, let’s make this the place to indicate interest; if you know anyone else who might be interested, point them here and let them make themselves heard. I’ve been looking forward to fleshing this out further, especially for Unreal. I’ll post any progress in this topic as well.

3 Likes

+1 Add me. I have needs for assets performing for long long periods of time (i.e. 30-45 min) and would need to make sure the setup is as solid as the one I authored in maya.

As for python and blueprints you don’t have to copy and paste. You can create an empty blueprint and select it and import python into that blueprint. AdvancedSkeleton has a decent example of creating a control rig this way.

Show us the way @marcus

Oh… yes! That workflow looks quite comfortable, I was not aware of this! Here’s hoping it can create more than control-rig specific things, primarily the physics nodes. I will investigate this. Thanks for this!

1 Like

I didn’t know about that myself that is interesting, hope you guys can find the smoothest way possible and do a tutorial for folks to get it to unreal engine, so we can have the best of both worlds in feature focused within Maya and eventually Blender then getting it into omniverse/UE5.

I did quickly investigate this Advanced Skeleton route, but it looks like this workflow is strictly limited to Control Rig, and can’t actually author anything other than Control Rig things, such as rigid body nodes or blueprints in general. :frowning: