Keyframing Dynamics

#1
Keyframing Dynamics

I know how to keyframe bone animations, transform animations in C3D.

Is it possible to keyframe models using the physics engine (dynamics) like the example like Rigid_Body_Spiral.jas?

I've tried all the usual key framing steps I do with bone animations... nothing seems to work.
 
#2
I can see how you can bake a simulation. But is that only for baking animation. Any help here would be great... as I can't find any useful pointers on this one.
 

frank beckmann

Well-known member
#3
I know how to keyframe bone animations, transform animations in C3D.

Is it possible to keyframe models using the physics engine (dynamics) like the example like Rigid_Body_Spiral.jas?

I've tried all the usual key framing steps I do with bone animations... nothing seems to work.
I´m under the impression you need that for your USDZ file format experiments - but the advantage of physics is that you don´t need keyframes after adding dynamic tags to the objects. Just recording via baking is possible as you already found out - files size increases dramatically BTW.
(There´s a script herein the forum to export obj-sequences if I recall correctly - not sure if this will help though with your project)

Cheers
Frank
 
#4
Hi Frank,

Yeah, I’m still doing my experiments with usdz! Having a physics engine like in C3D could help to make more complex key frame animations which use physics like object collision. I’m exporting to either fbx or collada from C3D, which I then need to convert to gltF 2.0 (without embedded 64 base). From there I can create usda or usdz.

I played around with dynamics a lot today, and I’m now assuming the feature is for mp3 animation sequences.
 
#5
Has there been any progress here? Similarly I want a soft body physics animation (flags waving) exported via .fbx. I tried baking the animation via Dynamics. That didn't help. Any ideas?
Thanks, Shift Studio.
 

frank beckmann

Well-known member
#6
It seems to come down to how to transport point recording data into an export format?
I made this point animation in about 2 min (with just one shortcut o_O) - but neither FBX nor Collada will support these kind of animation. I don´t know if Autodesk´ s SDK supports it or Martin "just" to implement it.
PointRecording.gif


Cheers
Frank
 
#7
Hi Frank,
Thanks for taking the time to look into it!
So, it looks like you've taken the converted the soft body dynamics into a keyframed version of the plane?
I'm pretty unfamiliar with animating - how was that done?
I also don't know if SDK supports that.
So, it seems that really any physics simulations can't really be exported in any of C3D's current export formats?
Would Alembic file format be the solution for this kind of thing?
Thanks,
--shift studio.
 

frank beckmann

Well-known member
#8
I´m not familiar with this file format as I don´t have any supporting software at hand.
To record dynamics I baked the simulation - then go first frame and keyframe record points. Go next frame record points etc. Delete tags and whatnot needed.

Cheers
Frank
 
#10
OMG! What I just learned in this thread altered my very existence! There IS a way of getting some physics sims from Cheetah into other apps.

Frank’s method did not work for me using Rigid Bodies. Although I was able to key-frame the “Record priority” (whatever that is) after baking, those key-frames obviously also got deleted when I removed the physics tags.

However - another method incredibly DID work. So simple I never even thought of trying it all these years. After baking the simulation, just record your objects position and whatever other values you need as key frames. You can even save time by key-framing only select frames of the sim and having the animation interpolated (of course it will not have the same movement as the actual sim).

After key framing and deleting both the cache and the Rigid Body tags, the animation will still play and CAN be exported to all formats with different degrees of success:

FBX into Blender 2.8 - Prefect!

DAE into Blender 2.8 - retained animation but position and axes of objects all screwed up.

Glb into Blender 2.8 - no animation showing BUT bringing the file into one of the online gltf / glb viewers does show that the animation is retained and plays. So it just might be a matter of how Blender is currently interpreting the gltf specifications (Khrons group is still developing that Blender gltf importer exporter).

The online viewer I quickly used to test the glb file is here:
https://gltf.insimo.com/

Additionally, the Cheetah OBJ sequence exporter also works.

It might also be possible to use the MDD exporter script and the Blender MDD importer but I have not tried that yet.

I am so excited at this point - wish I had time to experiment some more but have a project due.

Would it be possible to create a script to record each object;s position, rotation, scale, etc.. Doing it manually is incredibly laborious.

I do not know if this will work for soft body sims, but it did work with a very simple ball falling and rolling of a plain Rigid Body sim.
 
Last edited:
#12
It seems to come down to how to transport point recording data into an export format?
I made this point animation in about 2 min (with just one shortcut o_O) - but neither FBX nor Collada will support these kind of animation.
What about Unity?
A quick google search revealed Unity can import vertex animation from other apps (maybe special exporter scripts though).

(I really wish we could get Metal GPU support and a decent denoiser for Falcon so there were no need to export to external renderers.)
 
#13
OMG! What I just learned in this thread altered my very existence! There IS a way of getting some physics sims from Cheetah into other apps.

Frank’s method did not work for me using Rigid Bodies. Although I was able to key-frame the “Record priority” (whatever that is) after baking, those key-frames obviously also got deleted when I removed the physics tags.

However - another method incredibly DID work. So simple I never even thought of trying it all these years. After baking the simulation, just record your objects position and whatever other values you need as key frames. You can even save time by key-framing only select frames of the sim and having the animation interpolated (of course it will not have the same movement as the actual sim).

After key framing and deleting both the cache and the Rigid Body tags, the animation will still play and CAN be exported to all formats with different degrees of success:

FBX into Blender 2.8 - Prefect!

DAE into Blender 2.8 - retained animation but position and axes of objects all screwed up.

Glb into Blender 2.8 - no animation showing BUT bringing the file into one of the online gltf / glb viewers does show that the animation is retained and plays. So it just might be a matter of how Blender is currently interpreting the gltf specifications (Khrons group is still developing that Blender gltf importer exporter).

The online viewer I quickly used to test the glb file is here:
https://gltf.insimo.com/

Additionally, the Cheetah OBJ sequence exporter also works.

It might also be possible to use the MDD exporter script and the Blender MDD importer but I have not tried that yet.

I am so excited at this point - wish I had time to experiment some more but have a project due.

Would it be possible to create a script to record each object;s position, rotation, scale, etc.. Doing it manually is incredibly laborious.

I do not know if this will work for soft body sims, but it did work with a very simple ball falling and rolling of a plan Rigid Body sim.
Thanks for all your testing! I hadn't gotten around to it.
Yes, a script would be best!
 
#16
I did some testing on this recently. Solid rigid bodies do actually work & export. You have to select a mesh, click dynamics and bake. You then have to keyframe each key manually which is manually intensive so you have to hot-key. This is very obscure and no tutorial, sadly this is a super important feature but it’s shame longer time users like Pegot only just discovered it. It took me 6 months of using C3D to discover myself! Soft-bodies don’t work however using the same technique.
 

Swizl

Active member
#19
Interesting thread. I've been playing around with Houdini and X-Particles in C4d. Most of those sims are cached as OpenVDB. Also I guess some apps support Alembic output. Of course I have no idea if this would be the best implementation in C3d, but it seems to be the most typical method.

It looks like C3d caches dynamic simulations internally. Maybe Martin could add some type of save cache to an external file format? From the help documents, right now it's only saved inside the .jas document.
 
Top