Simulation
This API is subject to change as future builds of Blender with simulation nodes are released.
The geometry-nodes-simulation
branch of Blender 3.5 includes support for "simulation nodes".
Using a Simulation Input and Simulation Output node, you can create effects that change over time.
As a convenience, the @simulation
decorator is provided to make simulation node blocks easier to create.
@simulation
def move_over_time(
geometry: Geometry, # the first input must be `Geometry`
speed: Float,
dt: SimulationInput.DeltaTime, # Automatically passes the delta time on any argument annotated with `SimulationInput.DeltaTime`.
elapsed: SimulationInput.ElapsedTime, # Automatically passes the elapsed time
) -> Geometry:
return geometry.set_position(
offset=combine_xyz(x=speed)
)
Every frame the argument geometry
will be set to the geometry from the previous frame. This allows the offset to accumulate over time.
The SimulationInput.DeltaTime
/SimulationInput.ElapsedTime
types mark arguments that should be given the outputs from the Simulation Input node.