Skip to main content
pat on the back
Source Link
Warlax56
  • 211
  • 1
  • 9

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:

High Level

  • 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

Result

gif of things working

Breakdown

inputs

inputs

  • 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

Tool Creation

tool creation

two tools get created and added together as a single mesh. This is the actual tool creation subgraph

tool creation

the 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.

Buttoning up

cutting with the tools, and reversing the offset

the tools are used to cut the meshes in the collection, then the offset is reversed to give the desired effect.

Summary

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

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:

High Level

  • 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

Result

gif of things working

Breakdown

inputs

inputs

  • 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

Tool Creation

tool creation

two tools get created and added together as a single mesh. This is the actual tool creation subgraph

tool creation

the 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.

Buttoning up

cutting with the tools, and reversing the offset

the tools are used to cut the meshes in the collection, then the offset is reversed to give the desired effect.

Summary

So, in terms of this question specifically, the offset can be animated to change which mesh is displayed

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:

High Level

  • 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

Result

gif of things working

Breakdown

inputs

inputs

  • 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

Tool Creation

tool creation

two tools get created and added together as a single mesh. This is the actual tool creation subgraph

tool creation

the 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.

Buttoning up

cutting with the tools, and reversing the offset

the tools are used to cut the meshes in the collection, then the offset is reversed to give the desired effect.

Summary

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

Source Link
Warlax56
  • 211
  • 1
  • 9

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:

High Level

  • 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

Result

gif of things working

Breakdown

inputs

inputs

  • 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

Tool Creation

tool creation

two tools get created and added together as a single mesh. This is the actual tool creation subgraph

tool creation

the 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.

Buttoning up

cutting with the tools, and reversing the offset

the tools are used to cut the meshes in the collection, then the offset is reversed to give the desired effect.

Summary

So, in terms of this question specifically, the offset can be animated to change which mesh is displayed