Hi guys,
Just pinging the group to let you know that I've just commited the first release of siLib Turbulize Attribute SOP, siLib Turbulize VOP, and si_noise.h.
I've copied some of the help card here:
What's so different about this? Why do we need another noise node? The key bit of information is at the top of that page:
Lets you add noise to an attribute using one of 5 types of FBM based noise. The range of the noise is kept consistent regardless of the values of octaves and roughness. It also avoids the issues that built-in noise nodes have for input positions located around {0, 0, 0}.
Keeping the range of noise consistent across different values octaves and roughness might not seem to be a big feature, but it's invaluable. If you try using existing Houdini Noise nodes as a force on your particles and then tweak octaves/roughness, you'll find that the particles shoot off along the x=y=z direction which gets really annoying. The nodes and Vex functions in this commit solve that problem.
The noise functions are easily accessible from Vex for easy use in your own code.
I've made available the scripts and scene that was used to generate the si_noise.h Vex file in case you want to check it out. There are no build instructions yet, so let me know if you want more information on the process. As a rough guide, just open the hip file in build/stable_noise, and click on the buttons on the final nodes to generate the noise profiles. Then you need to run the python script to generate the VEX. You'll probably need to run that external to Houdini as you need to use SciPy to do the curve fitting.
By all means try it out, but do be aware that this has not been production tested yet. Use at your own risk!
When I get a chance, I'll make a tutorial video that shows all the benefits.
Cheers,
Andy