Houdini 12 Nodes Surface nodes

Combines the scalar fields of volume primitives.

The Volume Mix operation manipulates the scalar data associated with volume primitives. For each pair of volume primitives in the source group and the mix group, the given calculation is performed and the results stored in the source group’s primitive. Note that the volumes do not need to have the same orientation or resolution, the second volume will be sampled at the orientation and resolution of the first volume.

The copy mode allows you to resample a volume into a different resolution or orientation.

Parameters

Source Group

The volume primitives to be used from the first input.

Mix Group

The volume primitives to merge in from the second input. If there is no second input, this group will be found from the first input.

Mix Method

Each voxel of each volume primitive in the source group will be mixed with the corresponding voxel of the corresponding volume primitive of the mix group according to this mix method. A refers to the first input’s value, B refers to the second input’s value. If there is no second input, B will be found from the corresponding volume of the first input.

Copy

result = B

Add

result = A + B

Subtract

result = A - B

Diff

result = abs(A - B)

Multiply

result = A * B

Divide

result = A / B

Invert

result = -A

Max

result = max(A, B)

Min

result = min(A, B)

Clamp

result = clamp(A, rangemin, rangemax)

Blend

result = A (1-blend) + B blend

User

result = Value Expression

Range

Defines the range to which the volume’s voxel values will be clamped when the mix method is set to Clamp.

Blend

Defines the mixing of the two volumes in Blend mode. 0 will use the first volume, 1 will use the second volume.

Value

Each voxel each volume primitive of the source group will be directly assigned this value if the mix method is set to User. The expression can use local variables to allow for arbitrary expressions.

Tip

It can be considerably faster to use a Volume Vop to manipulate the volume than an expression.

Dest Pre-Add, Dest Pre-Mul

The A in the calculation is set to A' = A * m + a, where m is the Dest Pre-Mul and a the Dest Pre-Add.

This does not support per-voxel local variables.

Source Pre-Add, Source Pre-Mul

The B in the calculation is set to B' = B * m + a, where m is the Source Pre-Mul and a the Source Pre-Add.

This does not support per-voxel local variables.

Post-Add, Post-Mul

The result that the destination field is set to is modified by result' = result * m + a, where m is the Post-Mul and a is the Post-Add.

This does not support per-voxel local variables.

Clamp Minimum, Maximum

The final result is then clamped optionally to these ranges.

This does not support per-voxel local variables.

Local variables

X, Y, Z

Position in space of the voxel being processed.

IX, IY, IZ

Index of the voxel being processed.

V

Value of the volume from the first input.

V2

Value of the volume from the second input.

BBX, BBY, BBZ

Relative location of the voxel in terms of the first input.

BBX2, BBY2, BBZ2

Relative location of the voxel in terms of the second input.

Examples that use this node

Example forExample name
Field ForceLoad | Launch

.../examples/nodes/dop/fieldforce/FieldForceSmoke.otl

Field ForceLoad | Launch

.../examples/nodes/dop/fieldforce/fieldforce.otl

FLIP SolverLoad | Launch

.../examples/nodes/dop/flipsolver/DensityViscosity.otl

FLIP SolverLoad | Launch

.../examples/nodes/dop/flipsolver/VariableViscosity.otl

Fluid ObjectLoad | Launch

.../examples/nodes/dop/fluidobject/FillGlass.otl

Fluid ObjectLoad | Launch

.../examples/nodes/dop/fluidobject/PaintedGrog.otl

Gas Embed FluidLoad | Launch

.../examples/nodes/dop/gasembedfluid/CombinedSmoke.otl

Gas Up ResLoad | Launch

.../examples/nodes/dop/gasupres/UpresRetime.otl

RBD Pin ConstraintLoad | Launch

.../examples/nodes/dop/rbdpinconstraint/Chainlinks.otl

RBD StateLoad | Launch

.../examples/nodes/dop/rbdstate/InheritVelocity.otl

Reference Frame ForceLoad | Launch

.../examples/nodes/dop/referenceframeforce/ReferenceFrameForce.otl

Ripple SolverLoad | Launch

.../examples/nodes/dop/ripplesolver/RippleGrid.otl

Smoke ObjectLoad | Launch

.../examples/nodes/dop/smokeobject/OpenCL.otl

Smoke ObjectLoad | Launch

.../examples/nodes/dop/smokeobject/TwoColourFire.otl

Voronoi Fracture SolverLoad | Launch

.../examples/nodes/dop/voronoifracturesolver/FractureExamples.otl

Cluster PointsLoad | Launch

.../examples/nodes/sop/clusterpoints/AnimatedSourcePoints.otl

Dop ImportLoad | Launch

.../examples/nodes/sop/dopimport/LowHigh.otl

DOP Import RecordsLoad | Launch

.../examples/nodes/sop/dopimportrecords/dopimportrecordsexample.otl

Fluid SourceLoad | Launch

.../examples/nodes/sop/fluidsource/TorusVolume.otl

Glue ClusterLoad | Launch

.../examples/nodes/sop/gluecluster/glueclusterexample.otl

TimeShiftLoad | Launch

.../examples/nodes/sop/timeshift/PlateBreak.otl

Volume ReduceLoad | Launch

.../examples/nodes/sop/volumereduce/barycenter.otl

Volume SurfaceLoad | Launch

.../examples/nodes/sop/volumesurface/volumesurface_hierarchy.otl

Volume VopLoad | Launch

.../examples/nodes/sop/volumevop/ImportVolumes.otl

On this page

Related topics