Articles

How to Create a Photorealistic Velvet Material in CGI for Fashion Ads

ARTILABZ™

ARTILABZ™ gives you unlimited access to all Houdini courses, 3D assets, simulation files, textures and tools. updated every month.

Everything You Need to master Houdini.

01

Premium Houdini Tutorials

Full access to every course — fluid simulation, procedural FX, brand visuals and more.

02

Monthly New Content

Fresh tutorials and assets added every month — your library grows with you.

03

Instant Access to Everything

The moment you join, the full library is yours — no drip-feed, no waiting.

04

Project Files Included

Every tutorial comes with the full Houdini scene file — open every node, learn every detail.

FROM 14.99€/MONTH

Includes one exclusive complete course

The exclusive course — a full production tutorial you won't find anywhere else, never sold alone.

Best Seller
Most Loved
Tutorial Camera Rig

ADVANCED CUSTOM CAMERA RIG

ANIMATION · CONSTRAINTS · CUSTOM UI

BUILD A FULLY CUSTOM CONSTRAINT-BASED CAMERA RIG IN HOUDINI WITH A CUSTOM UI PANEL. DESIGN FLEXIBLE SYSTEMS FOR PRECISE, CINEMATIC CAMERA ANIMATION ON ANY PROJECT.

€29.99

Freebies
Free Studio HDRI Pack box by Artivoxa showing 60 studio lighting setups with softboxes wrapped around the packaging

Studio HDRI Collection

ASSETS · EXR & HDR · 60 HDRIS

DOWNLOAD 60 STUDIO HDRIS CAPTURED IN A REAL PHOTO STUDIO. LIGHT YOUR PRODUCT AND BEAUTY RENDERS LIKE A PHOTOGRAPHER — SOFTBOX, LANTERN, STRIP AND GRID SETUPS, READY FOR ANY RENDERER.

FREE

How to Create a Photorealistic Velvet Material in CGI for Fashion Ads

Do you find yourself spending hours tweaking shaders yet still missing that rich, soft feel of real velvet? Are your renders falling flat when it comes to capturing the depth and subtle fuzz of a luxury fabric? If you’re pushing pixels in CGI and struggling to hit that mark, you’re not alone.

Even with powerful tools like Houdini, the path to a truly photorealistic velvet material can feel tangled. You might nail the color but lose the sheen, or dial in the highlights only to introduce unrealistic grain. These common hurdles can derail an otherwise polished fashion ads campaign.

This article cuts through the confusion by laying out a clear, workflow-driven approach. You’ll dive straight into the key steps: modeling microfibers, fine-tuning shader parameters, and balancing specular and diffuse components to mimic real-world fiber scattering.

By the end, you’ll understand how to build a robust velvet shader network, optimize light setups, and streamline your render passes for clean, efficient output. Let’s turn your velvet renders from flat approximations into convincing, high-end visuals.

What photographic and technical references should you collect and analyze for photorealistic velvet in fashion ads?

Begin by assembling high-resolution macro and micro photographs under controlled lighting. Capture the subtle interplay of specular highlights and deep shadows that define velvet’s plush surface. Use a light booth or softbox with adjustable angle to document how grazing lights emphasize the pile direction and reveal fiber orientation. These images become blueprints for your shader’s anisotropic roughness.

Next, source measured reflectance data to anchor your shader in reality. A spectrophotometer provides diffuse and specular curves across the visible spectrum. A gonioreflectometer gives you angular scatter profiles—critical for defining velvet’s sharp falloff at low grazing angles. Public MERL BRDF datasets often include velvet samples; import them into Houdini’s Principled Shader via OSL or COP-based lookup.

  • Macro texture sets: 8K color and normal captures for pile mapping
  • Microscope scans: 2–10× magnification for fiber diameter and spacing
  • Spectrophotometer data: CIE XYZ or spectral reflectance curves
  • Gonioreflectometer measurements: anisotropic roughness vs. incidence angle
  • HDR light probes: controlled studio and outdoor lighting environments

Finally, collect displacement and orientation references. Photogrammetry or structured-light scans yield height fields of the velvet nap—essential for accurate micro-displacement in Mantra or Karma. Record fiber direction maps by photographing under raking light; convert these into tangent vectors inside Houdini via VEX or the Attribute From Map SOP. This ensures your procedural velvet shader respects real-world anisotropy and depth cues.

How do you model and groom velvet micro-geometry (pile, nap, and directional fibers) in Houdini for accurate shading?

To capture realistic velvet micro-geometry, start by creating a high-res base mesh of the garment in Houdini. Use the Subdivide SOP to add uniform tessellation, then leverage the PolyFrame SOP to compute per-point normals and tangent vectors. These vectors serve as orientation guides for your fiber generation.

