The Fabric of Reality

Christmas came early this year in the shape of a small truckload of high-end furnishing fabric samples and swatches, ranging from 2mx2m to 20cmx20cm. So of course, I’ve been busy scanning away and will be doing so for some time to come. I’ve been using Dabarti Capture to generate hyper-detailed normal maps (no displacement map yet for time reason but I may go back and generate them later using the tiled normal maps).

Scanning is only part of the process, though. Creating tileable maps and realistic shaders from these maps takes time too and can often be hard to get right. For the last finish, scattering some fibers helps a lot to boost the realism and achieve this fuzzy fabric look. It also goes a long way to re-creating the grazing-angle color fade observed in many softer fabrics. As you can see, I’ve been experimenting here with trying to get the right amount of fuzz and the right scale (the image above probably has a little too much). For this, I’ve used my favorite plugin, Itoo Forest Pack Pro, to scatter splines on the entire chair. The splines themselves have a 2sided material in order to pick up some glow from the back light.

Above and below are just a few examples of the resulting material, rendered in V-Ray Next GPU. The chair, by the way, is Swoon, by Space Copenhagen for Fredericia. The side table is Pon, by Jasper Morrison, also for Fredericia. The models are displayed in a slightly modified version of my Classical scene, which you can get here (for V-Ray and FStorm).

    • Jonathan Nicholson
    • December 6, 2018

    Looks fantastic! Would love to see a breakdown of forest pack portion. Did you just use relatively settings? I assume some randomness in the scale/rotation, and then one of the default density maps? Also how many splines were used for it?

  1. Sure. There were five different strands (extruded splines without volume). I used the default scattering map with a density of between 10 and 50 depending on the effect, UVW scattering with the strands perpendicular to the surface’s normals. Translation, rotation and scale are all randomized, using the default values.

  2. For some reason, this reminds me of the little subtle white hairs on Thanos’ face in the Avengers VFX Breakdown.

    It’s quite amazing how that white fuss really adds realism.

  3. Yep. It’s a very little thing that makes a big difference and it was surprisingly not hard to make it look plausible. No endless hours of testing and tweaking needed.

    • Luca Meloni
    • December 6, 2018

    Hi! Looks gorgeous! Can you explain “extruded splines without volume” ? Thank you

    • Manuel
    • December 7, 2018

    Looks great!
    Are you only using the normals and not the other maps generated?
    What’s your workflow for editing multiple maps, if I may ask?
    I was always using photoshops smart layers to stamp them all together and then export then one by one. Kind of painful.
    How do work on getting them tiled?

  4. Hey @Manuel. I use the flattened normal map. I do my own diffuse map. I didn’t compute the displacement map because it takes so long but I may generate them later from the normal maps.
    For tiling, I use Affinity Photo. I put the diffuse and the normal maps in separate layers, offset and clone away. Affinity lets you use the clone tool across multiple layers at once.

    • Derek
    • December 7, 2018

    Are these models for sale? I’d love to buy and study the model, especially how you did the ‘hair’ bit with Forest Pack.

    • Manuel
    • December 8, 2018

    Thanks for the info. I’ll check out affinity! Do you know if Arionfx works with it?

    • Giorgio
    • December 9, 2018

    Hi! I know that’s not the main topic but your parquet is awesome! 😛 It is a mesh modeled with floor generator or a plane texturized with substance designer?

    • Daniil
    • December 12, 2018

    Hi, Bertrand!
    I’ve got a question. Which noise level do you accept in your works?
    Thank you!

    • Andrew
    • January 2, 2019

    Hello Bertrand,

    I sent you email time ago but without response. Do you still use xray unwrap in your workflow? I’m looking for solid solution and I was wondering if you could help me with that. Have you tried other plugins (unwrella, unwrap pro for 3dsmax)?

    thanks in advance,

    PS: stunning job as always, amazing level of realism with these fabrics!

    • Yazan
    • February 15, 2019

    Hey there, amazing work! I have a question regarding the second and the third texture of the chair, where can I find such texture and or what size in px is needed for such details. Thank you in advance and once again really good work.

    • Jorge
    • February 19, 2019

    Amazing Work Bertrand! I’m love with wood floor… Can you put it on sale? 🙂

  5. Thanks @Jorge. The wood floor here looks a lot better than it really is. It’s literally a 50cm X 50cm square of parquet floor that doesn’t tile well and would be unusable on large surfaces. Only good for these tightly framed shots.

  6. @Yazan thanks a lot. These are my textures and they’re not for sale so I’m not sure. I know that Friendly Shade has a nice fabric collection. So does Substance. There is also a small fabric substance collection on

  7. @Andrew. Sorry for the super-late response. No, I’ve stopped using Xray since they’ve stopped updating it. These days, I tried to make do with Max’s built-in UV tools. It’s mostly adequate for what I do. And it still beats having to export and reimport models for external uv-ing.

    • Yazan
    • March 16, 2019

    Thank you, regards

  8. Hi, amazing images, just wondering did you model the chair and if so, did you manage to find plans for it or bim objects etc, or just go by eye?

    • yassine
    • June 10, 2019

    Really awesome job, great content.

Leave a Comment