Home Technical Talk

How would you guy's make a roughness map for desert sand?

pixelquaternion
polycounter lvl 6
Offline / Send Message
Pinned
pixelquaternion polycounter lvl 6
Maybe a stupid question but i Google this a bit without any success so is there anyone having some tips on this?

My first idea was to simply put a noise with few speckle of pure white to simulate the glittering but maybe i got this wrong!

Replies

  • Eric Chadwick
    Post an image of what you have so far?

    Check out:
    http://advances.realtimerendering.com/s2012/
    Dynamic Sand Simulation and Rendering in Journey
    AbstractIn this talk, the author will describe the techniques used to create the dynamic sand dunes in PlayStation® Network title Journey. Specifically, the physics of footprints and trails will be discussed, as well as how to convey the sense of trillions of sparkling grains of sand on a TV that doesn't have the resolution to display them and a console that doesn't have the horsepower to render them.

    Also check out their talk from GDC 2013
    https://www.gdcvault.com/play/1017742/Sand-Rendering-in

  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Post an image of what you have so far?

    Check out:
    http://advances.realtimerendering.com/s2012/
    Dynamic Sand Simulation and Rendering in Journey
    AbstractIn this talk, the author will describe the techniques used to create the dynamic sand dunes in PlayStation® Network title Journey. Specifically, the physics of footprints and trails will be discussed, as well as how to convey the sense of trillions of sparkling grains of sand on a TV that doesn't have the resolution to display them and a console that doesn't have the horsepower to render them.

    Also check out their talk from GDC 2013
    https://www.gdcvault.com/play/1017742/Sand-Rendering-in

    Hi Eric,
    So far i just have a basic physical material setup in 3ds max but i was wondering how would people approach roughness map creation for sand.

    I know how pbr work but not sure about the correct way to do a sand roughness map.

    Thank for the link will read them.
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    That's what i have currently and it look terrible i know but didn't work extensively on it yet.

    This is the render

    And here is the roughness map i use



     
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Sand is a lot rougher than that with a few shiny pieces in a few sq. Feet. That roughness map should probabky be a bit brighter and have less contrast. 
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Axi5 said:
    Sand is a lot rougher than that with a few shiny pieces in a few sq. Feet. That roughness map should probabky be a bit brighter and have less contrast. 

    Agree i was thinking of using a procedural to get fewer white speckle and more dark grey to black , so maybe bercon maps could help with this.
  • TTools
    Offline / Send Message
    TTools polycounter lvl 4
    The dirt 3 noise generator in Substance painter is awesome for sand.  If we're talking roughness, just invert it. 
    https://support.allegorithmic.com/documentation/display/SDDOC/Dirt+3

     If you're using spec/gloss, keep it as it is.  For a gloss map, raise the black level slightly so it doesn't go pure black.  Stick around  15 or 20 on a 255 scale.  That will give you a very broad specular falloff for the body of the sand (which will help it feel soft), and then make the speckles pure white.  For your specular map, duplicate your gloss map, but replace the white specks with color tints in the yellow-orange-red families.  When your specular glints hits, it will return color instead of pure white which will feel much more like a reflection of light instead of white dots.

    Lastly, make sure you are using a shader with a very broad diffuse BRDF and a fresnel term.  This will also dramatically improve the softness.

    Best of luck.  Hope this is helpful :)
     
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    What image editing tools do you have access to?

    I'm sensing that you don't have or are not familiar with photoshop? Or Substance Painter?

    Whatever the case is, there is free online sites where you can do basic image editing for free. Be sure to gather lots of reference of the specific type of sand you want to replicate. But besides the roughness, your rendered image looks like the procedural texture is too large to me -- more like dried dirt -- even if the specularity was altered.



  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Hi guy<s sorry for the delay i had to refresh my memory about how to use substance designer since i have the 4.6 version and i came up with a way better sand plus i add sparkling effect to the sand here what i have so far:



    Here the roughness map



    Here a close up view of the roughness map



    Now the real test is to put this material in UE4 and see what kind of voodoo will have to be done with the mip map to keep the sparkling effect working as intended.

    Please comment since i think the normal map still a little strong and maybe the sand grain a bit too big.




  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    I did a lot of testing for the noise normal map and as i expected you cannot get a noise small enough to represent real sand, i also reduce the sand grain helping to get that softer look. Will also try the sub surface in UE4 to see if this could help getting that extra touch.

    This texture is a 4096x4096 example

    Sand is a lot more tricky to get right than i initially thought but after all when you look at any games they all have their own representation of the ideal material but they face tech limitations like everyone else.


  • Axi5
    Offline / Send Message
    Axi5 interpolator
    You need to tile it, that's why...
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Axi5 said:
    You need to tile it, that's why...

    Already tile to maximum before losing every detail. When tiling it too much it's start to blur the noise so it's look just like there is no noise at all. Would need noise that is smaller than 1 pixel but that's wishful thinking!
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Here the safe transform grayscale node at various tiling scale :

    tile 1

    tile 5

    tile 10

  • Axi5
    Offline / Send Message
    Axi5 interpolator
    You're tiling it within a node! That's wrong. You're basically tiling it but it's still outputting 4K over the whole mesh. You have to go to your material settings and edit it there. See image.

  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Darn thank mate since i never thought we need to scale it this way and even in advanced tutorials i never came across this and now it look a lot better.





  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Excellent! Enjoy :)
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    TTools said:
    The dirt 3 noise generator in Substance painter is awesome for sand.  If we're talking roughness, just invert it. 
    https://support.allegorithmic.com/documentation/display/SDDOC/Dirt+3

     If you're using spec/gloss, keep it as it is.  For a gloss map, raise the black level slightly so it doesn't go pure black.  Stick around  15 or 20 on a 255 scale.  That will give you a very broad specular falloff for the body of the sand (which will help it feel soft), and then make the speckles pure white.  For your specular map, duplicate your gloss map, but replace the white specks with color tints in the yellow-orange-red families.  When your specular glints hits, it will return color instead of pure white which will feel much more like a reflection of light instead of white dots.

    Lastly, make sure you are using a shader with a very broad diffuse BRDF and a fresnel term.  This will also dramatically improve the softness.

    Best of luck.  Hope this is helpful :)
     
    Thank for the tips i forgot to reply to you!
  • TTools
    Offline / Send Message
    TTools polycounter lvl 4
    Glad to help.  Looking much better my man :)
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    TTools said:
    Glad to help.  Looking much better my man :)

    Thank now i just have to make 3 different size for the speckles since on the latest image i have only one small size speckle showing and desert sand have a wide spectrum of sparkle size. Will have to put them on top of a gradient to make them look better on various light angle.
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Hi guy's,

    After further test i did for my sparkles i found out that the best result is using only one tile sampler with polygon 1 as pattern input since i can control the intensity of the sparkle with the gradient setting.

    I also tried various custom shapes i created in 3ds max to get variations with shade of greys but the result was not really convincing mainly because when scaling them to small realistic speckles they lost the details:



    I made the size bigger to show the obvious difference between both methods here and i test both of them by walking around the area at various angle and you can clearly see in the image the result:




    In motion it look a lot better so i will probably make a small video showing the effect.
Sign In or Register to comment.