Next, scatter points across the surface and assign each a directional attribute for nap flow. In a Point Wrangle, use the dot product between the PolyFrame tangents and a user-defined direction vector to bias point orientation. This ensures fibers align with the cloth’s weave and reflect light consistently.

  • Scatter SOP: uniform distribution
  • Attribute Noise: vary pile length
  • Point Wrangle: compute orientation
  • Groom Hair: refine clumping
  • Hair Generate: convert to curves

To simulate velvet’s subtle clumping, apply the Groom Hair SOP. Define guide curves then adjust Clump Width and Clump Strength parameters. Introduce low-frequency noise via Attribute Noise to break uniformity—this mimics natural fiber grouping and enhances specular variance in shading.

Convert guide curves into actual geometry with the Hair Generate SOP, choosing polygon strips for a lightweight result. Set resolution low (4–6 sides) and length variations with the previously scattered attributes. Use a Resample SOP to control segment count for each fiber and maintain real-time viewport performance.

Finally, bake orientation data into texture maps if using micro-normal workflows. Use Bake Texture SOP with Tangent Space Normal export, sampling your groomed curves as normal sources. This allows shader access to directional fibers information without dense geometry, achieving accurate velvet shading even at render-time.

How do you generate and bake fiber maps — pile direction, density, length, and micro-normal — inside Houdini?

To capture the characteristic pile of velvet, you need per-pixel maps for fiber orientation, count, height, and micro-normal detail. In Houdini, this is done fully in SOPs: scatter guide points, build curves, compute attributes, transfer data to UVs, then bake via ROP Texture Baker. Each step remains procedural, letting you tweak density or length instantly.

  • Generate fiber guides: Scatter points on your UV-unwrapped garment mesh using a Scatter SOP with density attribute enabled. Convert points to curves via Add Curve or Guide Groom, then resample for uniform segments.
  • Compute density and length: Use Measure SOP on curves to record arc length per guide (store as “fiber_length”). Count guides per unit area by reading the density attribute on points.
  • Derive pile direction: Apply PolyFrame SOP to curves, outputting the tangent vector (T). In a Point Wrangle, project T into UV space and pack X/Y into a 2-channel “fiber_dir” attribute.
  • Build micro-normal: With curves framed by PolyFrame normals (N) and tangents (T), calculate cross(N,T) to get bitangent. In VEX, normalize and remap to [0,1] space into “microN” per-vertex on a high-density proxy mesh.
  • Bake maps to textures: Create a Geometry ROP set to “Bake Texture.” Specify your UV geometry as source, then assign attributes: R=fiber_density, G=fiber_length, RG=fiber_dir, RGB=microN. Export EXR at desired resolution.

This SOP-centric approach keeps the pipeline non-destructive and resolution-independent. You can adjust scatter density or curve length live, re-bake the maps, and feed them directly into any PBR shader for consistently realistic velvet in your fashion ads.

How do you build a production-ready velvet shader network in Houdini (principled vs custom BSDF)?

Node-by-node shader setup: layered velvet BSDF and fiber-aligned normals

To construct a production-ready velvet shader in Houdini, start in the /mat context by creating a Material Builder. Dive into its VOP network and assemble three core BSDFs: a base Diffuse, a Velvet, and an Anisotropic Specular. Use a Layer Mix node at the root to combine them, driving blend weights with Fresnel or custom masks for view-dependent sheen.

  • Diffuse BSDF: feed base color and roughness (~0.8) to simulate light absorption in fiber valleys.
  • Velvet BSDF: set roughness to 0.2–0.4; connect its tangent input through a rotated normal to match pile direction.
  • Anisotropic Specular: use Principled Shader’s specular slot or a custom GGX with anisotropy (0.4–0.6) for micro-glints.
  • Rotate Tangent Frame: add a “Tangent Frame” VOP, derive tangent/bitangent from UVs, then rotate by a per-vertex attribute that encodes fiber orientation.
  • Layer Blend: mix layers via Fresnel or a mask driven by view-angle to highlight folds and edges realistically.

Critical parameter ranges and why: roughness, anisotropy, sheen, subsurface and multiple scattering

Fine-tuning these parameters ensures photorealism. Keep base diffuse roughness between 0.7–0.9 to preserve micro-geometry shadows without flattening detail. Velvet sheen roughness of 0.2–0.4 yields crisp directional scattering without speckles. Anisotropy of 0.4–0.6 aligns specular highlights along the fabric grain. Sheen weight around 0.3–0.6 balances glow and material depth—higher values risk a plastic look. Introduce subtle subsurface scattering with scale 0.01–0.03 to soften deep folds, and cap multiple scattering to 1–2 bounces in Mantra or Karma for efficient renders.

