Quick Tip #3: Houdini | Efficent Debris Stamping
This past week I have had to create a lot of debris particles ( Particles (POPs) that instance some piece of geometry ). Instancing that geometry onto each particle is usually the heaviest part of the process ( for a basic effect ). Here are 3 ways I create and instance geometry onto particles, keep in mind there are so many other ways to do this I am sure, but these are the ones I use a lot!
1. Noise stamping ( Least Preferred Way )
This technique uses the process of generating the debris as its being copied to each particle, Meaning the noise is applied as a stamp attribute. The Attached File will walk you through the process!
- Not IO Bound
- Can be altered so the noise is applied at render time
- Infinite Number of Debris Looks
- You don't know what your debris looks like til after it is instance
- If you don't like the way one piece or a couple pieces look its difficult to just change those looks.
- depending on the complexity of the geometry, your cook times could be slow.
2. Frame stamping Debris ( Good for Limited Number of Pieces )
This technique is one of the first ones I learned. You make pieces of debris and save each one as a separate .bgeo file in a sequence. You then instance that file with a copy sop and stamp the frame using the stamp attributes. This one has the added benefit of locking a look in but because of the multiple files and the use of a Time-shift node to grab the different frames it can be slow because it is IO Bound.
- Look of Debris is pre-determined and its easy to "Up - Res" the debris.
- Control over individual pieces look
- Isolation of a piece is really simple.
- if the frames are saved, being IO Bound and Frame Sampling can be really slow and costly if the number of pieces is large
- Not quite as nice to setup adn use.
- If saved to disk, the source debris is across multiple frames which means multiple files.
3. i.d. stamping Debris ( My favourite )
This is one I recently learned which is a evolution of the frame stamping method. You create multiple pieces of debris to use and save them in one file (on one frame) you then select ( delete all the other ones) using a stamp attribute. This one allows you to lock a look and not have to Frame Sample. It can still be slower then noise stamping but it is not not as slow as frame stamping. The speed is kind of crazy in my opinion. I recommend this one.
- As Fast as Noise Stamping ( Really Fast )
- Control over individual pieces
- Implementation is Simple
- If saved, its a single file.
- Isolating a single piece and replacing can be tedious but not heartbreaking.
I hope this tip helped you out, if you have questions or a better way of doing please leave a comment below and don't forget to share this if you found it helpful!