Mask From Points 1.0 is a Houdini SideFX digital asset for point masking, based on infection simulation(transferring mask attribute between neighboring points), allowing the creation and control of mask activators on animated objects.
The asset enables creating curves on polygonal objects by mouse click in the viewport and using these curves as attribute spreading activators between points. The created curves are attached to polygons and inherit all their transformations (if the polygonal object on which the curve is created moves, the curve will move along with it). Asset settings also allow controlling the speed and shape of mask spreading, smoothing the curves' shape, managing scatter to create masked points, applying parent transformations to these points, assigning the @orient attribute to points, and changing the rotation angle.
Download the HDA file and install it to your houdini20/otls/
folder. For detailed instructions, please refer to the Houdini documentation
- Tested in Houdini versions: 19.5, 20.0
- Control and flexible adjustment of mask attribute propagation parameters.
- Creation of various activators for mask attribute propagation within a single HDA.
- Individual settings for created activators.
- Works with animated polygonal objects.
- Generates quaternion @orient to control and randomize rotation angle for each point.
- If the connected primitives in input1 have an "xform" attribute with the primitive transformation matrix, turn off the "GetXFORM" toggle in the "IncomingGeometry" tab. This will cancel unnecessary computations and improve the asset's performance.
📥 Inputs: | Input1 - This input is used to connect polygonal geometry for creating points on it to add mask, and curves to activate masking. |
Input2 - This input is used to connect points or geometric objects as sources to activate masking. More details can be found in the description of the “Source” tab. |
|
📤 Outputs: | outpout1 - This output returns the geometry connected to input1 and curves created by the asset. The "source" tab provides the option to split the output result. |
outpout2 - This output returns masking points and the simulation result of mask spreading. The "source" tab provides the option to split the output result. |
This tab contains the settings for simulating and creating curves.
Group Name | The name of the point group where primitives are created. To finish creating the current primitive and move to the next one, change the value of this parameter. |
|
Reset | Remove all created curves. |
|
Carve # | The mask attribute value based on the curve length. Increasing parameter values from 0 to 1 increases the mask attribute value for points on the curve. This parameter is unique for each curve. |
In this tab, you'll find settings for adding mask activators points to created curves or geometry connected to input2, as well as settings for smoothing the curves created by the asset. The settings are identical to the SOP nodes "Resample" and "Smooth".
This tab contains settings for adding points to geometry connected to input1. The settings are identical to the SOP node Scatter and differ only by the presence of one additional parameter, which adds volume and allows creating points inside objects rather than on their surface.
Volume From Geomerty | Creates a volume from closed polygonal objects and uses the volume for scatter. Enabling this toggle opens the parameters for volume resolution settings identical to the "IsoOffset" SOP node. |
This tab contains parameters affecting the speed and shape of mask spreading.
In this tab, you can set the attribute name for masking, control rotation angle using the quaternion @orient, and also create a duplicate of the mask attribute and modify parameter values for specific usage scenarios (such as activating growth of instanced geometry, etc.).
Here you can enable the application of points or geometry from input2 as masking activators. This tab also includes settings for splitting output results.
Import Source | Use this if you already have points or primitives to initialize the masking and there is no need to create curves on the surface of objects. |
Source Type | Type of imported geometry source. If set to "primitives," resample and smooth also apply to them if they are enabled. The masking attribute for all points (imported or created on the surface of primitives) has a value of 1.0. |
Output1 Geometry | Output 1 options. "Only input1 geo" - only the geometry connected to input1 of the asset is output in output1. "Only curves" - only curves created on the surface of the geometry asset. "Both" - both the geometry connected to input1 and the curves created on the surface of the geometry using the asset are output. |
Output2 Geometry | Output 2 options. "Only masked Points" - only points with a mask attribute greater than 0 are output to output 1. "Only non-masked points" - with a mask attribute equal to 0. "Both" - all points. |
This tab contains settings necessary to obtain the transformation matrix from incoming polygons. Use this if your geometry does not contain a primitive attribute @xform with a transformation matrix4.
If you have any feedback or run into issues, please feel free to open an issue on this GitHub project.