Geometry Nodes - Simulation Nodes Introduction


In our last post[link], we learned how to use Geometry Nodes to turn a cube into a pile of wood. What if you wanted to simulate the smoke rising from setting that pile of wood on fire? Sounds complicated for a complete beginner. Let’s make the problem simpler.

Before you can make smoke rise in the air, can you make the default cube rise into the air? This tutorial will teach you how to simulate movement using Geometry Nodes.

Step 1 - Setup

Open a new blender file. Find Geometry Nodes in the top navigation bar. Click the ’+ New’ button on the bottom middle of the screen.

Alt text

You will see two nodes called ‘Group Input’ and ‘Group Output’ connected by a line. Your default cube should still be visible. If you disconnect that line, the cube will disappear.

Alt text

If you remember from the last post, when you create a new Geometry Node, you modify the original cube to display based on the results of the ‘Group Output’. To make the cube move, we need to add a new node.

Step 2 - Your first simulation node

Before adding a new node, drag one of the group nodes to make them farther apart. This will give you more room. Disconnect the group inputs and you’ll see your cube disappear.

Now press ‘Shift A’ and type ‘Simulation Zone’. You’ll see two new simulation nodes connected by a box. Place them between your original group inputs

On the ‘Group Input’ node where it says ‘Geometry’, click on the green circle and connect it to the first ‘Simulation’ node. On the second ‘Simulation’ node, connect the green circle to the ‘Group Output’ node. Your cube should now be visible again.

Alt text

Step 3 - Adding velocity

Each of the simulation boxes only have two values currently: ‘Delta Time’ and ‘Geometry’. We need to add a new value called velocity so we can tell Blender how fast to move the cube. Inside the Geometry Nodes editor, click on view and click sidebar. You can also press ‘N’. You will now see a panel on the right.

Alt text

We want to add a ‘State Item’ to the node. On the far right of the sidebar, you will see four tabs. Click on the second tab called ‘Node’. Under a section called ‘Simulation State’, there is a plus sign. Click that button to add a state item. Alt text

Click on the new state. Rename it to ‘Velocity’. Find the dropdown beside ‘Socket Type’ and change it from ‘Geometry’ to ‘Vector’. Alt text

There is now a ‘Velocity’ option in blue on both simulation boxes. Connect the velocity option. Nothing moves yet. In order to make the cube move, you need to connect the velocity to a ‘Set Position’ node.

Step 4 - Making the cube rise

Press ‘Shift A’ to add a new node and type ‘Set Position’. Connect the Velocity from ‘Simulation Input’ to Offset on the ‘Set Position’ node. Nothing happens yet because we have not specified the direction or the speed for the cube to move.

To make the cube rise in the air, we need to make it move along the z-axis. Under the Velocity section for ‘Simulation Input’, change the Z value to 0.1. If you press spacebar, you should now see the cube rise. Here is the final node setup:

Alt text

Final Notes

To reset the position of the cube, drag the blue player at the bottom back to 0. Pressing spacebar is a shortcut for press play. Your cube will rise for 250 frames before looping back to the beginning state. You can change the number from 250 to a lower value if you want a shorter loop.