Houdini 20.0 Nodes Geometry nodes

Copy with Stamp geometry node

Creates multiple copies of the input geometry, or copies the geometry onto the points of the second input.

This node type is deprecated. It is scheduled to be deleted in an upcoming revision of Houdini.

Use the Copy to Points node instead.

(Since version 19.5.)

On this page

The Copy with Stamp node has two main functions, with the second function being the most useful:

See copying and instancing for more information.

Using Copy To Points

  1. Click the Copy to Points tool on the Modify tab.

  2. Select the source geometry you want to copy and press Enter.

  3. Select the target geometry on whose points to instantiate the source and press Enter.

Instancing point attributes

When you copy or instance geometry onto points, Houdini looks for specific attributes on the destination points to customize each copy/instance. See instancing point attributes.

Tips

  • When making multiple copies (not copying onto points), use the NCY (number of copies) local variable in an expression to make values independent of the number of copies.

    For example, to have the each copy rotated so they go from 0 to 360 degrees, set the rotation to 360/$NCY.

  • You can create multiple copies around an axis, then skin them to create complex lathe-like effects, similar to the results of the Revolve SOP.

  • To alleviate issues when copying to normals, you can add up vectors to template points or do it in POPs with an Up Vector POP.

Parameters

Source Group

A subset of the source (first input) primitives to copy from. You can create groups with the Group SOP.

Template Group

A subset of the template (second input) points to copy onto. Please note, that only point group specifications are valid for this parameter.

Copy

Number of copies

The number of copies of the original geometry.

Transform Using Template Point Attributes

Rotates copies to face the template point normals. Also applies translations, rotations and scales according to the trans, rot, and scale point attributes on the template points (if these attributes exist).

Transform Cumulative

Each copy is transformed relative to the previous.

Transform Order

Order transformations occur.

Rotate Order

Order rotations occur.

Translate

Translation along xyz axes.

Rotate

Rotation about xyz axes.

Scale

Non-uniform scaling along xyz axes.

Shear

Amount of shearing. The three values represent X on XY plane, X on XZ plane, and Y on YZ plane respectively.

Pivot

The local pivot point of the copy.

Uniform Scale

Uniform scaling.

Preserve Normal Length

Normals to maintain length after transformations.

Create Output Groups

Places each copy into a primitive group.

Preserve Groups

Don’t delete the contents of the copy group if it already exists before adding the copied primitives.

Copy Groups

The name of the group to create for each copy.

Stamp

Stamp Inputs

Stamp proceeding variables for each input copied.

Cache Stamping Geometry

If enabled, keep local copies of the input geometry for each set of stamp parameter values. If there are a fixed number of input geometries which are repeated multiple times, it can improve efficiency by avoiding the recooking of the input geometry. If the input geometry changes every time it’s stamped, it can cause increased memory usage during cooking.

Pack Geometry Before Copying

Pack the input geometry into an Embedded Packed primitive before copying. This results in the input geometry being shared by each copy rather than being duplicated for each copy.

Pivot Location

Specifies how to initialize the offset for the point referenced by the packed primitive.

Display As

The viewport LOD for the specified packed primitives.

Attribute Stamps

Any point attributes on the template geometry that match this will also be stamped. They will be stamped as stamps of the same name as the attribute. Float and integer attributes will stamp their first value as a float. String attributes will stamp as strings.

Variable/Value n

Token and value of each stamp variable. Changes values of parameters which include param function.

Attribute

The parameters on this tab control how attributes on the template points affect the copies.

Use Template Point Attributes

Copy attributes from the template points onto the copies, according to the values in the attribute fields below.

Attribute fields

(Available when Copy template point attributes is on above.)

The columns represent possible ways of combining the attributes from template geometry with the attributes from the source geometry.

Set

Copy the template attributes onto the copies.

Mult

Multiply the template attributes by the corresponding source attributes.

Add

Add the template attributes to the corresponding source attributes.

Sub

Subtract the template attributes from the corresponding source attributes.

The rows represent the different entities you can copy attributes onto: points, primitives, and vertices.

At the intersection of each column and row, you can enter a list/pattern of attributes.

For example:

  • To copy all attribute values from the template points to the primitive attributes of the copies, set the field at Set/To Prim to *.

  • To multiply primitive colors by the template’s colors, set the field at Mult/To Prim to Cd.

  • To add the texture coordinates of the template to the coordinates of the source, set the field at Add/To Point to uv.

Copy Local Variables

All local variables referring to the manipulated attributes are copied.

Inputs

Source

The geometry to copy.

Template

(Optional) Copy the source geometry onto the points of this geometry.

Locals

Copy-specific variables.

CY

The number of the copy currently being generated. Starts at 0.

NCY

The total number of copies that will be created (the value of the Number of copies parameter).

PT

The point number of the Template being copied onto. If there is a template group, this will be the index into the group, not the actual point number. Use TPT to always get the actual point number.

NPT

The total number of points in the template geometry.

TPT

The actual point number of the currently processed template point, independent of any template groups. See PT above.

