Houdini Resources

Updated on June 26  2024


Houdini Copy Options

Deborah R. Fowler



Houdini - Packed 

Posted Sept 2  2022
Updated Sept 2  2022

The preferred workflow over instancing came with the introduction of packed primitives.

packed primitives - a houdini construct to more efficiently deal with geometry. Packed geometry makes it more efficient, faster, less memory. The packed piece makes it into an object entity that has orientation and location, you can use the pack and unpacked. It is like getting instancing for free. I strongly recommend you read the following document.
So what did we use before packing? Instancing. Instancing is still important for a number of reasons:

Get used to using packing. It is a must. Be careful not to double pack. Lost your materials? No worries - don't unpack, check first that you have taken the steps outlined in the troubleshooting guide
Mantra and Redshift respect packed geo.

When do you not want to back? When you are trying to use a boolean for example. Think of it as a suitcase - if pack things up in a suitcase, you have them, but you don't have access to them until you unpack. If you are feeding geometry to a boolean, if you pack you are hiding the details needed to manipulate the geometry. Pack after using a pack node.

The checkboxes on the copy node family are great! Just a checkbox and your display/workflow improves substantial but there are separate pack and unpack nodes. Look for the "Pack and Instance" box.


Use a pack node vs the checkbox if you want to transfer groups for example.

This has been the preferred workflow since the introduction of "packed primitives" in Houdini 13. However, instances still are functional but packing is robust. For instanced lights see my section on lighting on the Overview page. In particular,

If you look at the Karma/Solaris workflow you will see that the Solaris copy to points node for lights is really an "instancer" node.

Although instancing can be used for geometry, packed geometry is preferred. However if you opt to use HtoA you may need to switch to instances.