¶AdnGlue
AdnGlue is a Maya node that can be used to attach multiple muscles together. This solver uses as input a series of simulated muscles and allows the user to define glue connections between those muscles by using a maximum glue distance value and painted maps.
The maps required to control the AdnGlue solver can be painted using the standard Maya Paint tool.
¶How To Use
The AdnGlue node can be applied to any set of geometries. For each geometry, their mesh at each frame is gathered and simulated to ensure the original distance between the neighboring geometries. This is achieved by creating attachments between each vertex of a geometry and the closest point on the surface of one of the other geometries (i.e. the closest one). More aspects are then computed to ensure that the simulated output preserves the original shape and edge-lengths of the simulated meshes. The output of the node is a mesh that combines all the input geometries together and adds the results of the solver.
To create an AdnGlue node within a Maya scene, the following inputs must be provided:
- Input Geometries (IG): List of geometries to be simulated and attached together by the glue solver.
- Applying the AdnGlue node will automatically create a new mesh in your scene, which will display the results of the solver.
- The naming of the new mesh created follows the format "AdnGlue1_GEO".
- Deleting the AdnGlue node will not delete the created output mesh and vice versa.
The process to create an AdnGlue node is:
- Select the Input Geometries.
- Press in the AdonisFX shelf or the Glue action in the AdonisFX’s Solvers menu, under the Create section.
- A message in the terminal will notify you that AdnGlue has been created properly, meaning that it is ready to simulate with default settings. Check the next section to customize their configuration.
- By default, no glue connections are created, resulting in the output geometry being identical to the input meshes combined.
- Check the description of Max Glue Distance attribute and also the paintable maps to control the amount of glue connections to create and the areas where they have to be created.
¶Attributes
¶Solver Attributes
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Enable | Boolean | True | ✓ | Flag to enable or disable the node computation. |
Iterations | Integer | 3 | ✓ | Number of iterations that the solver will execute per simulation step. Greater values mean greater computational cost. Has a range of [1, 10]. The upper limit is soft, higher values can be used. |
Stiffness | Float | 5000.0 | ✓ | Defines the overall stiffness of the material to be used for the simulation. This value can be later overridden for each different aspect of the solver to fit creative needs. |
Bypass | Boolean | False | ✓ | When set to True, this attribute makes the input geometry pass through the solver without any simulation being applied. The solver does only transfer the input geometries into the output combined mesh. This is very useful if you want to compare results between having and not having the glue simulation performed. |
¶Time Attributes
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Preroll Start Time | Time | Current frame | ✗ | Sets the frame at which the node initializes. |
Current Time | Time | Current frame | ✓ | Current playback frame. |
¶Scale Attributes
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Time Scale | Float | 1.0 | ✓ | Sets the scaling factor applied to the simulation time step. Has a range of [0.0, 2.0]. The upper limit is soft, higher values can be used. |
Space Scale | Float | 1.0 | ✓ | Sets the scaling factor applied to the masses and/or the forces (e.g. gravity). AdonisFX interprets the scene units in centimeters. If modeling your creature you apply a scaling factor for whatever reason (e.g. to avoid precision issues in Maya), you will have to adjust for this scaling factor using this attribute. If your character is supposed to be 170 units tall, but you prefer to model it to be 17 units tall, then you will need to set the space scale to a value of 10. This will ensure that your 17 units creature will simulate as if it was 170 units tall. Has a range of [0.0, 2.0]. The upper limit is soft, higher values can be used. |
¶Advanced Settings
Override Constraint Stiffness
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Glue | Float | -1.0 | ✓ | Sets the stiffness override value for the glue constraints used to attach the muscles to one another. If the value is less than 0.0, the global stiffness will be used. Otherwise, this custom stiffness will override the global stiffness. Has a range of [0.0, 1012]. The upper limit is soft, higher values can be used. |
Distance Constraints | Float | -1.0 | ✓ | Sets the stiffness override value for distance constraints. If the value is less than 0.0, the global stiffness will be used. Otherwise, this custom stiffness will override the global stiffness. Has a range of [0.0, 1012]. The upper limit is soft, higher values can be used. |
Shape Preservation | Float | -1.0 | ✓ | Sets the stiffness override value for the shape preservation constraints. If the value is less than 0.0, the global stiffness will be used. Otherwise, this custom stiffness will override the global stiffness. Has a range of [0.0, 1012]. The upper limit is soft, higher values can be used. |
Providing a stiffness override value of 0.0 will disable the computation of that constraint.
Mass Properties
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Point Mass Mode | Enumerator | By Density | ✓ | Defines how masses should be used in the solver.
|
Density | Float | 900.0 | ✓ | Sets the density value in kg/m3 to be able to estimate mass values with By Density mode. The value is internally converted to g/cm3. Has a range of [0.001, 106]. Lower and upper limits are soft, lower and higher values can be used. |
Global Mass Multiplier | Float | 1.0 | ✓ | Sets the scaling factor applied to the mass of every point. Has a range of [0.001, 10.0]. Lower and upper limits are soft, lower and higher values can be used. |
Dynamic Properties
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Triangulate Mesh | Boolean | False | ✗ | Use the internally triangulated mesh to build constraints. |
Glue Multiplier | Float | 1.0 | ✓ | Sets the multiplier factor for the weights of the glue constraint. Has a range of [0.0, 2.0]. The upper limit is soft, higher values can be used. |
Max Glue Distance | Float | 0.0 | ✓ | Sets maximum distance at which a vertex has to be from neighbor surfaces to create a glue constraint. Depending on the scale of your creature, higher values might be required to guarantee dense glue connections to be created. Use the debugger to help you define the value that fits your creature the best. |
Compression Multiplier | Float | 1.0 | ✓ | Sets the scaling factor applied to the compression resistance of every point. Has a range of [0.0, 2.0]. The upper limit is soft, higher values can be used. |
Stretching Multiplier | Float | 1.0 | ✓ | Sets the scaling factor applied to the stretching resistance of every point. Has a range of [0.0, 2.0]. The upper limit is soft, higher values can be used. |
¶Node Attributes
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Envelope | Float | 1.0 | ✓ | Specifies the deformation scale factor. Has a range of [0.0, 1.0]. The upper and lower limits are soft, values can be set in a range of [-2.0, 2.0] |
¶Debug Attributes
Name | Type | Default | Animatable | Description |
---|---|---|---|---|
Debug | Boolean | False | ✓ | Enable or Disable the debug functionalities in the viewport for the AdnGlue node. |
Feature | Enumerator | Distance Constraints | ✓ | A list of debuggable features for this node.
|
Width Scale | Float | 3.0 | ✓ | Modifies the width of all lines. |
Color | Color Picker | Red | ✓ | Selects the line color from a color wheel. Its saturation can be modified using the slider. |
¶Attribute Editor Template
¶Paintable Weights
In order to provide more artistic control, some key parameters of the AdnGlue solver are exposed as paintable attributes in the node. The Maya paint tool must be used to paint those parameters to ensure that the values satisfy the solver requirements.
Name | Default | Description |
---|---|---|
Compression Resistance | 1.0 | Force to correct the edge lengths if the current length is smaller than the rest length. A higher value represents higher correction.
|
Glue Resistance | 1.0 | Force to preserve the distance to the closest point on the closest neighbor surface. A higher value represents higher correction.
|
Masses | 1.0 | Multiplier to the individual mass values per vertex. |
Max Glue Distance Multiplier | 1.0 | Multiplier to the individual values of the max glue distance per vertex.
|
Shape Preservation | 0.0 | Amount of correction to apply to a vertex to maintain the initial state of the shape formed with the surrounding vertices. |
Stretching Resistance | 1.0 | Force to correct the edge lengths if the current length is greater than the rest length. A higher value represents higher correction.
|
¶Debugger
In order to better visualize node constraints and attributes in the Maya viewport there is the option to enable the debugger, found in the dropdown menu labeled Debug in the Attribute Editor.
To enable the debugger the Debug checkbox must be marked. To select the specific feature you would like to visualize, choose it from the list provided in Features. The features that can be visualized with the debugger in the AdnGlue node are:
- Distance Constraints: For each pair of vertices forming a constraint a line will be drawn. If the Triangulate Mesh option is disabled the debugged lines will align with the edges of the mesh polygons. If the Triangulate Mesh option is enabled the debugged lines will align with the edges of the underlying triangulation of the mesh.
- Shape Preservation: For each vertex with a shape preservation weight greater than 0.0, a line will be drawn from each adjacent vertex to the opposite adjacent vertex.
- Glue Constraint: A line will be drawn for every vertex to the closest point on the closest neighbor surface.
¶Advanced
¶Inputs
Once the AdnGlue node is created, it is possible to add new inputs and remove currently connected ones.
-
Add inputs:
- Select one or more mesh nodes to be assigned as inputs to the AdnGlue.
- Select the AdnGlue output mesh.
- Press Add Inputs in the AdonisFX menu from the Edit Glue submenu.
-
Remove inputs:
- Select one or more mesh nodes that are assigned as inputs to the AdnGlue.
- Select the AdnGlue output mesh.
- Press Remove Inputs in the AdonisFX menu from the Edit Glue submenu.
- Alternatively, if only the AdnGlue output mesh is selected, when pressing the Remove Inputs button, all inputs will be removed.
Adding and removing inputs will automatically update the painted maps. Undoing the removal of inputs does not restore the previously painted values for the restored inputs. The painted values are set to the default value.