Noise Control with Colour

   3691   3   1
User Avatar
Member
2 posts
Joined: April 2017
Offline
Hi,

I am trying to control the frequency of noise using a colour attribute. I have managed to do this on a grid but I cant figure out how to do the same using a volumevop.
My goal is to be able to control the amount of detail/scale in specific areas of the model.
Im not sure if this is the right way do to this but the example image shows that effect I'm trying to achieve.

Thanks
User Avatar
Member
8173 posts
Joined: Sept. 2011
Offline
I would avoid changing frequency spatially. This will cause highly unpredictable effects, as the position sample of the noise is taken without respect to any other point, so if the frequency changes in between the sample points, then an interference pattern will emerge where the effective frequency fluctuates wildly between infinity and 0. This can be interesting, but probably not what you are after.

To control the scale of details in specific areas, a set of masks would be preferable. The each octave of the pattern can be blended on at will, without causing craziness. For example, create an rgb attribute/field, and store the mask for low frequency noise in red, mid in green, etc, if more than 3 masks are needed, then, create more attributes/fields. The paint volume tool can be very useful for this purpose.

When you have your masks, use each one to multiply its respective pattern, where the pattern/noise/texture has fixed frequency/scale, then sum the results.
Edited by jsmack - April 29, 2017 22:18:51
User Avatar
Member
2 posts
Joined: April 2017
Offline
Thank you!

It worked out great. However I cant get my head around creating more attributes/field. I can only get it to work with the global variable(?) Cd, bind and bind export. Not sure if I'm missing something when creating the attribute or if there is another way to import and export the attribute inside of the volumevop. Ive tried get attribute and import attribute with no luck.

Attachments:
colour attribute.hipnc (216.7 KB)

User Avatar
Member
8173 posts
Joined: Sept. 2011
Offline
Volume vop only works with fields (vdb or houdini volume). Attrib vop, as well as other nodes, work with attributes. An attribute is an array of values that is associated with a class of geometry, with a one-to-one relationship for array length to geometric elements. A field is a 3d grid, either sparse(vdb) or not, that stores a single value per grid element. VDB fields support vector elements, where as houdini volumes do not (although the volumevop can obfuscate this a bit if you have 3 fields named with vector component names appended with ‘.’; such as vel.x vel.y vel.z will bind to ‘vel’). Attributes can be created within an attrib Vop or create attribute sop, but fields can only be created by specific volume or vdb nodes, such as the ‘vdb’ and ‘volume’ sops. Then fields are bound by name (or manually by specifying primitive numbers) when executing the volume vop.
  • Quick Links