🧢 Procedural Fabric Design: Weaves, Patterns, and Roughness in Adobe Substance 3D Designer

Fabric materials are among the most rewarding β€” and challenging β€” to recreate in 3D. The subtle weave, thread direction, sheen, and fiber irregularities determine whether a fabric looks soft, synthetic, or coarse. With Adobe Substance 3D Designer, you can craft these characteristics procedurally, achieving photorealistic textiles that can be endlessly customized.

In this tutorial, we’ll explore how to build a procedural fabric material using node-based workflows in Designer β€” focusing on weave structure, pattern control, and roughness maps that define how light interacts with the surface.

πŸ‘‰ Start building along with a free trial of the Adobe Substance 3D Collection and discover how to simulate cloth realism entirely from nodes.

Procedural Fabric Design - Weaves, Patterns, and Roughness in Adobe Substance 3D Designer
Procedural Fabric Design – Weaves, Patterns, and Roughness in Adobe Substance 3D Designer

🧠 Understanding Procedural Fabric Design

Fabric realism depends on three key surface factors:

  1. Weave Structure – The pattern of interlaced threads (e.g., plain, twill, satin).
  2. Pattern Overlay – Decorative color or print layered on top of the weave.
  3. Roughness Variation – Determines sheen and how threads reflect light.

By designing these procedurally, you can simulate cotton, silk, denim, burlap, or synthetic fabrics with full control and zero image-based limitations.

🧡 Step 1: Set Up the Base Graph

  1. Open Adobe Substance 3D Designer.
  2. Go to File β†’ New Substance Graph β†’ select Physically Based (Metallic/Roughness).
  3. Name your graph Procedural_Fabric_Base.

Add standard PBR outputs:

  • Base Color
  • Roughness
  • Normal
  • Height
  • Ambient Occlusion

🎯 Pro Tip: Keep both 2D and 3D views open β€” subtle changes in weave intensity appear best under angled lighting.

🧱 Step 2: Create a Weave Pattern

Let’s simulate a plain weave (the most common textile structure).

  1. Add a Shape node β†’ set to Square.
  2. Connect it to a Tile Sampler node.
  3. Set Pattern β†’ Square, and adjust:
    • X Amount: 32
    • Y Amount: 32
    • Pattern Scale: 0.9
  4. Add a Transformation 2D node β†’ rotate by 45Β° for a diagonal weave orientation.
  5. Duplicate the layer and offset it slightly to create interlacing threads.
  6. Blend both using a Max (Lighten) Blend node to merge.

πŸ’‘ Workflow Tip: For alternative weaves like twill or herringbone, use Directional Warp or FX-Map nodes for angled thread offsets.

🎨 Step 3: Add Height and Depth

  1. Add a Levels node to fine-tune the grayscale contrast of your weave pattern.
  2. Connect it to a Height Map Output.
  3. Add a Normal Map node and connect it as well β€” this will simulate thread elevation.
  4. Subtly adjust Normal Intensity (5–10) to preserve a soft surface.

🎯 Pro Tip: In fabrics, depth comes from microstructure β€” avoid large height jumps for realism.

🧩 Step 4: Introduce Roughness Variation

Roughness defines how light scatters on fibers.

  1. Add a Noise node (e.g., Clouds 2 or BnW Spots).
  2. Blend it with the weave pattern using a Multiply node.
  3. Connect to the Roughness Output.
  4. Adjust Levels until you achieve realistic highlights β€” shiny threads for silk, matte for cotton.

πŸ’‘ Bonus: Use Directional Noise for brushed fabric or velvet-like anisotropy.

πŸͺ‘ Step 5: Add Color and Pattern Layers

  1. Add a Gradient Map to colorize your weave pattern.
  2. Choose natural fiber tones (light beige, gray, or indigo).
  3. To add printed designs:
    • Import a Pattern Texture (e.g., stripes, floral, geometric).
    • Use a Blend β†’ Overlay node to merge it with the base color.
  4. For dyed or worn effects, add a Grunge Map and blend at low opacity.

🎨 Pro Tip: Use Mask Random in the Tile Sampler to assign slightly different colors to each thread for realism.

🧢 Step 6: Refine the Fabric Detail

  1. Add a Warp node to subtly distort the weave (simulating stretched threads).
  2. Add a Curvature node from your Height output to enhance lighting on thread edges.
  3. Blend Curvature with Base Color using a Soft Light Blend node for visual depth.
  4. Add an Ambient Occlusion (AO) node from Height for shadowing between threads.

πŸ’‘ Workflow Tip: AO depth helps separate individual threads visually under lighting.

πŸͺ£ Step 7: Test and Adjust in Lighting

  1. In the 3D view, apply a Studio Soft Light HDRI.
  2. Rotate lighting to test highlights and shadow interplay.
  3. Tweak Roughness, Normal Intensity, and Warp Strength until the fabric feels tactile.

🎯 Pro Tip: For silky fabrics, reduce roughness and increase weave contrast. For denim or burlap, raise roughness and add more noise.

πŸ’Ύ Step 8: Export or Reuse the Material

Once satisfied:

  1. Connect all outputs β€” Base Color, Normal, Roughness, Height, AO.
  2. Save your project.
  3. Right-click your graph β†’ Publish .SBSAR File for reuse in:
    • Substance 3D Painter
    • Substance 3D Stager
    • Blender, Unreal Engine, or Unity.

🎨 Bonus: Expose parameters like Thread Scale, Color Tint, or Weave Type for reusable flexibility.

βœ… Conclusion

With Adobe Substance 3D Designer, procedural fabric design becomes both artistic and technical. By controlling weave patterns, roughness, and depth procedurally, you can simulate any textile with physically accurate light behavior β€” perfect for fashion, product design, or interior visualization.

πŸ‘‰ Try the Adobe Substance 3D Collection free trial and start crafting your own digital fabrics from scratch.