Sheen Materials: The Soft Edge Reflection Fabric Needs

14 min read · Last updated August 2026

Folded velvet, wool, felt, microfiber, and satin swatches showing soft colored edge reflections under long studio lights
The light is brightest where the fabric turns away. That is the useful clue.

Place a velvet swatch under a long area light and rotate it. The center can remain deep and quiet while the folds facing away from the camera catch a broad, colored halo. Ordinary roughness can produce a soft highlight, but it does not fully describe this edge-weighted response. Sheen materials add a dedicated reflection lobe for the tiny fibers that sit above cloth, velvet, felt, microfiber, dusty leather, and similar surfaces.

That extra lobe is easy to misuse. Too much sheen turns a wool coat into illuminated peach skin. Too little leaves velvet looking like matte plastic with an expensive normal map. The goal is not generic softness; it is a response tied to fiber color, density, roughness, viewing angle, weave scale, and the base material underneath.

This guide treats sheen materials as a small optical system rather than a flattering filter. The result should survive motion, neutral lighting, distance, and export without requiring the art director to stand at one approved camera angle.

What PBR sheen adds to sheen materials

PBR sheen models reflection from fine fibers or microflakes above a surface. Those fibers tend to return more light toward the camera near grazing angles, where the surface normal points away from the view. The response is broad, soft, and often tinted by the fiber itself.

Macro cross-section of dense burgundy velvet fibers rising above a woven base and catching a bright grazing light along their tips
The base weave handles the cloth. The raised fibers earn the second reflection.

The lobe sits beside the familiar diffuse and dielectric specular response:

  • Base color describes the body color after direct highlights are removed.
  • Specular reflection describes the surface boundary and remains tied to IOR and roughness.
  • Sheen describes the soft return from fibers above that boundary.
  • Anisotropy stretches a highlight along a direction; silk and satin often need it, while velvet can show strong sheen without a polished directional highlight.
  • Subsurface or transmission handles light travelling through thin or participating material. It is not a substitute for fiber reflection.

A cloth sheen shader may use a Charlie distribution, a microfiber BSDF, a fuzz approximation, or a Fresnel-shaped artistic term. These models do not share identical sliders. Move the visual intent—edge width, color, energy, and fiber coverage—not unexplained numeric presets.

Identify sheen materials by the fabric before touching sheen roughness

Start with the construction of the material. Fabric names are useful only when they imply visible fiber behavior.

SurfaceDominant cueSheen approach
Velvet or velourDense pile, dark face, bright colored grazing edgeStrong broad sheen with pile variation
Wool or feltIrregular short fibers and soft diffuse bodyModerate rough sheen with broken coverage
Cotton or linenVisible weave, limited raised fuzzLow sheen plus high-frequency thread normal
Microfiber or suedeFine directional nap that changes when brushedSheen mask and direction-aware variation
Silk or satinSmooth filaments and directional woven highlightAnisotropy first, restrained sheen second
Dusty coated surfaceFine particles above a harder baseSubtle neutral sheen layered over the original material

Do not infer sheen roughness from the ordinary roughness map. A velvet pile can have a broad fiber lobe while the underlying weave carries its own boundary reflection. Copying one map into both inputs creates convenient correlation, not physical evidence.

Use references captured under a moving strip light. Rotate both the sample and the camera. A single front-lit photo hides the grazing response, while a dramatic rim light can make every fabric look more heroic than it deserves.

Keep sheen color separate from base color

Sheen color represents the reflected color of the fibers, not an extra diffuse wash. It may resemble the base color because the same dye affects both, but it should be judged at grazing angles under neutral light.

For dark velvet, a saturated sheen color can reveal the pile without lifting the front-facing body into gray. For pale wool, a near-base tint may be enough. Neutral synthetic fuzz can reflect a less saturated light color. Avoid pure white unless the reference supports pale fibers; white sheen over dark cloth often looks like chalk dust.

Watch energy. Sheen materials with base diffuse, dielectric specular, and a bright fiber lobe can return too much light if the shader merely adds all three. Physically based implementations compensate or layer the lobes. A custom approximation should at least be tested against white and saturated materials under a calibrated light.

This is also a color-space problem. Store color textures with their intended color encoding, but import sheen roughness, masks, direction data, and packed channels as linear data. The sRGB vs linear textures guide covers the boundary in detail.

Build sheen materials around fiber scale

Coordinated burgundy fabric swatches showing base color, fine weave normal relief, grayscale roughness, and irregular fiber coverage under neutral studio light
Each map has one job. None of them needs a tiny baked highlight as moral support.

A practical texture set for sheen materials can include:

  1. Clean base color. Remove directional lighting and bright fiber rims from scans or photos.
  2. Macro normal map. Describe folds, quilting, seams, and larger compression where geometry does not carry them.
  3. Thread or pile detail normal. Tile a high-frequency weave or fiber pattern independently so it survives normal asset UV scale.
  4. Base roughness. Describe oil, wear, compression, and the underlying thread surface.
  5. Sheen mask. Control fiber coverage, rubbed areas, seams, printed regions, and places where the pile has been flattened.
  6. Optional direction map. Store nap or weave direction when brushing changes the response or the model supports anisotropy.

