meta data for this page

Stitch generator

The Stitch generator connects two nodes together. The most common use is to blend a photogrammetry based mesh into a procedural branch from which the remainder of the model is constructed.

Note: Unlike many other generators, Stitch generators are meant to be placed by hand. A single generator may create multiple stitches, but each one must be positioned with a gizmo in node editing mode.

Generation

Random Seeds

Settings

Stitches connect their parent node and their first (and only their first) child node. Use the following properties to control the manner in which the stitch operates.

Locked

When checked, the stitch can’t be moved.

Enabled

When checked, the stitch attempts to connect its parent to its child as intended. Uncheck this property to restore the parent node for a quick look or to use mesh converters placed after the stitch temporarily.

Style

Choose the style of the stitch from one of the following options:

PropertyDescription
BakeChild branch is extended back into the parent mesh and blended over the parent's original maps. Refer to Extending a scanned trunk using a bake stitch.
BandParent overlaps the child and a band with a generated set of blend textures is used to join them. Refer to Extending a scanned trunk using texture blending.
WrapParent is molded over the child node and the seam is hidden by setting vertex transparency. Refer to Extending a scanned trunk using vertex blending.
CutThe stitch cuts off portions of the parent (no connection is made).
Disabledthe stitch becomes inert but can still be positioned.

In place

Keep convert-in-place stitches in position. This property is automatically enabled for convert-in-place stitches. We don’t recommend manually enabling it.

Height

Set the height of the blend region relative to the radius of the stitch. The top of the stitch region should be below the edge of the parent mesh. The stitch consumes the parent mesh beyond the stitch location and uses that for the blend.

Note: Taller stitches often make better blends, but they require more of the parent mesh to be consumed.

Clearance

Increase the radius around which parent geometry is consumed for the stitch. All of the parent geometry above the stitch and inside the outer limit indicated in the Tree Window is consumed by the stitch. Increase this value when parts of the parent mesh remain visible near the stitch region.

Clearance spread

Make the clearance zone spread out like a cone as the distance from the stitch grows. Use this property to make sure all the mesh beyond the stitch is removed, especially when stitching from a low spot on a scanned mesh.

Loop tolerance scale

Adjust how the stitch detects a valid vertex loop around the target mesh.

Weld scale

When a stitch cuts a parent mesh, the vertices on the stitch line weld together if they are within a certain threshold in both world space and UV space. Use the properties in this group to adjust those thresholds.

Position

Scale the distance the stitch computes internally for the weld threshold.

UV

Scale the UV distance the stitch computes internally for the weld threshold.

Bake

Bake stitches perform the following actions to stitch the parent to the child:

  1. The parent mesh is sliced at the stitch point
  2. The child branch's vertices are snapped to the vertices on the cut line
  3. The child branch is extended down over the parent mesh to form a blend region (the child needs to have maps that tile in V)
  4. The extension is tuned and blended based on property settings
  5. When the parent mesh requests it, all “bake” stitches render the blend into the parent mesh's maps

Reverse

When enabled, the snap loop order is reversed. Use this option if the branch is connected to the mesh in such a way that it intersects itself.

Rotate

Rotate the child around the loop of vertices on the cut line. Each value up or down rotates the zero point of the child branch one vertex around the loop.

Falloff

Control how much the original mesh above the cut line affects the shape of the child mesh. This distance is visualized by the black line on the clearance cone.

Blend

The properties in this group control the size of the blend region and how it blends over the parent mesh.

Range

Set the distance down the parent mesh that the child is extended. This is set in terms of the diameter of the cut made by the stitch.

Relax

The extension's direction is governed by the shape of the mesh and is discovered automatically. This property can be used to smooth out the computed path as visualized by the white dots extending from the stitch location.

Mask

Select the mask used to blend the maps from the blend region onto the main region. These masks are located in the installation location in the “blend masks” folder. The “custom” folder in that location can be used to add your own masks if you desire. You must copy them in manually, there is currently no GUI for that operation.