Variables for point attributes on the template.

AGE

The seconds a particle in the template has been alive.

LIFE

The ratio of the age of a particle to its expected life This number is between 0 (when born) and 1 (when about to die).

ID

The ID of the particle in the input.

Variables for the input geometry/template geometry (if there is a template input).

CEX, CEY, CEZ

The centroid of the geometry.

XMIN, XMAX

The X extents of the bounding box of the geometry.

YMIN, YMAX

The Y extents of the bounding box of the geometry.

ZMIN, ZMAX

The Z extents of the bounding box of the geometry.

SIZEX, SIZEY, SIZEZ

The size of the bounding box.

BBX, BBY, BBZ

The point’s relative position in the bounding box.

Standard variables

Note

Variable names ending with 2 refer to the geometry from the second input, if applicable. For example, PT2 is the current point number from the second input.

AGE

The seconds a particle in the template has been alive.

ARC

Arc length distance from root in the L-systems.

AREA

The surface area of the primitive (created by the Measure SOP).

BBX, BBY, BBZ

The point’s relative position in the bounding box.

CA

Point or vertex alpha value.

CEX, CEY, CEZ

The centroid of the geometry.

COMX, COMY, COMZ

Center of mass.

CR, CG, CB

Diffuse point or vertex color.

CREASE

Point or vertex crease weight value.

DIST

Distance from particle to last collision.

DIV

Number of divisions to build the circle swept with Polywire (created by L-systems).

DRAG

Point drag.

GEN

Generation in the L-systems.

ID

The ID of the particle in the input.

LAGE

The age of the point in the L-system computation.

LIFE

Percent of total life used (from 0 to 1).

LOD

Level of detail.

MAPU, MAPV, MAPW

Point or vertex texture coordinates.

MASS

Point mass.

MAT

The string name of the current material (the value of the shop_material attribute).

MAXLAYER

The number of layers that are considered active for display.

NPT

The total number of points in the template geometry.

NX, NY, NZ

Normal vector.

PERIMETER

The perimeter of the primitive (created by the Measure SOP).

PR, NPR

Primitive number & total number of primitives.

PSCALE

Particle Scale.

PT

The point number of the currently processed point.

RESTX, RESTY, RESTZ

The rest position.

SEGS

Number of segments to divide a curve up into in Polywire (created by L-systems).

SIZEX, SIZEY, SIZEZ

The size of the bounding box.

SPRINGK

Elasticity of a point.

TENSION

Spring tension of an edge.

TX, TY, TZ

Point position.

TW

See WEIGHT.

UPX, UPY, UPZ

The vector pointed in the up direction.

VTX, NVTX

Vertex number & total number of vertices.

VX, VY, VZ

Velocity direction.

WEIGHT

Point spline weight.

WIDTH

The width of the curve. Used by mantra for rendering curves & polywire for generating trees.

XMIN, XMAX

The X extents of the bounding box of the geometry.

YMIN, YMAX

The Y extents of the bounding box of the geometry.

ZMIN, ZMAX

The Z extents of the bounding box of the geometry.

Examples

CopyAttributes

The Copy SOP can be used for more than copying geometry. In this example, the Copy SOP is used to transfer color attributes from the template geometry (or point) to the copied geometry.

A polygonal sphere with color infomation is used as the source geometry. A point with a color attribute (Cd) is extracted from the sphere and used as a template by the Copy SOP. Then the Copy SOP transfers the color infomation to a copied polygonal circle.

CopyTemplateAttribs

The Copy SOP is used to transfer specific attributes from a template to copied primitives. In this example, a sphere is use as a template with color attributes added to the sphere points. A Particle SOP is then used to birth particles from the sphere points.

Next, a Copy SOP does two things:

  • It copies geometry to the particles.

  • It transfers the color attribute from the source sphere points to the geometry whose position is based on the particles.

Play the animation to see the effects.

ParticleCopyScale

The Copy SOP is used to copy geometry to particles using the Particle SOP as a template. In the example, the Scale parameter of the Copy SOP is used to create the specific effect. The Copy SOP may also be used to control different attributes of the copied geometry beyond mere scale.

Play the animation to see the effects.

StampRandom

In this example, the Copy SOP is used to randomly copy various objects onto points of a given template geometry. We use the stamp capability of the Copy SOP for our purpose. Furthermore, the entire process is kept procedural so that we have the option of determining the type and the number of geometries to be copied and the kind of template to be used.

Inside the Stamp tab of the Copy SOP we create a variable named “switch” which will drive the input value of the Select Input parameter in the Switch SOP. In turn, the Copy SOP is able to copy at random any number of input geometry to template points.

StampStars

This example demonstrates the power of the Copy SOP’s Stamp operation.

Here, a Copy SOP is used to copy a circle onto the points of a sphere. The Stamp operation then applies various modifications to those copies based on division, scale, color, and extrusion. This results in the generation of a randomized variety of “stars”.

Starting with a simple circle, a large number of variations are created using in the copies through the use of Stamping with expressions.

See also

Geometry nodes