Baking Geometry Nodes Animation to the Mesh?

I have a geometry node setup similar to this tutorial (https://www.youtube.com/watch?v=K-v2erXztnY&ab_channel=SketchesForHumanity) where I am using an sphere empty and a VertexWeightProximity modifier to drive the animation of some point instanced, cube objects.

I want to be able to export this animation to Unreal Engine, but I am stumped on how to convert the Geo-Nodes to a mesh and how to bake the animation to the mesh. After some googling, I seem to have found others having a similar issue trying to achieve the same thing. Does anyone have a solution to this?

After some googling myself, I found this:

https://docs.blender.org/manual/en/latest/files/import_export/alembic.html

This seems like it could be a viable solution. Although, it seems like Unreal Engine doesn’t like something about the .abc file when I go to import it.

I tried importing a cloth sim using the same method and it worked perfectly. Do I need to do any sort of baking before hand maybe? At least with the cloth sim, I baked the simulation. There might be some sort of issue with the fact that the geometry nodes are instancing objects onto points. I’m going to keep trying some things and hopefully find the solution. I think Alembic is definitely the way to go though.

I have absolutely no experience with alembic. If instances are the problem, maybe you can realize the instances in the geometry node tree, to make them actual geometry?

I’ve been trying a bunch of stuff, but I’m going to post what I have found that works. I baked the actions of all the objects, the geometry node plane included. Then export the objects, including the sphere empty, as an Alembic.

I think the biggest issues come with the import of the object into Unreal Engine. You have to be sure to uncheck the box for the importation of the plane and ONLY import the instanced rectangles (or any object that would be instanced with the geometry nodes.) It’s also proven to be important to follow this guide here for other settings (https://docs.unrealengine.com/4.27/en-US/WorkingWithContent/Importing/AlembicImporter/).

I’ve run into a few issues with lag when I put the object in the game level, but I think it’s to be expected with the default compression settings. Overall though, it seems that the Alembic export/import method totally works, but I will still need to work out some kinks to get better performance within Unreal Engine.

Thanks for all the help @LordoftheFleas, your initial Alembic export suggestion was perfect.

1 Like

Not sure if this will help since you’ve found a solution, but Altermesh will let you import Geometry Node setups into Unreal Engine with parameters exposed to the Unreal Editor. As far as drivers, I’m not sure, but I usually replace what a Blender driver does with the engines code or automation abilities. https://www.youtube.com/watch?v=IvAZXnK8xcU

Hi! I was wondering if this solution was applicable to most cases?
I was looking into this scenario where there is an animation of the instances on the points. Thought Realize Instances might help.

But every time I’m trying to convert the whole to a mesh, and bake the animation beforehand, the instance animation isn’t kept in the process.
Was wondering if anybody found a solution for that.

(Goal is to import that to Unity)

Hey Shabax,

I’m not very familiar with Unity, but it seems like your situation might be somewhat similar to mine. I found that when importing into Unreal Engine, it gave me an option to use a “Geometry Cache” experimental import. Geometry nodes are still fairly new to me, so I don’t have a great understanding of them, but I was able to instance planes onto points using the point instance node. Then I animated them using a proximity node setup and baked it in.

I am guessing the workflow would be similar to what you’re trying to accomplish. I guess the big question would be whether or not Unity can support importing Alembic files as a Geometry Cache.

For my specific case, the mesh was extremely heavy within Unreal Engine. I doubt it would be able to work properly in a real-time, game setting. Luckily, I am working with cinematics so framerate isn’t really an issue.

I’m curious as to whether or not you found a solution to this though, so please let me know what you’ve found out! Sorry it took me so long to get back to you!