Author at physical scale. If a 2K detail map represents a five-centimetre swatch on one prop and a two-metre sofa on another, one of them has acquired rope. Record threads per centimetre, pile length class, and the intended metres per tile.

Keep high-frequency fiber information in a detail map when the base texture must cover a large object. Use a mask to suppress it at leather piping, buttons, polished wear, wet patches, or printed coating. If you pack the mask with other scalar data, document the channels and choose a format that survives the target platform’s texture compression.

How to make sheen materials that survive rotation

  1. Choose one named reference. Specify velvet, wool felt, brushed microfiber, cotton, or satin plus its real scale.
  2. Match the base under frontal light. Set base color, nonmetal behavior, base roughness, and normal detail with sheen disabled.
  3. Add a long grazing light. Rotate the sample until the fiber rim is clear but not clipped.
  4. Set sheen color. Match the fiber tint without brightening the front-facing center unnecessarily.
  5. Set sheen roughness or falloff. Match the width of the edge response before matching its peak brightness.
  6. Paint coverage. Mask flattened pile, seams, wear, prints, and non-fabric attachments.
  7. Add direction only when visible. Use anisotropy or a nap field for satin, brushed microfiber, or fabrics whose response changes with orientation.
  8. Validate under motion and distance. Rotate camera, object, and light; then inspect mipmaps and the shipped quality tier.

The best sheen material workflow 2026 keeps the base believable with the lobe disabled. That makes the sheen an explanation for fibers, not a rescue service for weak roughness.

Sheen materials in Unity, Unreal Engine, and Blender

For sheen materials Unity, HDRP’s Fabric Master Stack offers Cotton/Wool and Silk material types. Cotton/Wool targets diffuse fabrics such as cotton, wool, linen, and velvet; Silk targets smoother anisotropic fabrics. Unity’s fabric documentation also defines a thread map with AO in red, normal data in green and alpha, smoothness in blue, plus a separate single-channel fuzz map. URP does not expose the same full Fabric stack, so a custom Shader Graph approximation needs its own lighting and platform tests.

For sheen materials Unreal Engine, the Cloth shading model adds Fuzz Color and Cloth inputs above the usual base, specular, roughness, and normal controls. Fuzz Color sets the fiber contribution and Cloth masks its strength. Epic’s shading-model documentation describes that thin fuzz layer. Newer Substrate workflows can also represent fuzz with independent amount, color, and roughness; confirm the rendering path used by the shipped project rather than mixing legacy and Substrate assumptions.

For sheen materials Blender, Principled BSDF exposes Sheen Weight, Roughness, and Tint for small-fiber edge reflection. Blender also provides a layered Sheen BSDF in Cycles, with a microfiber distribution for cloth or dust and an older Ashikhmin velvet option. The Blender Sheen BSDF manual notes that higher roughness can return more color and appear dustier, so do not assume its control moves visually like an ordinary GGX roughness slider.

Translate by appearance: edge width, tint, coverage, and energy. Slider names are not a cross-engine file format.

Stop sheen materials from shimmering at distance

Fiber normals and masks contain high-frequency contrast. At distance, subpixel threads can shimmer, crawl, or collapse into a bright average. The sheen lobe can amplify that instability near silhouettes.

Use mipmaps that preserve the average normal and coverage. Reduce tiny normal amplitude in lower mips, keep the sheen mask from drifting brighter, and inspect temporal anti-aliasing or upscaling on the actual motion path. The texture filtering guide explains why a perfect close-up can still fail during a camera dolly.

Budget complete sheen materials, not isolated texture samples. A base color, normal, masks, thread map, direction map, and multiple lobes may be justified for a hero coat but not every upholstered chair in a stadium. Share tiling detail textures, pack compatible scalar data, and provide a cheaper distant material that retains the broad fiber cue.

When simplifying sheen materials, do not fade the fiber lobe entirely at the first LOD. A restrained grazing response may carry the identity of velvet after the weave disappears. Remove the expensive frequency before removing the readable silhouette cue.

Diagnose sheen materials by the direction of the error

Burgundy velvet material applied to a sphere, folded drape, rounded block, and upholstered cushion under frontal and grazing studio lights
A material that only works on the sphere has passed the sphere test, which is not a shipping category.
SymptomLikely causeFirst useful check
Cloth looks dusty everywhereSheen too bright, too neutral, or visible at frontal anglesDisable the lobe and restore it under one grazing light
Velvet looks like matte plasticMissing edge lobe or pile mask, normal detail too uniformRotate a strip light and inspect the silhouette
Edge becomes neonAdditive energy, clipped light, or saturated sheen colorTest a middle-gray material and lower exposure
Satin looks like velvetSheen replacing directional specularSet anisotropy and tangent direction first
Fabric sparkles during motionThread detail aliases or low mips preserve too much varianceForce mip levels and reduce detail-normal amplitude
Brushed nap runs the wrong wayTangent basis or direction map is rotated or mirroredRender a known direction field on a simple plane
Seams glow like loose fibersCoverage mask ignores compression and constructionDarken or flatten the sheen mask at seams
Every fabric shares one personalityOne preset controls unrelated fiber structuresCompare velvet, felt, cotton, and satin in the same rig

