Hi there, I’ve been trying to do something for a few days now, searched all over but found no solution yet.
It is, I wanted to know if there is a way to import animations done in geometry nodes into three.js?
I know that animations done in geometry nodes aren’t actually physically affecting the model, it is done by moving the vertices like in edit mode.. But is there a way to convert these type of animations into shapekeys or bake them?
I’ve tried to follow a method of exporting the model with animation into Alembic file, and importing again, and then exporting this file into .MDD and importing again, and finally exporting as .gltf or .fbx.. But the results were the same, only the mesh is exported with no animation.
its not inconceivable but there isn’t an easy/obvious way. You’re probably on the right track with trying to bake the output to shape keys or something. gltf only supports skinned meshes and shape keys. (it also supports instancing, but I don’t think there is a 1 to 1 mapping between geometry nodes, and instancing in blender.
1 Like
I’ve checked it somewhere else and it was said that Blender developers are trying to do something about it natively although it is very hard.
I also found an addon in Blender that promises to fix this but it didn’t look guaranteed and also expensive to me. I will look around a little more otherwise check other possibilites, thanks for the answer
Just for updating it here and if anyone gets into this problem, the solution to this was baking the simulation nodes under Physics > Simulation Nodes in Blender, and adding it before exporting to Alembic and importing it again, exporting as MDD and importing it again and finally exporting it as GLB/GLTF.
If you ignore the simulation nodes step, chances are that it won’t work
2 Likes
Cool thanks for reporting back. I’ll have to try that workflow. 
1 Like
A timely topic, as I just ran across a YouTube video by the “Blender Guru” which said that Blender newbies should not spend time learning about nodes. I had been planning to learn about them someday and, apparently, you already have.
In the meantime, I have created my animated parts in Blender by using “dummy objects” to act as hinges. You can use this to create some pretty complex animations, which are easily imported into three.js as normal animations. Here is an old example. Press “G” to see the gear extend and retract.
2 Likes
I do agree with Blender Guru on this because although it is important to know about them, it is not essential as soon as you start learning Blender.
The reason why I decided to learn it was because of a recommendation and that it is known to improve performance through instancing but I already had some background in Blender with modelling and rig animations.
And you did such a good job on this, bro! Is this like a automatic rig that perform this action or you did it like frame by frame? I really liked the result of this, it can be used in a lot of industrial works.
1 Like
Thanks. It’s been awhile since I made that animation. I think I did some tweaking of rotations to make sure all the parts stayed in place, especially the top points that had to remain in the same place throughout. (I have an Excel spreadsheet where I worked out these rotations.) I will see if I can find the Blender file and post it online for historical reference.
But you really deserve the congratulations for taking the time to figure out how to import Blender node animations into three.js and for sharing that with three.js users. These kind of solutions make three.js even more useful to a broader spectrum of programmers.
If you ever have some free time, do you have a simple example of a Blender and three.js file that you can share?