Switch surface node

Switches between network branches based on an expression or keyframe animation.

This node passes the input specified in the Select input parameter to the output. The input numbering starts at 0. You can control the parameter with an expression or animate it.

For example, you could use the expression $F - 1 to switch to the first input at frame 1, the second input at frame 2, and so on. Use the expression ($F >= 5) to use the first input for the first five frames, and the second input afterward (boolean operators such as >= return 0 for false and 1 for true, so the switch will select input 0 when the expression is false and input 1 when the expression is true).

Tip

Often, you can use a Switch in a network that could potentially have errors to bypass the failing nodes. One way to do this is to use the following expression in the Select input parameter:

if (strmatch("*Error:*", run("opinfo " + opfullpath("../" + opinput(".", 1)))), 0, 1)
With this expression, the switch will use the second input, unless it has an error, in which case it will switch to the first input.

The expression gets the operator info string (using run expression function to call the opinfo HScript command) of the second input (opinput(".", 1). The inputs are zero-based, so 1 refers to the second input). If strmatch finds an error string, the if function returns 0 (use first input), otherwise it returns 1 (use second input).

Parameters

Select Input

The input number (starting at 0) to pass to the output. You can use an expression to control this or animate the parameter value.

Usages in other examples

Example name Example for

Material shader

Load | Launch

Poly Frame surface node

Load | Launch

Geometry compositing node

Load | Launch

Curveclay surface node

Load | Launch

Attrib Create surface node

Load | Launch

Add surface node

Load | Launch

Ray surface node

Load | Launch

Cloth Create Seam surface node

Load | Launch

Sphere surface node

Load | Launch

Skin surface node

Load | Launch

Skin surface node

Load | Launch

Dop Import surface node

Load | Launch

Dop Import surface node

Load | Launch

Facet surface node

Load | Launch

Platonic Solids surface node

Load | Launch

Rest Position surface node

Load | Launch

Fur surface node

Load | Launch

Match Topology surface node

Load | Launch

Copy surface node

Load | Launch

Attrib Reorient surface node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

Script Solver dynamics node

Load | Launch

Script Solver dynamics node

Load | Launch

RBD Pin Constraint dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

File dynamics node

Load | Launch

POP Solver dynamics node

Load | Launch

Switch Solver dynamics node

Load | Launch

Gas Surface Tension dynamics node

Load | Launch

Field Force dynamics node

Load | Launch

Reference Frame Force dynamics node

Load | Launch

RBD Angular Spring Constraint dynamics node

Load | Launch

Wind Force dynamics node

Load | Launch

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

RBD Visualization dynamics node

Load | Launch

Wire Object dynamics node

Load | Launch

RBD Glue Object dynamics node

Load | Launch

RBD Glue Object dynamics node

Load | Launch

Particle Fluid Emitter dynamics node

Load | Launch

Particle Fluid Emitter dynamics node

Load | Launch

RBD Auto Freeze dynamics node

Load | Launch

SOP Solver dynamics node

Load | Launch

SOP Solver dynamics node

Load | Launch

Copy Objects dynamics node

Load | Launch

Copy Objects dynamics node

Load | Launch

Anchor: Align Axis dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Vortex Force dynamics node

Load | Launch

Active Value dynamics node

Load | Launch

Active Value dynamics node

Load | Launch

RBD Object dynamics node

Load | Launch

RBD Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

RBD Keyframe Active dynamics node

Load | Launch

Multiple Solver dynamics node

Load | Launch

RBD Fractured Object dynamics node

Load | Launch

Blend Solver dynamics node

Load | Launch

Dynamics channel node

Load | Launch

Lookup channel node

Load | Launch

Instance particle node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Torque render node

Load | Launch