How should you light, pose, and frame velvet garments for fashion ad renders — practical setups and renderer-specific tips?

Start by building a key-and-fill configuration that accentuates the velvet nap. Use a wide softbox or an HDRI dome with subtle rotation to catch the fiber’s micro-sheen. Add a narrow rim light at 45° behind the garment to define edges and highlight pile direction. Balance exposure so specular highlights aren’t clipped.

  • Redshift: Area lights with ray-switching shadows and multiple importance sampling for clean falloff.
  • Mantra: Geometry lights with “Single Sample” disabled and “Environment Lighting” in the render settings.
  • Karma: Use the Karma XPU dome light with path guiding enabled to reduce noise in rough specular.

For posing, drape the garment using Vellum or FEM in Houdini. Apply a Vellum cloth constraint with a higher stretch stiffness to preserve elegant folds. Bake the simulation, then refine key wrinkles with the Cloth Capture SOP. A low-velocity collision solver prevents unnatural interpenetrations while retaining a natural drape over the body form.

When framing, choose a 70–85 mm focal length on the Camera COMP to avoid distortion. Set your aperture to f/4–f/5.6 for shallow depth of field that softly blurs background elements without losing context. Compose using the rule of thirds or central symmetry for a luxury feel. Leave negative space on one side to accommodate branding elements.

Renderer-specific tips:

  • For Redshift, enable “Prefiltered Roughness” in the Material to capture velvet’s subtle sheen without excessive noise.
  • In Mantra, increase micropolygon shading dicing rate to 2.0 for smoother curvature on folds and prevent faceting.
  • Karma users should switch on “Fur/Thin Geom” mode on the velvet shader, which optimizes fiber scattering in path tracing.

What render passes, AOVs, and compositing workflow guarantee photoreal integration of velvet in fashion ads?

To reproduce a convincing CG velvet layer, break down light interactions into distinct AOVs and reassemble them in compositing. Houdini’s Karma (or Mantra) lets you isolate diffuse, anisotropic specular, directional nap highlights, and subsurface color bleed. By controlling each component, you preserve the subtle sheeny sheen and soft shadowing that define velvet.

Key render passes to activate:

  • Diffuse_BSDF: Base color and core shadow, accounting for multi-bounce GI
  • Specular_BSDF: Main specular lobe, driven by roughness and IOR
  • Sheen (custom AOV): Velvet’s micro-fiber highlight, modulated by nap direction tangents
  • Coat_BSDF: Optional clearcoat for added sheen depth
  • Normal_Tangent: Bake tangent-space normals capturing the micro-nap orientation
  • Subsurface_BSDF: Light scattering through velvet fibers for gentle color wrap
  • LightingGroup: Separate contributions from key, fill, rim to refine directional control

Implement these in Houdini Solaris by adding AOV primvars on your Karma ROP:

  • Enable PxrLobe AOVs in the material’s LOP shader settings
  • Use lightlink LOPs to isolate rim/fill contributions for velvet edges
  • Bake tangent-space normal maps with a ROP Composite for procedural re-use

Compositing workflow:

  • Import EXR AOVs into Nuke or Fusion in linear color space
  • Reconstruct base with Diffuse_BSDF + Subsurface_BSDF via add/multiply nodes
  • Overlay Sheen with a screen blend, adjusting opacity to tune velvet nap reflectivity
  • Multiply Specular_BSDF by your key light pass to sharpen highlights
  • Use Normal_Tangent as a mask to drive directional blur on the Sheen pass, simulating soft micro-fiber scatter
  • Fine-tune contrast and hue in the midtones to emulate the charcoal-rich depth of real velvet

This granular AOV breakdown ensures each physical phenomenon—diffuse shading, tiny-fiber specular, subsurface light bleed—is individually controllable, resulting in a photorealistic velvet finish seamlessly integrated into your fashion ad composite.

— FOREVER FREE —

Free Studio HDRI Pack box by Artivoxa showing 60 studio lighting setups with softboxes wrapped around the packaging
  • Blender
  • Cinema 4D
  • Houdini
  • Maya
  • 3ds Max
  • Unreal
  • Redshift
  • Octane
  • Karma
  • Cycles
  • Arnold
  • V-Ray
  • Corona

60 studio lighting HDRIs in one free pack — softboxes, lanterns, strip boxes, grids, top-light and three-point setups, all shot in a real photo studio.