hey guys, welcome back to swats_tuts. I'm
back with another exciting tutorial. today I'm going to explain how to do the look with
any random hdri available from internet. I will show you what happens when we
use those hdri's as it is in the scene, what are the common mistakes that
happen when using the hdri's as it is, how we can tackle those issues by exposure
and color calibration without any references, how we can choose better hdri's that
are more suitable for look development, and I will be explaining about the role of
dynamic range and contrast ratio when choosing the suitable hdri's. so all these information's I am
sharing is very closely related to photography, so a basic understanding of photography and
its technical side will be an advantage. and although I'm using maya and I'm not in this
tutorial, the methods and theories I'm going to show is universal and it can be applied to any
software with any render engine. so I'll definitely show you how it can be done. before stepping into
all that, I want you to know that this is not how the look development in production works. most of the look
development in production happens in a neutral studio lighting setup, and I will tell you
the reasons behind it when we go into the tutorial. the situation I'm going to explain here is
where the only available option for us is an hdri without any tools to calibrate it. the tools
like the gray chrome balls or Macbeth colorchart. so what happens when we use an hdri
without changing anything for look development? well, let's say you have an object that you want
to create in 3d for example a red ball. either you will have an actual ball as a reference or you
will have to create one from your imagination. so uh either way we're gonna need reference images.
so the common ways to get the references are - we photograph the actual object if we have an actual
object. or we get some reference from internet. uh like if it's a glass we'll take some reference
of glass from internet. whether it can be steel it can be made of glass, etc. and the third one is
uh we make concept arts or concept paintings. so it's difficult to measure the color or texture
if we are using a random image from internet and in the case of concept paintings we usually
use the exact values the artist has used in the painting as for texturing purpose. but if you are
going to photograph an actual object for reference there are ways we use to get the accurate texture
color and luminance of that particular object. and this is where photographic principles come to
play for the first time. we use Macbeth colorchart gray chrome balls to analyze the scene
exposure and color of that particular environment in which we are going to photograph the object
for reference. so the gray ball and Macbeth colorchart has predefined color values so that we can
analyze how much the scene exposure and colors are shifting and according to that we can adjust the
camera settings to get the accurate texture color and luminance of that object. so the basic idea
is if an object has let's say a hue value of 5 and an 80% saturation and
55% luminance or brightness the photograph of that object should accurately
represent the same values. uh so these texture values will be further painted onto the 3d object
from texturing. so that's how we get the accurate texture color and luminance values in our texture
maps for the object. so here I am talking only about the diffuse color of that object. so uh this
is the process of uh getting the texture ready for our look development. and now let's see what happens
when we use a random hdri without changing any any of its values or colors and use it for look
development in the software. so I have selected this much of HDRI's for this demonstration. and if
you can see these hdri's especially have extreme levels of colors. I particularly wanted these
kind of extreme colors so that I can show you the things that happens at its extreme level. so
just by looking at it you can see that it's going to cast a lot of colors like uh green, yellows
blues, greenish and purplish colors and all that. so, and also I have rendered an object in
all these environments. so I've used a particular object for this demonstration. and
this is a free downloaded model from artstation. you can download it from
artstation. I will put the link on the description. so for the demonstration, I have used a particular
diffuse color for this object. the reason for choosing this particular color was that when i
was trying with different colors this was the color which was showing extreme color variations
when.. when rendered in the chosen hdri. so that for the demonstration of this particular tutorial
it was the best choice. and just for you to know whatever I am showing on this tutorial is
the extreme levels of changes which will happen. I am showing you this here just
so that you can understand it very well. so these are all the renders which I have done. so if you see here if I choose the diffuse
albedo of all these renders, it's all the same diffuse color. but when it comes to the rgba
which is a beauty render, according to the hdri's the renders are changing very much. so
if you see here the night scene light has a greenish light also and a warm light and the warm
light is changing that this color into a pink and the blue light is changing that color into
the blue. and in here again it goes pinkish. and on the interior which has a blue light goes again
onto the blue color. and if you see the night scene it not only changes the color but also darkens
the overall texture very much. and when it comes to the sunny hdri, the overall exposure is really high.
so just by looking at it we can see that how much the colors will change, how much the exposures
are different even though we use the same texture color for the all these renders.
so and also if you see the specular direct it also have some amount of color shifts which
are happening in here. and also if you see a more diffused if you see a more diffused
environment and a sunny environment - if you compare both of those those kind of
environments you can see the specular roughness even though the specular roughness
of those two renders are the same but when the environment changes the
specular lobe also changes with it. so so these are the three main things which we
have to consider when choosing the hdri's from anywhere. and in this tutorial what I'm going
to show you is how to tackle all these changes which the changes which happens on color,
the changes which happens in the exposure you can see some of them are overexposed
some of them are underexposed. so you can't really understand which one of the hdri
gives that right luminance of that particular color. so these are the main three things
which we are going to discuss and tackle in this tutorial. so enough theories and talk let's
show you how I do the calibration of exposure in the maya software. and like I said, I'm showing this
in the maya with Arnold, but the method can be used in any software with any render engine and
I'll show you how to do those things properly. so here I have a setup which in which I have a
model and I have grey ball and mirror ball for this one we just need the gray ball and mirror ball.
so let's start adding shaders for this so this will be my basic setup for the basic
lookdev with hdri or even any lights. so let's start adding shaders. so I
am adding an aiStandard surface shader. so usually I put I put the color on white
and I change the weight to 0.18. like 18 grey. so you can put any value right here like you can
put 0.5 value so the grey value changes to 50% or you can put 18%. the reason I am
using 18% here is because of the grey ball which we use in the real world is
18% grey and also uh in the photograph you also use grey card which is 18%.
so these are all the reasons I'm particularly uh using the exact same value in this. but it's
not necessary to keep it uh 18%, you can put any value uh it's the main purpose of
this 18% or the main purpose of this grey ball is to understand the light exposure. uh is
it getting overexposed or underexposed just to read the lighting values. that's the main purpose.
uh so I'm also applying the grey shader to the uh our asset. and also I'm adding a specular to
the grey ball and I'll tell you in a few minutes uh why I create a specular on the grey ball. so
um I usually add a roughness value of 0.45. now the chrome ball. so I'm adding another shader
for the chrome ball. again aiStandard surface. so in the real world the chrome bowl is made of
stainless steel and if you check the reflectance value of stainless steel in the internet
it comes to 55 to 65 percentage. so usually what everyone does is put the base weight to one
color to a hundred percentage and metalness 1. and because this base color act as a metallic
color and also a diffuse color based on metalness. this means - this white color with weight 1 means
that chrome ball reflects 100 of the light which is hitting that. but in the real world there is no
such uh metal which reflects 100 of reflections. there will always be some uh light which
gets absorbed and gets converted into heat. so and also as I've shown you the stainless steel
reflectance value is around 55 to 65 percentage. so I usually put six uh 65 percentage of
reflectance. so either you can put this value onto 1 and put here the value to 0.65
or you can put back this into one and here add here the 0.65 value. it works both ways
because it gets multiplied with one another. and I usually put the reference value to 0.05. because
there will be some amount of roughness because we handle the chrome ball with our own hands so
there will be some smudges around it which you know makes the reflections a little rough. not very
much but a little bit. so this is our basic setup. so first we will look at how to calibrate
the exposure. so here we have for hdri's and I have particularly selected
these four. and one has an interior scene. and another one is a night. the third one is an
overcast sky. and the fourth one is a sunny hdri. so when we start rendering it's
better to check the lighting on the grey ball other than the character. because
we can judge the light uh very easily on a curvy surfaces. so we can really understand how the
light direction and the fall of all those things easily on a sphere. in this scene we have a
character whose head is more like a sphere so in this case we can even check it on the character
head it's not necessary that every time we gonna get a character or all the character or object we
get we have a curvy surface. it can be a cube shape. or any other shape maybe cylinder. so it's
always better to rely on grey ball other than the character. but for this demonstration
we'll stick to the character. so I'm just rendering this. so the first thing I do when we
when I start lookdev is I choose a better light direction to get a better form on the character. so
that I get the a better definition on highlights and shadows. or a better differentiation on shadows
and highlights. so if we have a multiple set of hdri's and you are using a single dome
light, what I usually do is I use an aiswitch so that you can just connect the aiswitch
onto the color and you can connect the hdri's onto the inputs. so I have connected all the four hdri's
onto it. so when we choose the index number here it will choose, uh select each one of these
inputs uh to the dome light. so currently we are using the input 0 which
is this interior light. if I switch to 1, it will change the light to
the night. and if I change to 2 it changes to overcast. so you can use this method
or you can just connect the hdri to the light. I prefer this one using an aiswitch and so the first thing I use is rotate the hdri to get
a better definition and if you are using multiple hdri's it's difficult for every time you switch an
hdri you have to rotate the dome light to get the proper direction. so to avoid that what I usually
do is I stick with the normal rotation of hdri which is zero and I use the place2Dtextures
offset uh attribute to rotate the hdri. so if I so the the total rotation of an hdri is 360
degree and the value of offset is from 0 to 1. so when we change the value to 0.1, the hdri rotates
into 36 degrees. so according to that you should put the values. and if you see, uh in the
interior light there is two different lights one is a cool light and second one is a warm
light. so when we are looking at a colored light, it's difficult for us to judge which one is the
brighter light. because we want to find the most brightest light on the hdri for the calibration so
it's difficult to judge the lighting on the colors. so what I usually do is if I am using colors on
hdri is I go to the luminance channel. so in here we only see the brightness or luminance
values of those particular hdri's. so we don't have to worry about the colors.
so in the luminance channel we can then start to rotate the hdri and find the lighting
position where it gives a good dimension on the object plus I have a, I can have a good
judgment on which part is most highlighted. so in here we can see right now we have a good uh
amount of differentiation on shadow and highlight. but what I usually prefer is highlight to come
from the left side. it's just personal preference. you can keep it on from the right that's totally
fine. but I just prefer the key light to be from the left. I just put the inverse value to get the
light to come from the left side. so now we have a proper differentiation on shadow and highlight.
so if we go back to the rgb channel, we can see the blue light is the most dominating light on
the on the scene and it's if you see here it's coming from the ground. so now our light direction
is set, let's look at the exposure. so our render is with uh both the diffuse and also specular. so for
exposure calibration, we just only need the diffuse. aov so in order to do this I have added
some aov's on the render settings. so for the calibration we can use either diffuse
channel or direct diffuse. so both are fine and if you only want to use the diffuse direct that's
also fine. and we are in the diffuse channel. so the basic idea of calibration is, if you
see the diffuse albedo channel, you can see we have given the shader a base weight of 0.18
and we can here we can see the rgb channels. and it shows around 0.18 value. it's supposed
to show us the exact value of 0.18. Arnold removes some of that illuminance value from the
shader. but that's totally fine because it's a really minute value like 0.006 and the value we
put in here, we get the exact value in the diffuse albedo. so if you are putting a texture in here
we will get the exact luminance values of that particular texture in the diffuse albedo channel.
so the basic idea of exposure calibration is, if this object is illuminated by a light which is
in a neutral exposure, which is not over exposing neither under exposing the object's texture.
then the only thing which will get added to this texture will be a shadow. so if a light
is illuminating from the top left corner we will get a shadow on the bottom right of this
object. and this part will be getting the exact amount of luminance which make - which will make
no difference on the diffuse. but if you check the diffuse here because there is a lot of
color on the shader it's difficult to judge the luminance with all these color values. so for
this purpose I usually go to luminance channel. so for exposure calibration we don't need to see
the colors. just by looking at the luminance channel we can judge the colors uh judge the exposure
very easily. so if you compare the diffuse and the diffuse albedo, so in here
you can see the values are on the luminance channel if you see
the values it is around 0.16. and the diffuse albedo values are on 0.16 and 0.017. so the idea is if this part is the highlighted part, then this part
will be eliminated with a 0.18 value on diffuse. so in the luminance, we can see it is coming around 0.16. and if you look at the EV channel, there
is another value which is showing according to the luminance values. so the if I show you the
diffuse albedo, and if I look at the EV there it shows almost close to zero when the value is
close to 0.18. so that's because the Arnold by default considers the 0.18 value to be a neutral
or zero exposure. uh this is only in Arnold render engine and it works only with the 0.18 value.
so if I change this base weight on to 0.36 then you can see the value changes to around one.
because to Arnold the texture value got doubled. which means it is brightened by one stop or one
exposure. so that's the EV we see on Arnold. so to adjust this brightness changes
I usually use aiColorCorrect node. so I add a color correct node. and the only thing I
change here is exposure. I don't change any other parameters on here. so how would I decide this uh
value which I should add on the exposure is by looking at the EV value. so if I come to the
diffuse node and if I check the most bright part, and for this, for checking this pixel
values I usually use the average pixel option. and I put it on to around 5 so that it will
take five pixels around the cursor point - mouse cursor and it will average its value and it will find
an average value. so it will be easier for us to decide which is the uh brightest value. in here
if I check the brightest spot, I am getting around 0.165. so on the 0.165 on the luminance
we can see the exposure is showing -0.134. so it means the exposure is 0.134
value less than the neutral exposure. so the simple thing is if it is showing a minus value,
you put the exact value as plus on the exposure. so that the EV will be neutral. that means we
get the neutral exposure on the object. so if I put the 0.134 value on the exposure, I get 0.18
value on the luminance and also EV becomes around zero. so it doesn't have to be exactly
accurately 0.18. around 0.18 to19 will work totally fine. so if, now if you check
with the diffuse albedo and the diffuse, so you can see here that the highlighted
part on the grey ball is staying the same as the diffuse albedo. the only difference
on diffuse direct is the addition of shadows. so that's why I prefer to do it on the grey ball
so that it's easy to judge the pixel values on the curvy shape. because in here you can see
there is all a lot of folded part patterns and everything. so it's it was a bit difficult
to judge on these values. so in here also there's not much of a difference. only it's getting
added shadows. if you see the highlighted top part there is not much of difference there. so
this is how you adjust the exposure of the light. now I'll do the exposure
calibration of these other three also. so I am changing the index onto 1 which will
give me the night hdri. so by default you can see the knight is really dark. so and also
first thing first we have to find the shadow and highlight parts of this. so you can see this is the
highlighted part. and there is really less values here. if I
check the grey ball for this. real low like, you can see the max value here
the luma value will be around 0.42. and it doesn't have to be accurate just like I said. so it's 0.41 and the EV value we get is -2.134. so what we have to do is we put the minus on to the into positive. so if we are getting a -2.134, we put 2.134 here. and
okay we weren't looking at the diffuse, we should look at
the diffuse to get the accurate values. so here still now we get a 0.18 here. so if you check the so you can check the diffuse and diffuse albedo.
again you can see the highlighted part has no difference. so if you are to change any value
other than this, let's say you multiply it by two you can definitely see the diffuse albedo and the
diffuse doesn't match. so our second light is done. so if you look here, the light the sky is overcast
overall giving the white light. which means the light direction doesn't matter because
it will be giving light from the top. we don't need to rotate the lights on these kind of
occasions. we just need to adjust the brightness. so if you see here it's a little overexposed. very subtle because the value here on the EV when
it is getting overexposed the value gets positive so we have to reduce 0.187 value in order to
get the 0.18 value. so here we get we add -1.87. so again we can compare it with the albedo.
so you can see only shadow is getting added. so that one is also calibrated.
it's the last one - the sunny hdri. so by default you can see it is over
exposing the object really very much. and you see here the values
are getting as high as 0.521. so the EV is getting overexposed
onto a value of 1.538. so we add -1.538 here. and we expose the values back to 0.18. and for color, the first thing you should
understand is for look development, white lights are the best because. when the colors
getting added you will lose the judgment on the diffuse colors, your diffuse textures and also
judgment on the speculars which will also have some colored reflections. so if you are working
with any hdri's with these much of extreme colors it's better you remove the colors from the
hdri's. so that because when we do the lookdev we don't need any colors on lights to do the
lookdev. we only need the luminance values from the hdri or any software lights. we can add
colors only if we are trying to integrate the object onto the hdri or any particular
scene. which is part of lighting. on the lookdev what mostly we are focusing on is the
shader accuracy. so in order to get the shader properties right, we have to uh judge it
properly. so and we only need light information's for that. we don't need any colors and normally
the hdri's won't have this much of extreme color variations. so the changes on the texture colors
will not be that much. so uh if you are using a normal interior or exterior hdri's which has almost
white lights it will not be a problem for you. but if you have to use any this much extreme
colored hdri's, either you will have to be really experienced so that you can understand what
will happen on the textures and speculars or any other properties of that particular object when
a colored light is hitting on that. or else choose a better hdri or work with the hdri without color.
so I'll show you my workflow of how to remove that colors from the particular hdri. in order to remove
the colors, you can use two ways. and I'll show you what's my preferred way. so either you can remove
the saturation which will give you this result. I'll just render only this part so that the render
will be faster and I can show you the results very fast. so when we are working with saturation,
if I again go back to the luminance channel, if you check the previous render which was
rendered with color, the luminance values has changed drastically. so I won't suggest this option
a better way will be to use the luminance channel. so how to use the luminance is, you have to
come to the texture and on the color balance you have to tick 'alpha is luminance' on and then you can connect the out alpha into the inputs
red green and blue channels. and if you render now if you again check the luma channels you
see it's almost close to the hdri. so in this case your speculars are
not getting affected just a subtle difference on the exposure, which is
very subtle. you can work with that so this is my preferred workflow of
exposure calibration and color correction. so if you still think changing the exposure
and colors of hdri changes its physical values. definitely not. it doesn't. this is exactly the
process that you do if you are creating a rig with software lights. you will adjust the light
exactly as I have shown in the hdri exposure calibration. you will adjust the exposure so
that the object is neither under exposed nor overexposed. it gets illuminated with the exact
luminance of its texture color. and this is the exact same way the production lookdev rigs are
made. by properly calibrating the exposures of software lights and secondly and importantly light
works in a linear fashion. which means when a light exposure is reduced to have the object brightness
or reflection or luminance is also reduced exactly by half. not like any other percentage or there is
no other algorithms or calculations inside it. it's just straight linear process. when a gates light
gets doubled the object brightness gets doubled. when the lights brightness gets reduced to half
the object's brightness also gets reduced to half. and the same thing applies to the other
complex material properties like subsurface scattering also. so it is an accurate workflow.
in my experience it works perfect every time. and this is the same process that photographers
do when they are photographing their subject. so photographers always calibrate the scene
before shooting so that their subject gets the right exposure. for example if it is a portrait
getting the accurate skin color is the most important thing. and the other skin properties
like scattering and speculars and everything. they also use this same basic principle. if
a skin or any other subject has a particular luminance for its texture, you get the exact
luminance on the photograph. not underexposed not overexposed. and more studios also use multiple
hdri's along with the studio rigs with different lighting conditions. and that's only to check the
consistency of the shader on multiple environments. and in these kind of situations they will
have a proper understanding of the lighting conditions of those hdri's. like if it is a sunny
hdri they will have an understanding that how much the exposure will go higher than
the normal condition. and if it is another like an interior scene and with another colored
light they will know that what will be the color values they will have a proper understanding of
all those hdris and how the speculars are going to come, how the exposure is going to come. and if you
are a beginner this is an important thing. because most of the time the there are some common
mistakes you make. like for example if you find a texture and if you are
not using all any of these values. and let's say you are using the texture with color. if you if you feel like the
texture is under exposed or not bright enough what usually do is, you change the texture
brightness. if a texture is connected here you will put an aiColorCorrect onto it and you will
change maybe the texture exposure and make it brighter. so that's not the right workflow. because
uh for a lookdev process, it's important that you make sure that any light you are using either it's
an hdri or a software light you have to make sure that the light is exposing the object properly
with proper exposure. so if a light exposure is less than it's supposed to, then the object
is definitely going to look darker and it's not right to increase the texture
brightness so that it looks proper on that particular lighting. lookdev is only to get the
shaders right so that when it transferred onto a lighting scene you don't have to think
about the textures. you only have to focus on the lighting part. so if the shaders are
not proper on the lookdev, that is you did some adjustments just to make the textures or the
object look proper on that particular lookdev rig, it's not going to work when it is imported onto a
lighting scene. so that's why studios prefer to check the shader consistency on different multiple hdri's.
so that they can understand what are the minute problems still pursuing on that particular
shader. so in any of those situations it's not wise to change the shader properties when we are
changing each of those hdri's. and if it is a sunny hdr either exposure gets brighter and then we
change the texture values to compensate on the sunny hdri and then it comes to another night
hdri, then we compensate the texture again by increasing the texture value to compensate on the
knight hdri, that's not the right process we have to properly calibrate the exposures of all the hdri's.
if you are doing lookdev on hdri's. and this is two different process. one is in the production they
do the lookdev on the neutral studio environment hdri's or the the light setup with software lights.
and then after finishing the lookdev they check the consistency with different hdri's. on that
time they only use those particular hdri's just to make sure that the shader is consistent
and what we are doing in here is we are starting the look dev in in a particular hdri.
so that we make sure the light exposure already calibrated before we start any shader. and the
second thing we have to consider here is, with changing light what changes on the shader is the shadow,
which creates a contrast on the object. when the lights get really brighter the shadows
gets really darker. and for lookdev it's important that you see all the details of the object. that
means the darker shadows won't work very well on a little situation. because we prefer to see all
the details of all the parts. so it's better not to have these kind of dark shadows on the object
when we are doing the lookdev. we will talk more about it when we talk about how to select better hdri's
that are more suitable for look development. so with each hdri's and according to its environments,
even it is an interior, even it has a light or it is an exterior with sunny hdri or an overcast
hdri or a night hdri with changing exposure also changes the specular roughness. so if I show
you all the previous renders which I have rendered with all the hdri's without using any calibration,
if you see the luminance, you can see all these renders are rendered with the same shader but
just like the exposure is changing you can see the specular lobe or the specular roughness is
also changing with each hdri. so in here you can see the shader is more glossy and here it is
more... the specular roughness is more rough. and in the sunny hdri, the specular is more again
more glossy and in here it's more rough. so most of the amateurs do this mistake that
when they change the light environment from one to the other when they see that the
specular roughness is changing with it they adjust the specular roughness. so again that's
the mistake that I have seen mostly people do when they are doing the look development with hdri.
because you should understand that the roughness is dependent on the shader roughness also on
the size of the light. so the size of the light becomes bigger specular roughness also gets bigger.
and the size of the light when becomes smaller the specular roughness looks glossy. so when an
object is rendered on a sunny hdri, it's possible that the shader will look more glossy than it
actually is. because the light is very small and when it is rendered under an overcast sky
which has the sky overall is acting as a bigger light. as a result the specular lobe is definitely
going to get rougher than it actually is. so this is important that you understand that with
each hdri environment, according to its lighting condition the specular roughness also going
to change. so it takes more experience just to understand or judge that on this particular
environment the specular roughness will be this much different. or it's going to look like
this. so it takes practice and good observation to understand this is what is going to happen when we
change one hdri to another. so for better judgment on the specular roughness of particular objects
is to choose hdri's which has the same lighting condition to the object's reference lighting
condition. if the object was photographed in a sunny lighting condition which has a really harsh
spotlight we have to choose an hdri which has a really hard light not a soft light so that you
can understand or you can get the exact same lighting specular roughness on the object
as the reference. and if not most of the time I have seen people take a reference which is maybe
shot on a overcast sky and they took a sunny hdri on to do the lookdev and match the specular
roughness exactly to the overcast specular roughness. so the problem is if we are going to
check the object on a different hdri which has a different lighting condition, it's going to
look weird. and we will be again adjusting the specular roughness according to that hdri and when
we go into another hdri just to check the shader consistency, we will be again tweaking those values.
so understand this these are the main three things we should understand. the exposure uh colors and
the specular is going to change with each hdri's. and we have to have a good understanding of how
it is going to change according to that particular environment. so these are all the things that you
have to look for when we are using random hdri's for look development. so now that we have looked
at the exposure color calibrations and also what happens with the specular roughness with each
hdri's, now I think you have a good understanding of how to calibrate those things and the things
to look for when we are using that particular kind of hdri's. so now we can look at how to choose
better hdri's for loop development. and for this topic I'm gonna talk about two main things which
comes to play when we want to select good hdri's for the look development. so the first thing is the
dynamic range of that hdri. and the second thing is its lighting contrast ratio. so the first thing
its dynamic range. the dynamic range means that the ratio between the lowest and the highest value
in a hdri. the value means its pixel values. and the ratio is calculated on stops or exposure EV's. so
if you are still wondering how to calculate the EV's or what does it mean by stops, how it's been
calculated, it's pretty simple. let's say if an hdri has a pixel value of let's say 0.5 and when
the value is increased by one stop it means the value is getting double. that is 0.5 becomes 1. and
if we are saying that the value is decreased by one stop which means the 0.5 is divided by 2 or
divided by half which becomes 0.25. so this is what exposure value or stops means. so one exposure
means the value or light is getting doubled and minus one stop or minus one exposure means the
light is reduced to half. so the dynamic range on the hdri is calculated in stops. so if we
ask for a dynamic range of any particular hdri it will be saying like 12 stops or 15 stops 24
stops. and so to calculate a dynamic range of any hdri uh you uh the first thing you need is
nuke. so in nuke you have a node called curve tool. so in the curve tool if you come to the curve type
change you should change it to maximum pixel. and then just hit go. so it will ask for a frame range
we have just one frame so just hit ok. and if you come to the max luma data then you can see that
now we have a max luma pixel data and a minimum luma pixel data. so the minimum luma pixel
comes to the black and the max luma pixel goes to the whitest the brightest pixel. so the
value max luma comes to around 186070. and the minimum luminous pixel is 0.003. in order
to find the stops of the hdri we should find the logarithm value of this max luma pixel to the base
of two. so by default the calculators gives us the logarithm value to the base of 10. so we need
to use a logarithm calculator which uses the base of 2. so if you don't understand logarithm
I'll show you a simple method also after this. for that you can check on
the internet for a calculator with the base of two. so there
is a log base to calculator. so I'm just adding the highest
luminance value here. that is 186070.343 so the answer we get is 17.5. which means 17 and a
half stops. but the thing is, logarithm calculates only till the value of one. so in order
to show you this I can show the simple method of calculating logarithm in the
calculator by adding the exact same value and when we say it's reduced by one stop which
means it is being divided into half that is divided by 2. so what we should do here is divide
this value by two until we get the minimum luminance pixel value. so I am dividing it by two. until I get the so if you check if you count the number
of twos here it comes to 17 stops. that is I have divided it 17 times. so that's the
value we are getting from the internet which means when it is counted on to 17
and half stops it only comes to the value one. or around one. but our minimum value
is 0.003. so that so we should divide again to get the accurate dynamic range
of that particular hdri. so I am again dividing it. until I get come around that minimum value. so almost close. so
if I count it again. if I divide it again it's less than this value. so around 25 and a half
stops is the dynamic range of this particular hdri. so this is the method how we actually find the
dynamic range of any particular hdri. so if we want to check the same method on
another hdri, let's say this knight hdri which we already know that it has a
lesser dynamic range than the sun because you know night is very less
brightened than the day. so again do the same thing on this one also. and find
the maximum bright and minimum bright pixels. so in here we get the value is around 345. compared to the sunny hdri which was on
around 1,80 000. so again we can check the logarithm value here. it shows eight
stops or around eight and a half. now already we know that that's the not the exact
value. so again in the calculator we are going to do the calculation again. so so this is around close. 0.0015 - 0.0013 so if we count the two's this particular
hdri has 18 stops of dynamic range. so this is how you find a dynamic range of any hdri
so easily. the particular reason I am talking about dynamic range in here is that is because as you
should have seen on the renders that if you check on the chrome ball, you can see that the values
goes around 836 which is very high dynamic range compared to the pixel value 1 which is around
the maximum of white brightness or white color which our monitor can show. so what happens
when we are using this kind of hdri with high luminance values is if we have a glossy
object, and let's say if we have put some break up textures on the speculars on the roughness and
specular colors maybe. when it comes to around the highlighted spot. because of these brightest
pixels we can't see much of the information there. so in here the spot is very small, but think about
a light which can cover almost half of the object and giving this white hot spot. so that we can't
see any information of that particular area. the lookdev as I've said already many many times it's
important that we see each of those details of every side every corner of that particular object.
so that we get the idea of how the shaders are coming and how the object is looking overall. so it
is important that we don't lose any pixels or to the brightest values that is purely white also
to the darkest values which can be uh referred to some shadows. so that's why I particularly look
for dynamic ranges in order to choose good hdri's. if we come to this particular hdri, it has a soft
specular roughness. or let's say this one here. even this hdri. if you see the the speculars has there are still values but look at this.
the highlighted part has only values around 4. which compared to the sunny hdri is very very
less. and we can work better with these kind of dynamic ranges compared to this hot
sunny hdri's. so that's and that's one reason I particularly don't choose sunny hdri's
with this kind of hotspots. and also if again you compare it the process to the photography, you
can't see any beauty portraits which are lit with high intensity lights, unless the mood asks
for it. most of the photography references if you look on the internet will see that they use soft
boxes to reduce these kind of hot spots on the objects so that the objects looks more beautiful.
it's the same concept on product photography and the only exceptional case is the sports and
athletic photography. because on those themes the important thing is to get the body shapes
of those athletics properly. some amount of hard lights are needed in order to define the muscle
areas properly with shadows and speculars. if you see these lookdev setups which is used in
production also, you can't see any harsh light setups because then as you see you lose a lot
of details to the harsh light. so we stick with mostly soft lights with a medium amount of shadow
contrast. that's the next point which I wanted to tell you because, if you come to the diffuse
direct and if I am showing the luminance, if you see the sunny hdri, with the high contrast
light we lose a lot of detail onto the shadows. so what happens is we can't see a lot of details
especially in these kind of areas. we can't really see the details of that particular area. that's not
a good way of doing the lookdev because in lookdev we need to see all the details of that particular
object. when it comes to lighting it's entirely different because then we have to match it to a
particular environment or a particular backplate. it can be an exterior sunny environment, it can
be an overcast environment, it can be night, it can be anything. but when it comes to lookdev,
it is important that we preserve and show as much detail on the object or character as we can.
that's the importance of dynamic range. and then when it comes to selecting hdri's with a medium
amount of contrast, in my experience I stick with hdris around 9 to 12 stops of dynamic range which
in my experience tends to be working fine with me. you can go up to 15 but I don't recommend
going beyond 15 stops of dynamic range because all those high luminance values are not necessary
for look development. you can use those kind of high luminance values only for lighting. if
you have a shot you don't have the same exact hdri for the bg plate and you need some hdri's which
can give the same exact values as your backplate and then at those times you can select these kind
of high intensity values but for the look development I'd say stick around with 9 to you know 15
stops of dynamic range. and that leads me to my next point which is contrast ratio. so lighting
contrast ratio is mainly the exposure difference that comes between the highlight and shadow of an
image. and in majority of the cases it becomes the ratio between the key and the fill lights, as key
is visible more on the highlights and the fill is more present on the shadows. contrast ratios
are widely used in photography by photographers especially in portrait photography. and like
dynamic range it is also measured in stops. the common lighting ratios are 1:1,
2:1, 4:1, 8:1 etc. here the first value represents the key exposure
and the second value represents the fill. let us check what each of those contrast ratios are. so
the first one 1:1 contrast ratio means the key and the fill light has the same exposure.
so it will result in a flatly lit object with very subtle to no shadows. and the second one 2:1 means that the exposure of the key is one stop higher than the fill. and in 4:1 it
is two stops higher in exposure than the fill light. you can notice that in all these situations
the fill value stays the same and only the key exposure is increasing. not just increasing it's
doubling its value just like uh what happens when there is an increase in exposure by one stop. it's
doubling the light. so same thing is represented here by doubling its values. like 1 then 1
stop higher it goes to 2. then again 1 stop higher it doubles the value to 4. then again
doubles the value to 8 etc. so how to check the contrast ratio in render. so it's pretty easy. we
can check the dominance values of highlights and the shadows and then easily determine what will
be the contrast ratio of that particular render or that particular hdri provides. so let's check it
out in nuke how to determine the contrast ratio in a particular hdri. so for this demonstration
I have calibrated all the 16 hdri's to the neutral exposure and I have removed all the colors
from it. so these are the renders. if you check the diffuse albedo, you can see and again if you
come to the diffuse direct, it all has the same color because of the calibration. and you can see
the exposure also come to the same values. and the only difference you can see here is the
difference which the light and shadows create. for easily demonstrating the calculation of
contrast ratio we can use the grey balls. so I have extracted the grey balls here. all of them.
if you remember just to calibrate the exposure we only needed the diffuse direct. but in this
case we will need diffuse direct and diffuse indirect. because the indirect bounces
usually comes on to the shadow parts. so it will contribute some amount of pixel values
onto the shadows. so when we calculate the contrast ratio of the highlight to the shadows these values
matter on this particular situation. so here I have combined the diffuse direct and indirect
together for this contrast issue determination. and so let's start by checking the first uh grey
ball. so because all the grey balls are calibrated to 0.18 value, the highlight will be always 0.18. you
just need to calculate the shadows to determine the contrast ratio. so if you come to the first
hdri's grey ball, if you check the shadows, here you can see there is uh two different lights which
is happening here. if you check the first hdri you can see there are two lights. so it
will be casting two different shadows here. so that's why it has a... it has this particular look
of uh two different lights. and also there is some amount of indirect light which is getting
casted here. and for determining value we are using the diffuse channel. what you are seeing
here is diffuse and diffuse indirect combined. and we are not using speculars right here now.
it's the fact that when the speculars are added to the scene it will add some values to the shadow
part. but for just to show you this demonstration I am using only the diffuse part. so that it will
be easy for to for us to understand. because when the speculars are getting added on the shadows
also we can see there is specular highlights of the light. it becomes difficult to judge the pixel
values when the speculars are added. and I prefer to judge it only by the diffuse. usually the grey
balls doesn't have specular property. it's just a diffused grey ball. so we don't need to worry
about this and so now let's see, this is the shadow part of the grey ball and I'm uh averaging
the pixel values here. so if you see here, it comes to around 0.09. so our brightest values are around
0.18. so if you so if you check it on a calculator so if you reduce 0.18 by one stop that is divided
by 2 we get 0.09. which is the value we get we are getting here. so the fill light is one stop
lesser than the highlight. which gives us the contrast ratio of 2:1. so I have already
checked it and I have added the value here. so let's check the second one so in here you can see
the second hdri which is casting light from bottom. so our highlight part has a value around 0.18.
and the shadow comes to around 0.05. so if you divide the 0.09 which is the value one stop lesser
than the 0.18 and if you again divide it by 2 you get the value around 0.045 which is closer to
0.05. so here the exposure difference is two stops which gives us the contrast ratio 4:1. so that is the value here. and the third one
if you again check highlight has 0.18 and the shadow comes to around 0.036. so it comes in
between to 2 stops and again uh the value if we divide this again with the half stop by dividing
it by 1.414 which is the square root of 2, we get around 0.031. and it
is closer to that value so we can say it is two and a half stops lesser. so we can say um 6:1. either we can uh consider it as a 6:1 ratio because it is two and a half difference between
the shadow and the highlight. or we can round it to a 4:1 ratio. so it's just just to
get a better understanding of that hdri. if you are a good experienced
if you are really experienced in judging the lighting contrast, you can
by just seeing on the renders, you can understand that if this is going to work as
a good hdri for look development or not. so I am trying to explain these things for people
who who are new to this look development and as a beginner your observation may not be good with
grey values. and you will be wondering what kind of things to look for just to understand the
properties of hdri or how we can judge if it is a good hdri for look development. so I'm
just explaining simple things you can look for when we want to decide if hdri is a good
for lookdev. so this is the simple things and if you don't understand these uh stop variations.
in these kind of situations if you come again against these kind of values which doesn't
fit into a particular stop and when it comes to an in-between values either you can round it
to a full stop which is lesser than that that particular value or above that particular value.
so in here uh either you can consider it as a 4:1 ratio or you can go down and consider
it as a 8:1 ratio. but I prefer to consider it on the higher values. so it is closer to 0.05 so I consider it to be a 4:1 ratio. this is just for a quick judgment on the hdri's.
it's for our personal use just to understand so that we get a good judgement on those
particular hdri's. how the contrast will be coming on rendering objects on that hdri. I have already
checked all the hdri's and I have added all the uh contrast ratios on to the objects. so uh we have
firstly we have checked 2:1 and 4:1. so there is another two different uh contrast
ratios we have we can find here. so if you check this one one is to one ratio, if you see
there is no particular shadow areas in here. we get overall the same amount of values on the,
not exactly same, but I mean by looking at it you if you you can't particularly distinguish between
the highlights and shadows right? because it's all looks really flat. if you check the hdri's, this
one and if you again check it it's even its object render, you can see... you can hardly see any
difference between two sides of this the face. it's really looks a flat and the second one I
wanted to show you here was the 8:1 hdri which is again you can see the sun sunny hdri has an 8:1 ratio. and also the overcast
hdri comes to that ratio because you can see here the shadow areas goes really deep. so in here
you can see that the sunny hdri and the overcast hdri, both has the same contrast ratio. that's
because the contrast ratio is independent of the dynamic range of any hdri. so now we have seen how
to calculate the contrast ratio and if you are thinking that the dynamic range like the sunny
hdri will give a higher contrast ratio whereas hdri's like an overcast sky will give you lesser
contrast ratio, uh it doesn't work like that. because the contrast ratio is independent
of dynamic range, any hdri can have different kind of dynamic ranges. an overcast
sky can have 8:1 ratio just like here and also even a sunny hdri can have 2:1
ratio depending on the lighting situation. if a sunny hdri is casting a lot of indirect bounces on
that hdri like a floor is really bright and it is causing a lot of indirect branches, the chances are
the shadows will be filled with lot of indirect bounces and the contrast ratio will reduce to
maybe 2:1 or 4:1. so we can't really think like sunny hdri will always give high
contrast ratio and an overcast hdri or really soft light hdri's will give you lesser contrast ratios.
it doesn't work like that it will depend on the colors on the scene and also on the lights. so
we will always need to check on the render just to understand how the contrast ratio is working
on that particular hdri. we can't just judge it by just looking at it. we'll have to render it.
and you don't have to always render and check the contrast ratios just to decide whether the
light or the particular hdri is suitable for the loop development. if you are good with your eyes
you can just by seeing it you can tell that if it is good or not. so those are the two things which
can be helpful when determining a good hdri's for look development. so in here my preferred
contrast ratios for look development is 2:1 to 4:1. i don't prefer this
kind of 8:1 ratios but there can be some exceptional cases like this one even though it
has a contrast ratio of 8:1, you can see in all the shadows we can see a good amount of
details and in cases like even in these cases also we can have we can see a good amount of details.
this is not like a rule or something but this is more like a guideline or a trick you can use to
get a better judgment on hdri's but you have to keep in mind that it doesn't always have to be like the
2:1 ratio or 4:1 ratio is always the good because just by looking at the
examples I have given just now you can see uh there can be some exceptional cases. if you
want to prefer any particular hdri contrast ratios I prefer 2:1 to 4:1. but again after gaining some
more experiences I can choose an hdri without checking all these contrast ratios or dynamic
range and I can I can even pick the those renders by looking at the looking at how the speculars
and shadows are coming, how the overall look of that image with all these speculars, light info,
highlights and shadows, everything is coming so what I want to say here is if you are not
really experienced with grey shading and judging by looking at the gray balls and or grey
renders, you can prefer these kind of ways. and some more suggestions or advice that I wanted
to give you here is, first thing try to avoid hdri's which has these kind of two values. which will
cast this kind of uh hard shadows on both ways. which creates these uh weird lines on the
objects particularly for look development these kind of weird artifacts or lines can be
a little weird on the object. so try to avoid hdri's with this kind of shadows. and secondly
try to avoid hdri's which has lights from bottom. like this one. it has scary kind of look
here. and just because we are used to lights which are casting light from above us, we are used to
seeing shadows that are on the bottom sides of objects. when we see renders like this, we will
have a feeling like it's not right. so try to avoid this kind of lighting which casts light from
the bottom and also I don't prefer 1:1 contrast ratio because it doesn't give
you any particular contrast on the object. most of the time it will flatten the
overall shape or form of the object which is not preferable. because forms are important. so
that's all I wanted to talk about contrast ratio. so as you have looked at how we can color
calibrate, exposure calibrate and adjust all those settings in maya and Arnold, let's see all these
principles can be applied to any other render engine or any other software. so at this particular
time I don't have any other software's with me. I'm just showing you the same thing in maya with
another render engine. and here I am going to use Renderman for this tutorial. so let's see how
we can use these methods that we have just seen in other render engine. in here it's
Renderman. so we have the same setup here. with the same camera and just
now we have just assigned the lambert shader. and if you come to the
node editor so let's so let's import the 4 hdri's we have used before for the
demonstration. so we have our 4 hdri's and uh let's create the grey ball shaders. grey ball and
mirror ball shaders here. so I'm using pxrSurface. and if you check the pxrSurface it's almost similar
to the aiStandard surface. only the difference between here is in the case of speculars
the the attributes are little bit different. and in the a standard surface there was base color
which acted as diffuse. and also specular color. and here we have a diffuse attribute and also
primary specular. so in here the metalness is defined with face color and edge color. so we
will go deep into this uh the shader properties when we study different shader attributes. so
now we just going to go with all the methods to just to calibrate the exposure of the hdri.
so if you go into any software or any render engine, you will see some amount of attributes
and interface are going to change with render engines and software's. so but it is easy right
now to make the exact settings from one software or one render engine to another. because we are
all using the pbr workflow. so it becomes easy for us to replicate the same settings from one to
another. so in here just I'm just putting so if you so if you notice on the diffuse color in
Renderman by default the value is on 0.18. gain is like aiStandard surface weight. we... it gets
multiplied to color. so here 0.18 is enough and for primary speculars I am changing
the specular Fresnel mode to physical. and edge color to 1. so refraction index is
by default 1.5. I'm not going to change it. and changing the reference to 0.45. that
is our grey shader. and now another pxrSurface. and this is for our chrome ball. so for chrome, we
don't need diffuse. we used base color as white on the aiStandard, but in here we are not going to use
diffuse. the base comes to the face color. so in here if you are using physical, you will have to find out
the extinction coefficient value of the stainless steel. but for this purpose, I am using artistic and
I am changing the face color into 0.65 and edge color into 1. so here the edge color is acting
as Fresnel and the face color is what will act as the metallic color. so I'm changing... I'm putting the
Fresnel exponent as it is. I'm not changing anything. and I'm changing the roughness to 0.05. so our
chrome ball is ready. just assign these materials to the chrome and we will have to add
a subdivision to each of them. so and finally our..... Deadpool shader. so the value I have used on the on this
particular as its texture value was 0.5 - .025 - .5 so this was the color and again I'm using fresnel. so our shaders are ready. and now let's add light. light let's add a pxr Dome light. and
again dome light is also common for every software and render engines. because without dome light we
can't put we can't add hdri's to any other light. so this one is also global or universal for
every software and render engine. so I'm adding a pxr dome light. and here if you can see we here
there is a slot for connecting texture color map straight into the hdri. so we won't be needing this
file texture. but let's copy this and put it in here. and by default we were using an offset. so our light is ready our shaders are
ready. now we have to tune some render settings. so I'm not going to explain all
these things right now because this is not what we are focusing here. I'm
just putting some basic render settings and leaving it as it is. so aov's. I'm
adding.... so let's do a render. so just like we remove the saturation, if you see in the pxr
dome light itself there is a saturation attribute. remember we when we used a saturation
attribute on the color correct on the Arnold it changed the luminance. but here
if you see and I'm reducing the saturation to 0. you notice that there was no change
on the luminance at all because Renderman already handling it properly
in here. so now what we have to do is find the highlight - shadow difference on the
shader by rotating hdri. so here we have we haven't connected any textures. so we will have
to rotate the dome itself. so I'm gonna rotate the dome. and for this I'm just gonna look at the
direct diffuse. and now we're going to look at the... grey ball so here now we get the good amount of difference. and again, for calibration, here you can see we
we don't have the EV value with Renderman. so we will have to adjust looking at the luminance values from rgb channels. so
here we can see the max value comes around... it already has a luminance value above 18 or
closer to 18. so this one is already calibrated. and so now let's check another hdri. okay so it's the same principles I'm using in
the in here also. I'm adding shaders. adding hdri. and I'm rotating it to get a good highlight
and shadow differentiation on the object. and then we adjust the light. so here if you see the
values go around 0.07 which is closer to 0.09 so one stop exposure is definitely less. but again I'm
adding 1.2 just to see if it is going to have any..... getting closer to finally... so here
you can see it's almost close to 18 again 1.5. okay. it's actually the luminance
value is different on the object. it's around 0.5. so we should be looking at here itself. okay.
more cleaner. so 0.06. so again 1.5 stops I guess. so almost closer. yes. now we get the luminance to around 0.18.
so you can see if you compare the diffuse and the albedo, just like Arnold. the only
thing getting added here is a shadow. so that's how you do it with any
other software or render engine. so here if you see I've gone a bit further and
I have tested all those three and four hdri's on uh different render engines which are Renderman and Vray
and if you see those results, the if you check it on the uh by looking at the rgba there is
some difference on the reflections because with each shader on the render engines
the algorithm might differ a little bit. so there might be that's the difference in
the reflections and if you check the diffuse, you can see all these have the same settings.
and all these have the same results here. so this is just to show you that these methods can
be uh used on any render engine with any software. just follow the same principles and you will get
the same results. so that's all I wanted to talk in this tutorial. so I hope you liked and learned
something from this tutorial. and if you liked it give a thumbs up. and share it with your
friends who are also interested in learning look development and lighting. and subscribe this
channel, definitely subscribe this channel for more future contents from this channel. and next time
I'll be coming with uh another lookdev tutorial on how to create a lookdev rig with software
lights just like the rigs that productions use. I'll be showing you in depth detailed methods on
how can we create lookdev rigs so easily. and I'll be sharing some tricks of my own which are so
useful not just lookdev but on the lighting also. so keep waiting and I'll see you with those tutorials
very soon. so until this is swats signing off. bye!!