-
Notifications
You must be signed in to change notification settings - Fork 79
Falloffs
Falloff nodes set the f@mops_falloff
point attribute, which governs how almost all MOPs Modifiers affect MOPs primitives. A value of 1.0 means the full transformation is applied, whereas a value of 0.0 means that the given primitive will not be affected at all.
Falloff preview is handled through Houdini's internal viewport GL shader, which can visualize the point color attribute on packed primitives by coloring the entire primitive. This visualization only works in Houdini 17.0.498 and beyond; it will crash the viewport in earlier versions. If you are working in an earlier version of Houdini, you will be forced to use a visualizer that uses sprites instead. It's advised to use the Disable Falloff Preview shelf tool once you're done tweaking your Falloffs, which will remove this coloration / sprite conversion entirely from all Falloff nodes in your SOP network.
The Audio Falloff node breaks an audio file apart into "bands" based on specified frequencies, optionally filters each band, then outputs the amplitude of each band as a falloff attribute. By default, the "Auto Distribute" option for distributing bands is enabled. This will evenly distribute any bands you create across all of your packed primitives. If you want more precise control, you can disable this. Then the Band Attribute of the input objects determines which band each object is associated with. For example, if you have four bands defined, by default any input objects with a Band Attribute value between 0 and 0.25 will have their resulting mops_falloff
be set to the output of band 0, while objects with a Band Attribute value between 0.25 and 0.50 will have their mops_falloff
be determined by band 1, and so on.
You can preview each band's audio output using the "Preview Band" button associated with each Band in the multiparm block. If a particular band isn't giving you much falloff value, try adjusting that band's Gain.
The filtering controls under the Processing tab are identical to the CHOPs they're named after (Envelope, Filter, Trigger, Lag, and Area). You can use these to modify the output signal for the bands as a whole; for example, the Filter can be used to smooth out differences in amplitude over time.
Some audio files play nicer with Houdini than others. WAV files are reliable but huge. Most MP3's seem to work, but some of the more exotic codecs out there may result in the audio cutting off early, or not reading at all. Houdini seems to only like reading 16-bit integer audio, which is the standard for "CD quality audio". 24- and 32-bit audio will likely fail to load. If you can't get a signal at all, try hitting the "Original" Audio Preview button and see if the waveform of your audio appears in the Time Slider. If nothing shows up, you might want to try saving your audio file using a different codec, or check to make sure the bit depth is 16-bit.
This operator composites the mops_falloff
point attributes from inputs A and B. The Blend Modes are similar to blend modes from compositing, there the Blend Strength is a bias blending between the output of the compositing operation and the original A input.
Most Falloff nodes contain a MOPs Combine Falloff node inside them, to allow various Falloffs to easily be composited onto one another. You can use this node to do more specific compositing operations, or in the capacity of a custom Falloff node you're designing yourself.
This operator remaps any point attribute into mops_falloff
, based on a minimum and maximum. By default it will find the min/max of the i@id
attribute and remap it to mops_falloff
, but you can use any point attribute. If "Auto Range" is enabled, you may want to delete the Reference Frame expression and provide a static frame to base the minimum and maximum values from, or you may get unexpected results. The above example is using an attribute defined in a Point Wrangle as:
@attr = (i@id + @Frame) % @numpt;
This is similar to MOPs Spread Falloff, but operates as a solver. This means it's effective on deforming or otherwise animated geometry. The speed of infection can be modulated by the Spread Resist parameter, or by a custom resistance attribute. Infection can be started by an existing point attribute or an external point cloud wired into the second input.
This operator maps various noise functions into the mops_falloff
attribute. You can use the built-in transform handle (hint: press Enter in the viewport to activate the handle) to manipulate the noise transform, or use the provided parameters. You can also connect a MOPs Transform Falloff SOP to the second input of this node to use as an additional transform, or to link the transforms of several different falloffs together. If "Use Rest" is enabled, the built-in v@rest
attribute (typically generated by a MOPs Instancer) will be used as the lookup position for the noise, rather than the world space @P position.
This operator uses the shape of a polygon mesh or a volume primitive to generate mops_falloff
. The distance from the surface is used to determine the falloff value. The "Area of Influence" parameter determines how the distance is mapped to mops_falloff
, along with the Remap parameters. If you want to use a curve (spline) to generate falloff, use the MOPs Spline Falloff node.
This is similar to MOPs Object Falloff, but applies to volumes. The source object can be any closed polygon object. Object Falloff Volume can apply to scalar fields such as fog volumes, heightfields, or vector volumes like velocity fields. This example shows a box shape with some looping noise, multiplied against a pig head fog volume at 90% blend.
This operator simply binds a single value to the mops_falloff
parameter of all incoming points. It can be useful along with the provided Blend Modes to quickly add/subtract or multiply a constant value to the incoming mops_falloff
attribute value.
Note: This operator's functionality has mostly been replaced by the Attribute Remap SOP in Houdini. It's still part of MOPs for convenience and backwards compatibility.
This operator uses a minimum and maximum value, along with a ramp parameter, to remap mops_falloff
into a more desirable range. If "Auto min and max input values" is enabled, the minimum and maximum values of mops_falloff
will be automatically calculated and used to normalize mops_falloff
for use with the ramp parameter. The Reference Frame parameter determines which frame the minimum and maximum are calculated on. By default, this frame is equal to the current frame, so it's possible for the range to change over time. This can lead to unexpected results if the upstream mops_falloff
values are animated. If this happens, try deleting the default $F
expression on the Reference Frame parameter and pick a constant frame to use, or just determine the Input Min and Max manually.
Rig Falloff generates a linear falloff based on the connectivity between KineFX joints. Pick starting and optionally ending joints, and MOPs will generate a linear falloff from root(s) to tip(s) that you can then adjust with a ramp parameter. Rig Falloff otherwise works like other Falloff nodes in MOPs... in this example, the Rig Falloff is being multiplied against an animated Shape Falloff.
This operator uses primitive shapes, such as linear gradients, spheres, and cubes, to generate falloff. The built-in transform handle (hint: press Enter in the viewport to activate the handle) to manipulate the noise transform, or use the provided parameters. You can also connect a MOPs Transform Falloff SOP to the second input of this node to use as an additional transform, or to link the transforms of several different falloffs together. To break up the pattern, try using the Noise tab for more organic looks.
Similar to MOPs Shape Falloff, but this operates on volumes, including VDBs, heightfields and vector volumes. The resulting falloff mask can be blended with the original volume, or output as a separate volume entirely for use elsewhere. The same noise functions from MOPs Shape Falloff are available here, including looping noise.
Similar to the MOPs Object Falloff, but specifically for splines (curves). Falloff by default is based on the distance to the spline, but by changing the Mode parameter, you can also have the resulting noise multiplied against the relative position along the curve, or simply set to the relative position of the nearest point on the curve. For example, if a point is nearest the beginning of the curve, it will be set to the left side of the ramp (value=0), and if a point is nearest the end of the curve, it will be set to the right side of the ramp (value=1).
The Spread Falloff allows you to procedurally animate a "spreading" or growth-like effect over the input points, based on the chosen "Start Points". You can define the Start Points using point numbers, an ad-hoc group mask, a set of points connected to the second input of the Spread Falloff, or a given point attribute with a defined minimum threshold value.
If you're spreading Falloff over a mesh, try using the "Connectivity" option for the Distance Metric. Otherwise use Radius. The "Spread" parameter must be animated in order to see the spread happening. If you scrub the Spread parameter and you don't see the falloff values changing, try increasing the Search Radius if you're in "Radius" mode.
The "Falloff Width" is a sort of fade applied to the edges of your spreading falloff. If you want the falloff to completely spread across your surface, set the "Spread" parameter to be about 1.0 + Falloff Width. That is, the default Falloff Width of 0.2 means that to completely spread a mops_falloff
value of 1.0 over the entire surface, you'll need to animate the Spread parameter to about 1.2.
This node projects a texture onto the incoming points, and remaps the luminance (brightness) of the texture into a mops_falloff
value. You can choose to use incoming uv
attributes for the lookup position, or to create a new projection as needed.
This node can be used with some of the other Falloff nodes in order to transform the results in space. This is handy if you want several Falloff nodes to animate in unison, without having to manually match their transform channels to each other. Falloff nodes that accept MOPs Transform Falloff will have an input marked as "Falloff Transforms". Current nodes that accept a Transform Falloff include the Object Falloff, Shape Falloff, and Noise Falloff nodes. The above example is using two Shape Falloff nodes, one in Linear mode and the other in Spherical mode, animated by the same Transform Falloff.
MOPs Trigger Falloff is a solver that records the time at which an attribute crosses a given threshold value, and then can output a new Falloff value that fades in or out over time after the trigger is activated. It can also optionally output attributes defining when the trigger was activated for each point, or how much time has elapsed since the trigger was activated. You can use this to create all kinds of fading or incrementing effects; for example, you could activate instances of an animated sequence by using the "time elapsed" attribute of MOPs Trigger Falloff to drive a MOPs Set Sequence Time.