Home Technical Talk

Is this good way to make PBR textures?

polycounter lvl 11
Offline / Send Message
cromadbomber polycounter lvl 11
So I will be buying Unreal Engine 4 in coulpe of weeks so I thought it would be good to spend some time on learning PBR. I read documentation on Marmosets site and couple other sites just to get general knowledge on it.

Since there are no tutorials (Correct me if I am from) from getting PBR textures from photos I have developed my own technique.

1. I get some texture from internet. (In most cases CG Textures)
2. Take it in Photoshop, tile it and fix any other crap.

Now this is crucial.

3. Since those textures are in most cases not polarized I do the following.

- Duplicate the image.
- Saturate it
- Apply Gaussian Blur
- Invert the color
- Set that layer into overlay mode

By doing that I can equalize lighting in the photo and get rid of unwanted light sources.

4. I go into CrazyBump and generate normals from polarized photo.
5. I also go in the Diffuse Options where I remove all shading from it and save it as Albedo Map.

6. For the gloss and metalic I generate them in Photoshop.

So is this good or bad or completely wrong?

Replies

  • ZacD
    Offline / Send Message
    ZacD ngon master
    The most important things are:
    - Albedo should contain no lighting information, no AO, no edge highlights, and should be based off real world measure values. For metals this is almost black.

    gloss/microsurface/roughness
    - This is typically the most detailed and has the most contrast, put stratches and wear here. This value can be inverted depending on your engine. It should be based off real world measure values.

    Reflectivity
    - This is typically pretty flat and undetailed. It should be based off real world measure values.



    If you aren't basing the textures off real world values you are doing it wrong.
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    With pbr it is better to use source textures that do not have any shadow information in them. This means you need to get your detail information from another source such as a high poly model.
  • rogelio
    Offline / Send Message
    rogelio greentooth
    Macbeth Chart is good for referencing colors and or balancing photos.

    Macbeth Chart

    "Remember Me" has a great overview of PBR a lot can be gleamed from this.

    PBR workflow for Remember Me

    Here is a shot of the passes. The guys that made Remember Me admit that too much micro detailing was added to the Albedo it was a learning process for them too, so you still get very dark textures with some shadow information but in general all textures are pretty clean. In general I would go cleaner than some of these below to be safe and add more Albedo color information if needed later.

    Viewmode.png

    How to Author Textures Workflow

    Normal and Roughness

    The normal is usually authored in Zbrush, NDO, Crazybump, Substance Designer, or many more. Roughness usually authored when creating your material masks either in Photoshop or my case Substance Designer using real life reference first and also trying to stick close to the real life measurements.

    a. Normals - represents the surface forms and many cases the larger roughness scale of the objects.

    b. Roughness - Roughness is really how smooth or rough a material is, it is usually described by micro facets on the surface the more rough the less reflective and less rough more reflective.

    c. by combining these two in harmony the Diffuse and other passes will just work.

    (From my own experience making normals that have too much micro detail will only hurt your end result also be aware that both normal and roughness help in creating the illusion of a material.)


    Albedo

    Albedo is your color or diffuse map. The only big difference for game artists is that we no longer represent shadow or AO information baked into the Albedo. Usually authored in photoshop, Substance Designer, or any 3D painting program.

    a. No AO or very little AO baked into maps. (stick with no AO to be safe)

    b. Color values should be checked with real life measurements using the Macbeth chart as a guide.

    C. You can and should have freedom to control colors if it fits the style of your game this is not barrier... Charts and Data do not make balanced composition the artist eye does.

    All other maps are Engine specific
    Those are authored in any paint program usually Photoshop.

    I will stress though the maps you do not want to screw around with is Roughness and Normals. These two will give you the best material results in the end. Albedo it just has to be a good enough close to the color of the material as possible and all other maps are important just from my experience so far Roughness and Normals are far more important everything else just kind of drops in to place as you do the process of creating the textures.

    Now to finally answer your question cromadbomber

    The steps your taking are really bad. Hope it does not sound rude by saying it straight up like that... This will only get fast and messy results that will just not really work all that well in the end, of course I could be wrong but in general the steps your taking are pretty much backwards to get a solid result you are putting the normal as a process since you start with a photo ref texture from cg textures and than expect it to get a good normal out of it especially after doing and invert blur overlay function to your texture to take shadows away. I can not see how this will end up getting good results. Crazybump kind of works with some of the shadow information to guide it in finding the Normal and height information so taking that off and expecting Crazybump to get a good normal just will not cut it.

    Here is my problems with Crazybump and how people use it. People expect Crazybump to get nice results from the get go and think this makes a great normal. This is not how it is done even using Crazybump or NDO for the matter. You have to know how to layer Normals to get good results from both mentioned tools. And even if you know how to work layering normal mojo nothing will be better than just sculpting your textures either by hand or procedurally.

    So to be short and clear. IMO... of course.

    Start like this...

    -Create your Normal (Hopefully sculpted or baked from higher poly for best results)

    -Bake out passes like Curvature, AO, Height, and IDs.

    -Make your Albedo using Curvature, AO, and Height using balanced values for the material being made.

    1. AO - Can be used to add dirt in crevices not as a lighting technique.

    2. Curvature - Same you can use it with level adjustments in Photoshop for the curvature to get your peaks and valleys to get wear and dirt masks.

    3. Using the passes for your albedo will start to create masks for you which you can use for Roughness and other passes used for BRDF.

    -Create your roughness passes with masks baked out or made.

    -Set your Albedo, Roughness, Normal, Specular, Metallic, and AO into your shader.

    Just remember Roughness and Normal are very important and others can become very important depending on the material you are trying to mimic especially when you go into metals and such.

    In general my best advice is keep it simple and clean. Do not over complicate things. PBR in theory is much easier for texturing than the old school way.
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 11
    Thank you so much all of you and especially rogelio. I will definitely spend this afternoon for studying.
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 11
    My apologies for bumping this thread but does this mean that in the future we will have to rely on sculpting (Not a hard thing for me but sometimes photosourcing saves me alot of time) in order to make physically accurate textures and Quixel Megascans since we need accurate normals in order to things work. Am I right?
  • marks
    Offline / Send Message
    marks greentooth
    ... to a degree it does already to get clean, good quality normalmaps.
  • rogelio
    Offline / Send Message
    rogelio greentooth
    Well to get back to the Normals deal you can get great Normals from NDO or Crazybump but to do so I think you need to understand what the Normals are doing and the easiest way is to do it by hand sculpting and seeing the baked results and Megascans will be an amazing reference also.

    Many studios still use photo sourcing but the ones that are successful understand how to construct the Normals via layering and editing using NDO, Crazybump or others.

    So nothing wrong with using NDO or Crazybump as long as it get the job done and looks good and balanced.
  • RobeOmega
    Offline / Send Message
    RobeOmega polycounter lvl 10
    The amount of PBR questions popping up recently makes me wonder if a stickied thread would be good
  • ZacD
    Offline / Send Message
    ZacD ngon master
    I think this is the biggest thread on polycount about it, http://www.polycount.com/forum/showthread.php?t=124683
  • Ark
    Offline / Send Message
    Ark polycounter lvl 11
    Robeomega wrote: »
    The amount of PBR questions popping up recently makes me wonder if a stickied thread would be good

    Well all the different terminology isn't helping and a lot of the slides/info are all programmer orientated.

    Would be good to have a stickied post about it.
  • sargentcrunch
  • Ged
    Offline / Send Message
    Ged interpolator
    rogelio wrote: »
    PBR in theory is much easier for texturing than the old school way.

    Great info rogellio! In what way is it easier? The results are really good but the process seems more complicated to me.
  • marks
    Offline / Send Message
    marks greentooth
    Ged wrote: »
    Great info rogellio! In what way is it easier? The results are really good but the process seems more complicated to me.

    Because so much work is done for you - PBR shaders have far fewer inputs.

    For example, if you wanted to have correct energy conservation with your specular highlights with a shader that didn't have energy conserving specular - you'd have to do it by hand in your Specular Level and Glossiness textures. Now it's just done for you depending on what your Gloss/Roughness value is.

    The only complicated part is making sure your Specular Level/Intensity is a reasonable value - which a bunch of studios have a reference chart for (eg DontNod's example one for Remember Me).

    People have known not to put lighting information into diffuse textures for ages now when using engines which use a lot of dynamic per-pixel lighting. Normalmaps and Gloss/Roughness textures are the same as they always were, it's just that Gloss textures are a bit more important now...
  • Ged
    Offline / Send Message
    Ged interpolator
    marks wrote: »
    Because so much work is done for you - PBR shaders have far fewer inputs.

    It just sounds more complicated to me. PBR workflow, 4 textures to create, less manual control over specular and gloss because they have to be physically accurate and a less artistic more scientific workflow involving charts and data and heavy emphasis of trying not to include lighting or highlights or shadows. We would often include a bit of highlights and shadows and ao in the past in our assets so that even when we swap to lower quality shaders(eg on LODs) the assets still read well.

    Im not complaining though, I love the results, the techniques used to create the results are my concern, especially physically accurate diffuse/albedo...thats just a wierd concept.
  • Ark
    Offline / Send Message
    Ark polycounter lvl 11
    Yeah basically easier to make the textures, but more time spent beforehand researching real-world values for the materials you plan to create.

    I'm not entirely convinced that having no baked AO/Cavity is the way to go. Most engines still don't render SSAO at full resolution.

    Maybe using Cavity with a small distance is the way to go to shade areas were SSAO isn't accurate enough.
  • rogelio
    Offline / Send Message
    rogelio greentooth
    marks wrote: »
    Because so much work is done for you - PBR shaders have far fewer inputs.

    For example, if you wanted to have correct energy conservation with your specular highlights with a shader that didn't have energy conserving specular - you'd have to do it by hand in your Specular Level and Glossiness textures. Now it's just done for you depending on what your Gloss/Roughness value is.

    The only complicated part is making sure your Specular Level/Intensity is a reasonable value - which a bunch of studios have a reference chart for (eg DontNod's example one for Remember Me).

    People have known not to put lighting information into diffuse textures for ages now when using engines which use a lot of dynamic per-pixel lighting. Normalmaps and Gloss/Roughness textures are the same as they always were, it's just that Gloss textures are a bit more important now...

    Yep :)

    Before I would have to hand tweak my specular, env maps, put a falloff and all kinds of hack stuff just to get a simple puddle of water... A lot of stuff is done for you now it is just inputting stuff as said.

    Ged wrote: »
    It just sounds more complicated to me. PBR workflow, 4 textures to create, less manual control over specular and gloss because they have to be physically accurate and a less artistic more scientific workflow involving charts and data and heavy emphasis of trying not to include lighting or highlights or shadows. We would often include a bit of highlights and shadows and ao in the past in our assets so that even when we swap to lower quality shaders(eg on LODs) the assets still read well.

    Im not complaining though, I love the results, the techniques used to create the results are my concern, especially physically accurate diffuse/albedo...thats just a wierd concept.

    After a while you do not need the charts I only uses the charts when I am tightly trying to debug my level. The eye is a wonderful thing and can hone into very close to real values even without reference. And also what may be accurate in real world measurements does not look 100% good in game you will see you have some artistic judgements to make still.

    I did not find the change that drastic or even the wording. With better lighting engines textures were leaning towards less and less AO and general light information it was just natrual that it went that way. I find it more artistic actually since I can focus on getting a balanced scene and not focus on getting one material that works only on 70% of the view angles in the scene.
    Ark wrote: »
    Yeah basically easier to make the textures, but more time spent beforehand researching real-world values for the materials you plan to create.

    I'm not entirely convinced that having no baked AO/Cavity is the way to go. Most engines still don't render SSAO at full resolution.

    Maybe using Cavity with a small distance is the way to go to shade areas were SSAO isn't accurate enough.

    I agree also AO and Cavity are important, but think about it as Dirt layers. Dirt, dust, grim goes into all kinds of crevices put that stuff into where it should be and you will end up more happy than having an AO multiplied or cavity overlay.
  • commador
    Offline / Send Message
    commador polycounter lvl 14
    Ark wrote: »

    I'm not entirely convinced that having no baked AO/Cavity is the way to go. Most engines still don't render SSAO at full resolution.

    Maybe using Cavity with a small distance is the way to go to shade areas were SSAO isn't accurate enough.

    You still can use them, and you should. Just, not baked into the diffuse. Toolbag 2 for example has slots for AO. In direct lighting, there shouldn't be any AO. AO is reserved for ambient light, not direct.
  • billymcguffin
    Offline / Send Message
    billymcguffin polycounter lvl 11
    commador wrote: »
    You still can use them, and you should. Just, not baked into the diffuse. Toolbag 2 for example has slots for AO. In direct lighting, there shouldn't be any AO. AO is reserved for ambient light, not direct.

    UE4's shader also has an AO input which works great.
  • rogelio
    Offline / Send Message
    rogelio greentooth
    Yep AO is still used and cavity could in some ways still be used for artistic choices also, but ill leave those to people testing out stuff.
  • Joopson
    Offline / Send Message
    Joopson quad damage
    Is there a way to increase the intensity of the AO input in UDK? It's a bit too subtle in my experience.
Sign In or Register to comment.