Christian Sirois


About Me

Technical Director


United States

Houdini Skills


Not Specified

Recent Forum Posts

Using point attributes in a DopNet... Nov. 6, 2019, 6:41 p.m.

Hi everyone,

I have a wall geometry that has been fractured and packed. Each points in the packed object is assigned a “decimation” value between 0 and 1. Lower values are at the bottom of the wall and higher at the top.

Now, I'm trying, in a DopNet, to make the pieces at the bottom of my wall gradually disapear. The upper pieces, not having any of the lower pieces support anymore, would fall by gravity before disapearing as well.

I want to use my “decimation” attribute to trigger when pieces will disapear.

1) How can I use a point attribute from a packed object in a DopNet?
2) How can I use the “delete” dop node to delete pieces of an RBD object. I can only seem to be able to delete the whole object at a given frame and not individual pieces.


Single + Multi node inputs... May 6, 2019, 2:37 p.m.


Can we create a digital asset that uses a single input 0 and multiple inputs after?
I've seen this for some nodes inside Houdini although I can’t find them right now. But I made a Photoshop montage of what I would like to do. The first input on the left is the mandatory one and all others are using a bar like the right part of the input.

Possible to do currently?


Programaticaly setting values to volume names for Heightfields Dec. 12, 2018, 5:12 p.m.

Hi everyone,

I have a list of string that represents layers.
["snow", "dirt", "grass", "rock"]
Because these are in an array, they have an index from 0 to 3.

Then, I have some files on disk:

Their name is in this format TILEX_TILEY_LAYER.

Now I want to load all of these images as volumes on a Heightfield. I can programaticaly create all the volumes by using the Layer Copy node but in my Volume Wrangle, I want to loop the layer list and set the values of these images into their corresponding volume. For example:

for (int i = 0; i < len(layer_list); i++) {
   string layer_id = sprintf("%03d", i);
   string layer_name = layer_list[i];
   string image = "000_000_" + layer_id + ".png";

   vector sample = rawcolormap(image, u, v);
   @layer_name = sample.x;   // doesnt work because "layer_name" is a variable, not a volume

The last line is where I'm blocked. I would like to set the value using the layer name and not the “@” symbol. I would use the setpointattrib() function in a point wrangle but how can I do this in a volume wrangle?