Home 3D Art Showcase & Critiques

PBR Practice

CreativeHD
polycounter lvl 6
Offline / Send Message
CreativeHD polycounter lvl 6
Here's my first time working with physical based rendering. I rendered the material in Marmoset Toolbag 2 and UE4. One problem I am having though is creating a height map for the material. Every time I create the mesh completely goes crazy even when I lower the displacement it still doesn't look right.

i-bnd3q6J-L.png

i-cXtf25R-L.jpg

i-bqD43NV-L.jpg

Replies

  • djoexe
    Options
    Offline / Send Message
    djoexe polycounter lvl 7
    straight out of crazybump or something like that...?
  • Kurt Russell Fan Club
    Options
    Offline / Send Message
    Kurt Russell Fan Club polycounter lvl 9
    You need to really think about what information those textures should have in them.

    Diffuse is good, obviously, but the metal and roughness textures aren't good. How metal are bricks? Not at all, so you should have a flat colour. Your roughness has lighting information in it - you don't want that at all. You want your roughness to show how rough the bricks and mortar are - mortar is often rougher, and bricks have smooth bits and rough bits so they'll have variation.

    Without seeing the displacement it's hard to say what's wrong, but it should have greater contrast between the brick and the mortar than the contrast on a single brick face.
  • BagelHero
    Options
    Offline / Send Message
    BagelHero interpolator
    M... is that metalness? That should be black if it is.
  • grimsonfart
    Options
    Offline / Send Message
    grimsonfart polycounter lvl 4
    You should desaturate your albedo and work from there to get a good gloss. Right now there is no color variation which looks pale.

    Normal map is not detailed enough, you should add some noise because right now it looks flat. Best thing would be to bring the albedo back into whatever program you use to generate normals and try to get more depth and detail.

    @kurt what do you mean by light info in the gloss? If you mean those darker areas it should not be an issue and is not whats destroying this gloss map.
  • CreativeHD
    Options
    Offline / Send Message
    CreativeHD polycounter lvl 6
    @djoexe The normal is from the original image using NDO.

    @Kurt Thanks for the advice I will see what I get now.

    @BagelHero Yes that's metalness.

    @grimsonfart I will get a better normal map. I always seem to be worried that there will be to much information in the normal map (or is that something I shouldn't worry about?)
  • CreativeHD
    Options
    Offline / Send Message
    CreativeHD polycounter lvl 6
    Here's my new normal.

    i-8pPn4Q5-M.jpg

    I'm confused on metalness. I understand now the problem with the old map its like duhh brick isn't metallic, but when creating a flat color should it be complete black or a very dark gray because I am referencing the Quixel Megascans chart and its a dark gray not completely black?

    Also I'm really having trouble creating roughness. The concept makes sense now but how do I create an accurate map? What's the difference between having the roughness in linear color space and sRGB color space?

    Thanks!
  • EarthQuake
    Options
    Offline / Send Message
    If you mean this image

    materialref02.png

    from here: http://www.marmoset.co/toolbag/learn/pbr-practice

    M refers to microsurface (either gloss or roughness, depending on which you are using. Make sure to read the key at the bottom of the image. The chart about is for the specular workflow, not the metalness workflow.

    For the metalness workflow, the albedo defines the diffuse value for non-metals, while the reflectivity is set to a fixed value of 4% linear space or about 21% sRGB or #363636. Reflectivity for non-metals can vary a bit, mostly in the 2-8% range, but the metalness workflow uses a fixed 4% value as it is close enough for most materials.

    For metals in the metalness workflow, you set the metalness map to 1 (white) and the albedo defines the reflectivity while the shader turns the diffuse black. Metals are very dense so they diffuse very little light and reflect most of it instead.

    Partial values in the metalness map most commonly should be used for fading from one material to another, like a soft transition from dust or dirt. Partial metals also make sense, but those are very rare. For most materials your metalness map will generally have black and white and not much inbetween.

    For the metalness map here, bricks are not metal at all, so the value would be 0 (black). For a material like this, you don't even need to use a texture at all, you can simply use a constant value in your shader.
  • grimsonfart
    Options
    Offline / Send Message
    grimsonfart polycounter lvl 4
    Much better normal map.

    Creating an 100% accurate roughness is impossible unless you have real scanned data (like Quixel uses).

    But from what i have gathered from the megascans samples you get in DDO, bricks should have a median of around 29. To check this go to Window, then Histogram and choose luminosity in the channels dropdown. Median is the number you are looking for.

    Just desaturate your albedo and play with levels to get it around that number.

    @EarthQuake now that i have you here, i have never understood the albedo part of things. I obviously know how to make it and that it should not contain ligthing information, but what i don't understand is the calibration part. If say i look at the megascans chart and choose rock, should i have my albedo the "color" the chart says? Or is it just the brightness?

    I have tried following it, but honestly, when i bring assets into CryEngine they look so bright it's blinding.
  • nastobi123
    Options
    Offline / Send Message
    nastobi123 polycounter lvl 8
    looks great,

    but can someone give me a link explaining what PBR is ?
  • EarthQuake
    Options
    Offline / Send Message
    @EarthQuake now that i have you here, i have never understood the albedo part of things. I obviously know how to make it and that it should not contain ligthing information, but what i don't understand is the calibration part. If say i look at the megascans chart and choose rock, should i have my albedo the "color" the chart says? Or is it just the brightness?

    I have tried following it, but honestly, when i bring assets into CryEngine they look so bright it's blinding.

    Well, the first thing to note is that the diffuse/albedo for any given material simply varies a whole lot. There is no "corrrect" value for rock, there are an unlimited amount of different colored rocks you could find in the real world, what is show in the chart is simply an example of one rock texture.

    As far as looking bright in cryengine, there could be any number of reasons for this. Maybe your lighting has a lot of contrast, post effects/bloom, your texture could be set to linear space instead of sRGB (the albedo values in the chart are sRGB).
  • grimsonfart
    Options
    Offline / Send Message
    grimsonfart polycounter lvl 4
    EarthQuake wrote: »
    Well, the first thing to note is that the diffuse/albedo for any given material simply varies a whole lot. There is no "corrrect" value for rock, there are an unlimited amount of different colored rocks you could find in the real world, what is show in the chart is simply an example of one rock texture.

    As far as looking bright in cryengine, there could be any number of reasons for this. Maybe your lighting has a lot of contrast, post effects/bloom, your texture could be set to linear space instead of sRGB (the albedo values in the chart are sRGB).
    I know the reason for it being bright in CE3, it's quiet simply because you need to darken it in PS. A good trick i learned was to bring in the base albedo, bring the diffuse down in CE3 until you are happy with how it looks and then copying the luminosity value into PS. CryEngine simply handles textures much differently from PS.
  • EarthQuake
    Options
    Offline / Send Message
    I know the reason for it being bright in CE3, it's quiet simply because you need to darken it in PS. A good trick i learned was to bring in the base albedo, bring the diffuse down in CE3 until you are happy with how it looks and then copying the luminosity value into PS. CryEngine simply handles textures much differently from PS.

    That doesn't seem like a very strong technical argument. Are you sure your texture is being loaded as sRGB and not in linear space? That would give the result that you seem to be seeing. I don't know enough about cryengine though to say either way.
  • CreativeHD
    Options
    Offline / Send Message
    CreativeHD polycounter lvl 6
    @Earthquake Thank you for that. It makes a lot more sense now and yes that was the chart I was referring to.

    @grimsonfart Ok I will try that for roughness.
  • CreativeHD
    Options
    Offline / Send Message
    CreativeHD polycounter lvl 6
    Here's where I'm currently at.

    i-bjg6Mmx-L.png

    Now the metalness is a constant 0, I've done a new roughness map that is in linear color space, and I've added a heightmap.

    i-vqFJsLc-L.jpg
  • grimsonfart
    Options
    Offline / Send Message
    grimsonfart polycounter lvl 4
    EarthQuake wrote: »
    That doesn't seem like a very strong technical argument. Are you sure your texture is being loaded as sRGB and not in linear space? That would give the result that you seem to be seeing. I don't know enough about cryengine though to say either way.
    Well yes. CryEngine is a bit tricky in that way. If you look at some sample files from RYSE, you will see that the texture sheet looks much darker from what you will see in-game.
  • EarthQuake
    Options
    Offline / Send Message
    Well yes. CryEngine is a bit tricky in that way. If you look at some sample files from RYSE, you will see that the texture sheet looks much darker from what you will see in-game.

    Well, those could have been authored in linear space. I will ask it for the 3rd time, have you tried enabling sRGB for your albedo map?
  • grimsonfart
    Options
    Offline / Send Message
    grimsonfart polycounter lvl 4
    EarthQuake wrote: »
    Well, those could have been authored in linear space. I will ask it for the 3rd time, have you tried enabling sRGB for your albedo map?
    "well yes" was my answer. I generally only use sRGB when importing textures. I rarely touch linear space tbh even though i should look into it more.

    I am also pretty sure CE3 requires sRGB if you read the documentation at crydev on PBS

    http://docs.cryengine.com/display/SDKDOC3/Physically+Based+Shading+in+CRYENGINE
  • EarthQuake
    Options
    Offline / Send Message
    "well yes" was my answer.

    Hehe sorry, early morning reading comprehension fail on my part.
    I generally only use sRGB when importing textures. I rarely touch linear space tbh even though i should look into it more.

    I am also pretty sure CE3 requires sRGB if you read the documentation at crydev on PBS

    http://docs.cryengine.com/display/SDKDOC3/Physically+Based+Shading+in+CRYENGINE

    Generally albedo textures and full color specular textures tend to be authored in sRGB, while textures that represent math or percentages, like normal maps, gloss/roughness maps or metalness maps should be in linear space. Normal maps absolutely half to be in linear space, but gloss/roughness maps really can be either, its just important that if you're using linear or sRGB when previewing to create the asset, that you follow through with that setting in the final asset.
  • Carabiner
    Options
    Offline / Send Message
    Carabiner greentooth
    Not as technical as what others have been posting, but I think you should work on making the bricks more uniform in width. Some are verrryyyy wide, and others are tiny. It breaks immersion for me because real bricks wouldn't be like that.
Sign In or Register to comment.