The Mountain SOP

The Ultimate Houdini node reference

Visit the Node Bible

To learn more, please log in or sign up for free to explore the Node Bible.
Write your awesome label here.

Mountain

Write your awesome label here.
Write your awesome label here.

This node applies a noise to your point positions.

Drag to resize

Summary:

    The key to understanding the mountain sop is understanding the various noises which can be applied to your points.  Under the hood, this node is using the "Unified Noise - Static" vop, so exploring those options will inform you on how you might understand the mountain sop.  Also, don't be confused by the name.  The "mountain" sop is not responsible for making "mountains."  If you want to do that, then check out the terrain videos in Modeling I.  The Mountain SOP just adds a noise on your point positions.

Drag to resize

Main Parameters:


Group:


--  This can apply the mountain to specific groups, or a selection of point/primitive ids.  To add a group, use the group sop above this node.  To select specific point/prim ids, then use the arrow next to the dropdown menu button and select them in your viewport.

Center Noise:


--  When applying noise values to your point's position - P - are the values allowed to go in the negative direction?  If this checkbox is on, then the answer is "yes."  What "centers" the noise is the fact that a value of 0 exists as the middle value for the noise.  Half of the values go in the positive direction while the other half goes in the negative direction.

Height:


--  This scales up the overall values generated by the noise.

Element Size
:

--  This affects how large or small the patterns are in the noise.  More specifically it is the, "Distance between peaks of lowest frequency noise."  To understand what this definition means by the "lowest frequency noise," please visit Shading III where we talk about the concept of layering octives when generating a noise.  This element size specifically relates to the lowest octive.  

Scale
:

-- This affects how large or small the patterns are in the noise by scaling it in x,y, and z.  It's different than the element size because this parameter is independent of the lowest octive within the noise.  In general, the scale should be set appropriately for the object that it's affecting.  In most cases, 1/2 of the largest bounding box dimension in x,y,z ought to work.

O
ffset:

-- This relates to the "Manifold Transformation" of the noise.  For more information about what "manifolds" are, visit Shading III and skip forward to about 4 minutes where I discuss noise transform spaces.  The "Offset" is a modification of the object-space manifold that the noise is using to attach itself to an object.

Pulse Length:

--  It's common to animate noises over time.  When the noise get's animated, how quickly will it move around?  That's basically what the pulse length is determining for you.  A lower pulse length = faster and a higher pulse length = slower.

Time:

--  This is used to control the animation of the noise.  $T is the most often used expression in this parameter.

Drag to resize

Noise Settings:


------------

For more information about noise types, please check out the images below along with the user docs for the unified noise vop:

https://www.sidefx.com/docs/houdini/nodes/vop/unifiednoise.html

It's also important to understand the difference between "fractal type" and "noise type."  In simple terms, the "noise type" is the overall pattern or shape that is generated by the noise.  As additional layers of detail are added (via more octives), the "fractal type" determines the shape of those additional layered patterns.
------------

Noise Types:

--  This determines the primary shape of the noise.  To see this visually, check out the diagram below, (made with love by Simon Verstraete - https://www.artstation.com/siver)
If you're looking for more technical information about the algorithms behind each noise, then it's best to simply search on google for the particular noise type.  

Fractal Type:


--  None:
    *  No additional layers of detail will be added to the selected Noise Type

--  Standard (fbm)
    *  A pseudo-random noise is added on top of the selected Noise Type

--  Terrain 
    *  The valleys (which are the lower values generated by the noise) are not affected as much as the peaks (the areas which were assigned a high noise value).

--  Hybrid Terrain
    *  This parameter is similar to the terrain in that it doesn't affect the valleys as much.  Instead the highest peaks are generally reduced in value, and noise is added to the mid-values.
Max Octives:

--  The "Fractal Type" will layer noise on top of the "Noise Type."  How many times it layers on top of the "Noise Type" is determined by the octives.  So setting your octives to 10 is like saying, "I want to layer on the fractal 10 times."

Lacunarity:


--  This is basically like the "element size" of the fractal.  When you're layering on the noise, you need to specify how large the shapes are, and that can be done here with Lacunarity.

Roughness:

--  The roughness is essential the "scale" of the fractal noise detail.  As you turn up the roughness, each octive of fractal noise will have more impact on the shape of the object.

Flow Rotation:


--  Flow noises are cool because they unlock this parameter.  With this parameter, it is possible to loop your noise over time.  You cannot use $F, however because it repeats with each value of 1.  So that means 1 = 2 = 3 = 4 because the pattern repeats.  Instead, use $T to introduce fractional values.  These fractional values will repeat each second.  You can use $T along with the fit() function to specify how many seconds ought to go by before the noise pattern loops.

Drag to resize

Post Processing:



Fold:


--  This parameter will start at the median (which is the middle value generated by the noise) and inverse all valley values so that they become peaks.

Compliment:

--  Inverses the peaks and valleys

Gain:

--  Adds contrast to the noise values (in other words, it takes the values which learn towards the peaks and bring them closer to peaks while taking the values which lean closer towards valleys and pull them towards valleys).  Increasing gain will increase this contrast.

Bias:

--  Takes the middle values of the noise and generally moves them either towards the peaks (high gain) or valleys (low gain)

Clipping Minimum:

--  This will "clip" your valleys or peaks.  Visually speaking, clipping means that it will cause them to flatten out.

Drag to resize

Distortion:

--------------
Both the Lattice Warp and Gradient Warp affect the shape of the Noise Type that you selected.  If you decide to "accumulate" either the lattice or gradient warps, then that will allow the lattice and/or gradient warp to affect the fractal noise which is layered on top of the primary noise.
--------------

Lattice Warp:


--  In general, this is sort of like smudging the positions along the surface.  In practice, this is nice for when you'd like to get rid of a repeating pattern which can sometimes happen when noises are at high frequencies.  

Gradient Warp:

--  This parameter will widen the peaks and valleys.  

Recompute Normals:


--  If the normal attribute (N) is present, then it will re-calculate these normals after the noise has been applied to the mesh.