|On this page|
This is very useful for populating scenes with repeated elements such as trees, buildings, or snowflakes with full control over the placement of the copies. This is especially useful for copying geometry onto particles.
To simply create multiple copies of geometry without needing target points, use Duplicate.
For example, you can arrange copies in a spherical shape by copying them onto the points of polygonal sphere. Or you could scatter points across a terrain geometry and copy trees onto the points.
Note that this node creates additional geometry in the scene for each copy. If you have very large numbers of copies, you may want to investigate render-time instancing or Alembic, packed primitives, or polysoups to reduce memory usage.
This operator is especially useful for copying geometry onto the points output from a particle system (that is, a POP network SOP). Whereas particle instancing displays the instanced geometry at render time (and is more efficient), using the Copy SOP gives you "real" geometry in the network that you can further manipulate.
Varying the copies
When you copy or instance geometry onto points, Houdini looks for specific attributes on the destination points to customize each copy/instance. For example, you can change the scale of each copy by creating a
pscaleattribute on the points you copy onto. See instancing point attributes.
If you need more control over the copies, you can use a For-Each loop to process each copy individually.
Click the Copy to Points tool on the Modify tab.
Select the source geometry you want to copy and press Enter.
Select the target geometry on whose points to instantiate the source and press Enter.
A subset of the source (first input) primitives to copy from. You can create groups with the Group SOP.
A subset of the target (second input) points to copy onto.
Show Guide Geometry
Controls if the geometry being instanced onto is drawn. Does not affect the behavior, only the viewport.
Transform Using Point Orientations
Rotates copies to face the target 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).
Pack and Instance
Pack the input geometry into an Embedded Packed primitive before copying. This results in the input geometry being shared (instanced) by each copy rather than being duplicated for each copy.
This only works if no source group is specified.
Specifies how to initialize the offset for the point referenced by the packed primitive.
The viewport LOD for the specified packed primitives.
Copy Point Attributes
Copy attributes from the template points onto the copies, according to the values in the attribute fields below.
(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.
Copy the template attributes onto the copies.
Multiply the template attributes by the corresponding source attributes.
Add the template attributes to the corresponding source attributes.
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.
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
To add the texture coordinates of the template to the coordinates of the source, set the field at Add/To Point to uv.
The geometry to copy.
Copy the source geometry onto the points of this geometry.
The following examples include this node.
This example demonstrates using heightfields for terrain adaptation in the crowd solver, and for collisions against ragdolls in the Bullet solver.
This example demonstrates how to set up a partial ragdoll, where a subset of the agent’s joints are simulated as active objects by the Bullet solver and the remaining joints are animated.