Look development with HDRI -Everything you need to know| calibration| Contrast ratio | Dynamic range

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
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!!
Info
Channel: Swats tuts
Views: 1,531
Rating: 5 out of 5
Keywords: CGI, 3d, autodesk, maya, arnold, lookdevelopment, animation, vfx, photorealistic, cglighting, tutorial, lightingtutorial, swatstuts, autodeskmaya, autodeskarnold, arnoldrender, pixarsrenderman, renderman, exposurecalibrtion, colorcalibration, dynamicrange, contrastratio, HDRI, hdrilookdevelopment
Id: OnbZvAO4enU
Channel Id: undefined
Length: 91min 38sec (5498 seconds)
Published: Sun Apr 04 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.