Office Scene - Quick thoughts on PBR

So for a friends ( and mine ( last assignment in school we decided to study PBR and how it can come to affect a 3D-artists work. We didn’t really want to go that far into programing and the technical stuff, just how it affects us a artists. We just wanted to share some quick thoughts we had working with PBR.

First off. Here is a fly-through and some screenshots of the scene we made.

Day fly-through:

Night fly-through:

Day screenshots:


Night screenshots:

There is still some small tweaks we want to do to the scene.

We first want to point out that this is our thoughts and opinions about PBR and may not be correct. We used articles such as Marmoset’s “PBR practise” (Tutorials & Resources | Marmoset) and Naty Hoffman’s SIGGRAPH presentation ( as a ground to stand on and form our own opinions about PBR.
So, our experience consists of 3 years of college working with “traditional observation based shading”. The “traditional observation based shading” is a term we saw Nicolas Schulz (Home - Making Games) use in his article about PBR. We really liked this term because we could really related to it. The traditional method of using diffuse, specular and gloss is based on the 3D-artist subjective point of view of how a material should look.
When learning PBR we really suggest that you research 3 principles from physics. These will help you a lot understanding and working with PBR. The 3 principles are:

  • Subsurface scattering (what happens to the light when it hits a surface)
  • Energy conservation
  • Microsurface

These 3 principles are really important to understand and you can read about them hereor here
When we started reading about how other companies had implemented PBR into their workflow one thing was really common. It was that the artist had a hard time addapting to PBR. When we started working with PBR we couldn’t really relate to this. We think that the reason behind this is that we read up a lot about PBR and the 3 principles before even started working with PBR. So our recommendation to you if you want to start working with PBR is to read up on these 3 principles.

So, starting working with PBR we were at first concerned about the specular and gloss being combined into roughness. We thought this would decrease the control we had over the material. But upon using it in practise it really made sense and we could relate back to the principle of energy conservation.

A goal that was very common across all the articles we read was that is should be easier to achieve a consistency. Working with PBR we noticed that this was true. We had an easier time adapting to each other. There was also a consistency with different lights, that is a big point using PBR. We no longer had to adapt our textures or materials depending on what kind of lighting they were in. Even though our scene we made is quite small it helped us a lot and saved us a lot of time when we did the night lighting.

What we noticed that really saved us time was the usage of predefined value for the roughness. This will be even more awesome when we will have a broad number of different materials and measured values.

If you have any question about PBR feel free to ask (we are not technically masterminds and doesn’t really know the programming and stuff behind it though).

Reminds me of Deus Ex HR :eek: Very cool!

Thank you! It is from Dues Ex HR :D! It’s based of this concept

Looking good! Keep up the good work!

Really cool Work… im learning UE4, im a programmer, i was reading the articles you mentioned and figure out that they offer this software (marmoset toolbag 2) that can archive the PBR system in any given model, i was wondering… do you guys used marmoset toolbag 2 to archive this? or you just figured out how to implement the math on blueprint? If that so(or not) can you share the proyect with the comunitty this will very helpfull in order to integrate PBR system to UE4!!

UE4 is already using PBR, you have nothing to integrate :slight_smile:

Oh… my bad, this is my second week on UE4, ill spend this weekend on this!!

Wow :smiley:

Love both versions. Excellent work :slight_smile:

Great work.
BTW, thanks for links to PBR information - very helpfull :slight_smile:

dude. lovely.

Really nice demo-scene but also very interesting thoughts on the PBR topic!
Iam also very new to this kind of things and need to experiment with the “new” parameters in order to find out what influences they have. So the papers you referenced are extremely welcome :wink: Thanks a lot!

First of all awesome work :slight_smile:

I want to tag along the PBR discussion.
PBR makes material texturing easy compared to Specular and Glosiness where the value can be arbitrarily out of range.
The only thing people don’t realize in using PBR are the things that supports it.
HDR Reflection value and projection are key to PBR.
In an ideal world of PBR you got perfect 1:1 HDR reflection projection and life will be great.

Problem is it’s very costly to have a perfect realtime HDR reflection.
In UE4 they augment Basic cubemap projection with Screenspace reflection, but even that is not enough cause it didn’t cover your back camera view changes properly.
This is where Specular from an Area lights comes in handy and become another important property of PBR.
But then again currently UE4 only supports spherical area light (I believe you can strecth it horizontal/vertical) but never a rectangular panel.
This is ok if your light source is always a sphere, but when your light source is a panel it becomes a problem (like the TV).
The issue can be seen on your image 6 that you posted.
The screen cast screen space reflection, but it’s value is not intense enough and it didn’t cast shadow unless you bake lightmass, to solve this you place another light that creates a Circle Specular on the floor which failed the PBR because there’s more energy emitted from the TV than its supposed to do (Failed in terms of Physical property coherency), to be CLEAR, I didn’t mean to say it’s bad as a lot of times it’s artistic choices :slight_smile:

In any case to summarize, PBR depends heavily on Reflection that has proper light ratio and proper light area setup.

Another issue with PBR is the manipulation of specular color.
The first thing comes to my mind when I tried PBR is iridescent material. I tried to create an oil slick material with it.
Good thing Unreal comes with a plethora of material nodes.
I use Fresnel on metal parameters and gradient ramp to get it to look like an oil slick.
The point is, it’s not as simple as it used to be using specular color system, but certainly doable, just have to think differently :slight_smile:

Where I can download this?