Home Unreal Engine

UE4 PBR workflow?

hooblegooblin
polycounter lvl 5
Offline / Send Message
hooblegooblin polycounter lvl 5
In the past with engines that did not use PBR, I'd usually use source photographs and chop up textures in Photoshop and overlay them on a baked AO. Then I'd run Crazybump to generate the normal and specular maps. However this technique doesn't really seem effective with the new material setup in Unreal 4.

What is the workflow that you use for creating channels for PBR materials in Unreal 4?

Replies

  • Rooster128
    Offline / Send Message
    Rooster128 polycounter lvl 8
    If you want a quick and easy, PBR essentially gives you two new things to worry about- Metalness and Roughness.

    Metalness changes the way the specular and diffuse works. Any metallic material you feed in a "1" any nonmetallic you feed in a "0".

    Roughness is sort of like gloss in that it effects the tightness of the specular highlight. For those, you want to pass in a value that reflects the Index of Refraction (IOR) of the physical material. Or just look around online and find the roughness value people use for different materials and feed something around there in.

    Diffuse is now albedo, which should be basic color under white light (don't add AO in or any lighting information, just basic color).

    In the end it comes down to what the eye sees. I could go much more in depth about PBR but hopefully this gives you enough to go by.
  • EarthQuake
    Rooster128 wrote: »
    If you want a quick and easy, PBR essentially gives you two new things to worry about- Metalness and Roughness.

    Metalness changes the way the specular and diffuse works. Any metallic material you feed in a "1" any nonmetallic you feed in a "0".

    Important to note that your albedo stores both your diffuse and specular color/intesnity values. For non metals, the diffuse is used while a fixed reflectivity value is applied in the shader (4% linear). For metals, the diffuse is turned black in the shader while the reflectivity is set by the albedo map. The metalness map controls which type of material and where the content comes from. Generally materials will be 0(black) or 1(white) except for partial metals(rare) or material transitions (soft fades to rust, dirt, etc - common).
    Roughness is sort of like gloss in that it effects the tightness of the specular highlight.

    Roughness is exactly the same thing as a gloss map except the content is inverted, both define how rough the surface is (matte/wide specular highlights) or how smooth the surface is (glossy/tight specular highlights). The only difference is the mapping, with UE4's roughness map, white = most rough and black = most glossy, while its typically the opposite for gloss maps. You can convert a roughness map to a gloss map simply by inverting.
    For those, you want to pass in a value that reflects the Index of Refraction (IOR) of the physical material.

    This is very much incorrect. IOR is the same thing as base reflectivity, which is set as a constant 4% for non-metals or with the albedo map for metals as noted about. IOR defines the same thing a specular intensity input defines, but uses a different scale. IOR is rarely used in games and any IOR value you find would need to be converted into something usable before you could plug it into a texture value.
    Or just look around online and find the roughness value people use for different materials and feed something around there in.

    Its very important to note that roughness simply varies a great deal, depending on numerous environmental conditions. Different types of the same material can have different finishes (see: paints, plastics, etc) and then you have wear, if the finish is rubbed off it may reveal a rougher or smoother undercoating, dust, dirt and debris built up on the surface will alter the roughness, etc. So even if you can find a roughness value for your material, it may not be what you want to use. Research and observation is your best bet here.
    Diffuse is now albedo, which should be basic color under white light (don't add AO in or any lighting information, just basic color).

    In the end it comes down to what the eye sees. I could go much more in depth about PBR but hopefully this gives you enough to go by.

    Epic's docs are a good place to start: https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html

    The tutorials we wrote for TB2 also explain the metalness stuff and some of the differences between tradiation spec/gloss and metalness/roughness as well. http://www.marmoset.co/toolbag/learn/pbr-practice some of this is TB2 specific but most is general information.
  • Rooster128
    Offline / Send Message
    Rooster128 polycounter lvl 8
    Ah just read this page again- I see IOR is reflectivity, not necessarily specular highlight. Good call. This marmoset page was one of the pages I first got my information about PBR- I just misread it.
Sign In or Register to comment.