Test sheen materials on a sphere, folded plane, rounded block, and production mesh. Use frontal, grazing, and broad environment lighting. The sphere shows angular falloff; folds reveal whether the lobe follows form; the block exposes bright corners; the production mesh finds UV, tangent, and LOD problems that primitives politely conceal.

FAQ

What is sheen in a PBR material?

Sheen is a soft, edge-weighted reflection lobe used for tiny fibers or microflakes above a surface. It is common on cloth, velvet, felt, microfiber, and dusty materials, and it sits alongside the base diffuse and specular response.

How does sheen work in a shader?

The shader evaluates a fiber-oriented distribution that returns more light near grazing view angles. Implementations include Charlie distributions, microfiber BSDFs, cloth fuzz models, and Fresnel-shaped approximations, so matching the visual response matters more than copying values.

Is sheen the same as roughness?

No. Roughness controls the spread of the ordinary surface reflection, while sheen adds a separate response for raised fibers. The inputs may correlate through the material construction but should not automatically share one texture.

What color should fabric sheen be?

Use the visible color of the fibers under neutral grazing light. It often resembles the dyed base color, but pale, synthetic, dusty, or worn fibers may be less saturated; avoid pure white unless the reference shows it.

Does velvet need a normal map and sheen?

Usually yes. The normal map describes weave, pile breakup, seams, and larger surface orientation, while sheen describes the grazing reflection from the fibers. A sheen lobe alone produces a clean halo without convincing material structure.

What is the difference between sheen and anisotropy?

Sheen produces broad fiber reflection, often strongest near grazing angles. Anisotropy stretches a specular highlight along a tangent direction; satin and silk often need anisotropy, while velvet and felt may rely more heavily on sheen.

Why does my sheen material sparkle in motion?

The thread normal, direction map, or sheen mask likely contains contrast finer than the projected pixels. Inspect mipmaps, reduce lower-mip variance, confirm texture filtering, and test with the production temporal anti-aliasing or upscaler.

Try CraftPBR

CraftPBR prepares the coordinated surface maps beneath and around sheen materials:

  • Text-to-PBR generates a full material set from a description of fiber, weave, color, scale, wear, and finish.
  • Photo-to-PBR converts a controlled fabric photo into aligned base color, normal, roughness, height, AO, and metalness maps.
  • Node workspace keeps levels, masks, tiling, fiber breakup, and high-frequency detail editable.
  • Engine export prepares normal orientation, linear masks, channel packing, filenames, and target-specific conventions.
  • Free tier lets you generate and test a complete fabric set before tuning the renderer’s sheen lobe.
  • CC0 output lets you modify, render, and ship generated textures without attribution.

Give the fibers their own reflection. Do not let them redecorate the whole BRDF.

Frequently asked questions

What is sheen in a PBR material?

Sheen is a soft, edge-weighted reflection lobe used for tiny fibers or microflakes above a surface. It is common on cloth, velvet, felt, microfiber, and dusty materials, and it sits alongside the base diffuse and specular response.

How does sheen work in a shader?

The shader evaluates a fiber-oriented distribution that returns more light near grazing view angles. Implementations include Charlie distributions, microfiber BSDFs, cloth fuzz models, and Fresnel-shaped approximations, so matching the visual response matters more than copying values.

Is sheen the same as roughness?

No. Roughness controls the spread of the ordinary surface reflection, while sheen adds a separate response for raised fibers. The inputs may correlate through the material construction but should not automatically share one texture.

What color should fabric sheen be?

Use the visible color of the fibers under neutral grazing light. It often resembles the dyed base color, but pale, synthetic, dusty, or worn fibers may be less saturated; avoid pure white unless the reference shows it.

Does velvet need a normal map and sheen?

Usually yes. The normal map describes weave, pile breakup, seams, and larger surface orientation, while sheen describes the grazing reflection from the fibers. A sheen lobe alone produces a clean halo without convincing material structure.

What is the difference between sheen and anisotropy?

Sheen produces broad fiber reflection, often strongest near grazing angles. Anisotropy stretches a specular highlight along a tangent direction; satin and silk often need anisotropy, while velvet and felt may rely more heavily on sheen.

Why does my sheen material sparkle in motion?

The thread normal, direction map, or sheen mask likely contains contrast finer than the projected pixels. Inspect mipmaps, reduce lower-mip variance, confirm texture filtering, and test with the production temporal anti-aliasing or upscaler.