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

    @BBB3VIZ
    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!

Leave a Comment