Using the instance attribute to instance multiple objects.
Object instancing.
Date Created:Friday December 29th, 2006 03:41 AM
Date Modified:Wednesday July 30th, 2008 10:30 PM

Instancing objects requires that you use two geometry objects, the geometry to be instanced, and the points to instance the geometry onto.
Here we have the points object and the model object. Notice the display flag is off of the model object, so the model itself is not rendered.

Inside of the points object, we are applying attributes which control how the instancing of the model will occur.

First we add a normal attribute, to control the orientation.
Here we also added a random rotation by using an expression in the nx and nz fields.
NX: $NX+fit01(rand($PT+1.123), -1,1)
NY: 0
NZ: $NZ+fit01(rand($PT+123.123), -1,1)

We can also control the scale of the model per point if necessary by using the pscale attribute.

This instance attribute is what tells Houdini which object to instance. If you do not have this attribute, then you must use the Point Geometry parameter to specify an object in the Render tab.
The reason you will want to use the instance attribute over the Point Geometry parameter, is that you can reference different pieces of geometry per point:
/obj/model`$PT%5+1`
-this would cycle the objects: model1 model2 model3 model4 model5

On the points object, go to the Render tab and check on Point Instancing.
If you have the instance attribute, you do not need to put a path in the Point Geometry.

If you do not have the instance attribute on your points, simply put the path of the object you want to instance in the Point Geometry parameter.

Please login or Click Here to register for downloads
Object Instancing by Dan Lynch
is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License
Based on a work at www.3daet.com
Permissions beyond the scope of this license may be available at http://www.3daet.com