Stretch

Stretch the blend mask across the blend geometry. Use this property to make the blend mask cover as much of the blend region as possible.

Shift

Rotate the blend mask around the blend geometry. Use this property to align the blend mask on the mesh.

Repeat

Sets the number of times the blend mask repeats in U. It must be an integer so that the blend mask tiles in U. Use this property with Stretch to ensure the blend mask covers most (but not more) of the blend region and maintains its aspect ratio as much as possible.

Wrap

The properties in this section control how the parent geometry is shaped around and blended with the child geometry in Wrap mode.

Opacity

The properties in this group control how vertex transparency values are computed inside of the stitch region. Vertices near the stitch start should be opaque. Vertices near the top of the stitch should be transparent. The result is the parent mesh smoothly fades out as it is laid on top of the child mesh. The result is a gradual fade from the parent mesh to the child mesh, without any extra geometry or textures.

Note: Using this vertex blending method requires your target application to support vertex transparency values.

Enable

Turn vertex transparency value computation on and off. When disabled, the parent mesh is always opaque.

Fade

Control how the fade is computed. A linear decay curve causes the opacity to linearly fade from opaque at the bottom of the stitch to transparent at the top. Change the shape of the curve to control how the geometry fades out. It is often useful to increase how long opaque values are computed to help hide the junction at the base of the stitch.

Noise

A perfectly smooth blend is often too noticeable to be effective. Use the properties in this group to jumble up the opacity values using a noise function. The more mottled approach to the fade-out typically results in better blends.

Note: Because opacity values are computed per vertex, higher vertex counts in the blend region results in more defined noise patterns and better blends. Use the geometry options below to increase polygonal complexity in the blend region.

Amount

Set how much the noise value affects the opacity computation. Set it to 0.0 for a smooth fade.

Scale

Control the density of the noise pattern. Higher values result in tighter, more varied noise.

Seed

Vary this value to randomize only the noise pattern of the blend without randomizing any of the other properties.

Contrast

Modify every computed opacity value. The computed value is used to look up this curve value and the result becomes the opacity. A linear growth curve represents a one to one match with the computed value. S-curves increase the contrast, making the noise pattern more effective.

Geometry

Vertex blending stitches work by molding the parent mesh around the child mesh and then fading out the vertices. The properties in this group control how the parent mesh is molded to the child mesh.

Seal

Control how much the parent mesh is formed around the child mesh in a manner similar to vacuum sealing. The profile curve controls how much any given vertex is sealed based on how far along the stitch it is. The left side of the curve controls vertex sealing near the base of the stitch. The right side controls vertices near the top.

Minimum gap

This value represents (in terms of the size of the stitch) the minimum space that will be kept between the parent mesh and the child mesh. Use this value to force a small space between the two meshes to prevent depth conflicts in the final application (should they arise).

Child shaping

Just as the parent can be sealed to the child geometry, so too can the child geometry be shaped to the parent. This value (in terms of stitch size) controls how far up the child node its geometry is molded to the shape of the parent. Use this value with Seal to shape the stitch region.

Segments

More vertices in the stitch region result in better geometry molding and vertex blending. Add horizontal segments to the stitch region by increasing this value.

Tessellate

Increasing this value will tessellate the triangles in the stitch region, favoring larger triangles first. Use this to add even more vertices in the blend region.

Band

When using the Band style, a band of geometry is generated to link the parent mesh to the child mesh. This band is created by chopping the end off of the parent mesh, the beginning of the child mesh, stitching the geometry together into a band, and then generating a set of textures that use the removed mesh portions to create blended images to map onto the band. The properties in this section control the band geometry and texture generation.

Note: When the stitch is selected, a preview of generated maps is visible in the Tree Window.

Note: All of the map layers are blended including color, normal, gloss, etc.

Geometry

The properties in this group control how the band geometry is created.

Segments

Set the number of slices in the band. Increase this value to give yourself more geometry to help shape the band in the overlap area.

