Weaver
Overview
The Weaver node generates Ornatrix guides along a mesh surface based on a set of patterns. User-definable patterns define how these guides are generated and repeated on the surface.
Weaver is useful for creating surfaces which consist primary of strands, such as rattan, wire fences, and cloth.
Target Mesh
Target mesh is the surface on which guides will be generated. The guides will follow the contours of this surface to form the weaves. For example, if you want to create a rattan basket you can use a box as the target mesh to define the basket shape.
If you will use a reference mesh then texture coodinates (UVs) must be well defined on the chosen target mesh. Otherwise, target mesh faces will be used directly to spread weave patterns along the mesh surface.
Reference Mesh
If current target mesh has texture coordinates then weaving can be done in the texture (UV) space of the mesh. The patterns will be generated on the texture faces of the mesh and then projected into the object space 3d faces of the target mesh. This has a benefit of being easier to visualize and manage since UV is a 2d space and patterns can be easily laid out and managed there.
Curves and Patterns
Weaver works by spreading a set of curves or patterns across the target mesh surface. The curves which is spreads can either be external Maya NURBS curves or a set of pre-defined curve patterns which are tiled based on user specification. You can also choose to do both: generate curve patterns and spread NURBS curves at the same time.
NURBS Curves
Weaving NURBS curves is the easiest workflow to try. target mesh will need to have texture coordinates for this to work.- Make sure that Show UV Mesh option is on to visualize the target UV space.
- Place one or more Maya NURBS curves over this space.
- Add these curves to the Curves list
The result will be the curves you provided spread across the target mesh surface. You can add, remove, and edit the added hairs as needed to achieve your target weave pattern.
Patterns
The most powerful way of generating weaves is by creating repeating patterns of guides across the target surface.- These patterns are a tileable set curves which can be repeated to create a larger regular structure.
- Patterns can connect between themselves from left to right and top to bottom as well as with other patterns.
- Patterns can have 3 or more edges, there is no limit to having them be a square.
- Patterns align themselves to reference or target mesh faces and you can control which patterns are generated for which face and how they align along the edges of that face.
- You can also choose how the tiling of patterns is performed. You can manually specify how many patterns will be tiled along each edge of each reference mesh face or you can specify this value to be determined by the world-space size of each edge. In the latter case patterns procedurally retain their size if the target mesh is modified or rescaled.
Parameters
Weaver Settings
Set Target Mesh
Use this button to pick the target mesh from the scene in viewport.
Put Into Target Space
When on, the resulting curves will be generated on top of the target mesh surface. Otherwise, they will be generated in the target mesh UV space instead.
Set Reference Mesh
Use this button to pick the reference mesh from the scene in viewport.
Source Curves
Use this list to add or remove Maya NURBS Curves to be spread over the target mesh surface.
Curve Sample Count
Specifies how many points are sampled from Source Curves to generate the resulting guides. More points will provide more detailed weaves if the source curves or target mesh have a lot of detail.
Source Patterns
Use this list to add or remove Maya patterns to be spread over the target mesh surface.
Show UV Mesh
When on, the texture coordinates of target mesh will be displayed as a flat plane in world XY space. Reference mesh or NURBS Curves need to be placed over this flat mesh to be projected onto the target world surface.
Show UV Guides
When on, in addition to the final generated weave curves you will also see how these curves look in the target mesh UV space. The displayed guides will not be generated as operator's output, they are only visualized in viewports.
UV Scale
Use this parameter to increase or decrease the size of the UV mesh inside the viewport.
Connect Close Bounds
When generating patterns in UV space the opposite edges of UV space are far apart but could be very close in object space. If this option is on, all patterns that have their ends near each other in object space will be connected together to form one continuous guide. For example, a wire will be connected into a circle if its ends are close to each other in object space.
Distance Threshold
When Connect Close Bounds parameter is on this controls the minimum distance between two ends of a curve for them to be connected to one another.
Pattern Smoothing
When two patterns are connected to each other via their boundaries you can end up with sharp corners if the pattern boundaries are not aligned with each other, or if the two patterns are located at an angle from one another. If this option is on, these sharp corners are fixed by smoothing the transition of a curve from one pattern into the next.
Pattern Smoothing Curve
When Pattern Smoothing is used this curve controls how much smoothing is applied to each curve in the pattern going from its center towards the edge.
Face Settings
When target mesh has texture coordinates patterns are generated in its local UV space. With controls in this section you can edit per-face pattern parameters. If a reference mesh is used then the faces of the reference mesh are used instead. This is very useful for simplifying the topology of the patterns when the target mesh has a lot of detail and it allows target mesh topology to change arbitrarily while retaining the same weave structure.
Weave Face Editing Tool
When this button is pressed you can select one or more faces on target or reference mesh to modify. Only parameters for currently selected faces will be modified.
Patterns
Specifies which weave patterns are used on current faces. The number of edges in patterns needs to match the number of edges on the face. Use the Add button to add currently selected pattern in the global patterns list. If more than one pattern is added the patterns will be scattered randomly on the face.
Pattern Rotation
Specifies if and how much a pattern needs to be rotated clock-wise on the face(s). For example, a value of 1 on a quad face will rotate the pattern such that its left border will align with face's top edge. Value of 2 will align the left border with face's right edge.
Edge Settings
When target mesh has texture coordinates patterns are generated in its local UV space. With controls in this section you can edit per-edge settings which control how many patterns are placed on each edge. If a reference mesh is used then the edges of the reference mesh are used instead.
Each edge can host one or more patterns. If more than one pattern boundary is present on an edge then patterns will be tiled and joined together accordingly.
Weaver Edge Editing Tool
When this button is pressed you can select one or more edges on target or reference mesh to modify. Only parameters for currently selected edges will be modified.
Pattern Division
Determines how currently selected edge(s) will determine how many pattern boundaries should be present along it:- Inherit
The behavior will be inherited from global pattern settings. - Automatic
The behavior will be inherited from neighboring face edges, or global settings if neighboring face's edges are set to automatic. For example, if a neighboring face's edges have 2 patterns on each edge then this edge will also have two edges. - Constant
Count parameter will be used to determine the exact count of patterns to place along this edge. - Length
Length parameter will determine the desired length of each pattern. The pattern count along the edge will then be determined based on the edge's object-space length. This option will dynamically modify tiled pattern count if the source mesh is resized.
Length
When Length option is used for Pattern Division then this option will set the desired pattern object-space size.
Count
When Constant option is used for Pattern Division then this option will set the desired pattern count size along current edge(s).
Sample scene
A sample scene with a Weaver object and a Weaver pattern used to create a basket can be downloaded from HERE.
Related Topics
Missing Something? Let us know if this page needs more information about the topic.