I have a simple collection with meshes named 1-3. How can I create a geometry node graph such that I can animate the selection between these meshes? In other words, how can I display meshes 1-3 like a stop motion animation?
This solution becomes a bit simpler (I think) when it's generalized to volumes, but as I wanted this to work with any type of mesh (even those without volume) this was the approach I chose:
- Offset all the meshes you want to display by a fixed distance along the x axis within a collection
- create a tool (just a box) to the left and right of a window
- use those tools to remove all meshes besides the window you want to preserve
- do a reverse offset so that everything happens at a fixed point in space
- the offset defines where the current "frame" is
- the tool width, depth, and height defines the size of the tools used to cut (so that they can be changed as needed)
- the mask width defines how large of a window can be seen between the tools. Effectively, this is the size of the viewing winodw
two tools get created and added together as a single mesh. This is the actual tool creation subgraph
is_tool_2 boolean defines if the tool is the one to the left or right of the window. This should be 0 or 1.
the tools are used to cut the meshes in the collection, then the offset is reversed to give the desired effect.
So, in terms of this question specifically, the offset can be animated to change which mesh is displayed. For my first time using geometry nodes, I'm pretty chuffed! For posterity I'm going to add some keywords to this solution for the google bots to chew on:
ticker tape, rolling window, mesh selection
I know that this question was for 2.9, but for any future users using 3.0.0: Use the instance on points in conjunction with a instance index attribute. This will allow you to cycle through your object in the collection in order. There wont be any transitions however. It will simply "poof" into existence.
Hope this helps