Overlap

Control how the geometry is interpolated. Vertices at the base of the stitch match the parent exactly. Those at the top match the child. Those in between are interpolated according to this curve.

Tessellate

Increase this value to tessellate triangles in the band region. This is typically not necessary.

Child radius scale

Increase the radius of the child branch when Convert-in-place is used by the Mesh converter generator to make the stitch. Band stitches created manually should use the properties on the child to change its radius.

UV

The properties in this group control how UV coordinates are computed for the band geometry.

Style

Choose the style used from the following options:

PropertyDescription
Make new mapsThe stitch will create blended maps and use those to bridge the parent and child.
Use existing mapsUse this option if you have already created the maps that will do the blending and just want to place them on the stitch (“Convert-in-place” from the Mesh Converter is an example of this approach).
U Shift

Shift the applied map in the U direction. This property is visible only when Style is set to Use existing maps.

V Scale

Scale the applied map in the V direction. This property is visible only when Style is set to Use existing maps.

Pinch V

The V texture coordinates are computed to exactly match the generated maps; however, this may result in slight errors near the edges of the stitch due to mipmapping and texture repeating. Use these values to bring in the V coords slightly to eliminate these artifacts.

Low

Increase the low V coordinate value.

High

Decrease the high V coordinate value.

Texture Blend

Texture blending is a pixel operation. These properties are applied on a per-pixel basis in the generated maps to produce more convincing blends than can often be made using vertex blending.

Show

Choose what appears in the texture preview.

Mask

Select a mask for the blend.

Shift

Move the mask left or right on the blend.

Repeat

Set how many times the mask repeats on the blend.

Band Material

The properties in this group control when textures are generated and applied. When the material is set to its default value (Inherited) the stitch band will render in white and the texture preview will be visible. In this state, it is possible to generate a set of maps. When a material is applied, that material will be used on the band and the preview will not be shown, nor can new maps be generated in this state. So, the procedure for editing a band's material is as follows:

  1. Position the stitch in a valid location.
  2. Make sure the band material is the default setting (“Inherited”);
  3. Adjust the band geometry settings.
  4. Adjust the blend settings.
  5. Generate the textures.
  6. Create a material that uses those textures (or reload one that already does).
  7. Assign the material to the band.
  8. Repeat the process (especially step 2!) to make edits.

Texture size

Set the size, in pixels, of the longest dimension (usually width) of the generated textures. Set this value prior to selecting Generate textures or Create/Apply material.

Create/apply material

When the preview looks correct and the texture size is set, use this option to create a set of maps in a folder you designate, create a material from those maps, and have it automatically applied to the stitch.

Generate textures

When the preview looks correct and the texture size is set, use this option to create a set of maps in a folder you designate. Use these maps to create a material in the Material Asset Bar.

Allow UV areas

Check this option to access UV areas on materials. This option typically only makes sense when applying a material that's part of an atlas.

Material

Assigs a material to the band. When a material is assigned you cannot generate new ones.

Weight

Set the probability that a node will receive this material (this weight divided by the sum of all weights).

Patch options

Choose how to apply the material. See UV tiling.

PropertyDescription
UV AreaChoose to apply the full UV map or a UV area.
Whole mapApply the full UV map.
AnyApply any UV area. This option is visible only if the material has multiple UV areas.
Custom area nameApply a specific UV area. Set and name the area with the UV Area Editor.
PlacementThis property has no influence on stitches but can be used on a Branch generator.

Lightmap

The property in this group affects the influence stitches in this generator have on the lightmap.

Note: Not all versions of the Modeler support lightmap UV computation.

Weight

Increase or decrease the importance of this generator's geometry in the lightmap – in relation to the lightmap weight of all other objects – before lightmap packing is determined. Note that your Weight value may not be honored exactly or may get so large as to exhibit unexpected results. Use Tools > Reset lightmap scalars to go back to default values for the whole model.