In the last two years, the game art industry has ignited a fierce PBR boom, which is as hot as the "secondary era" of the year. For the PBR process that almost redefines the game art, many friends have a lot of doubts. For example, why does the effect of PBR look so good, whether it is necessary to learn and use the PBR process in the film and television industry. If so, how do we use it?
This article will discuss these issues in a very detailed and professional manner from the perspective of film and television practitioners, so that everyone can understand the ins and outs of all this.
How to use the logic of film and television to understand PBR?
PBR is an abbreviation for physically based rendering, which is based on physical rendering. However, this is just a name. It can only be said that it is close to physics to some extent, and there is still a gap from real physics. But the PBR process has been very good at describing most of the materials we encounter in daily life.
For many friends who work in film and television industry, understanding the properties of PBR material has certain difficulties, because the vocabulary used is somewhat different from the material ball we use. The attributes used by PBR are mainly four—diffuse, roughness, metallic, normal (the main discussion here is the most popular metal-rough model, not the specular-glossiness model or others), where diffuse, roughness, normal and Consistent use in the film and television industry, referring to the diffuse color of the material, the degree of reflection blur, and the normal.
However, the most difficult to understand is also the key to the difference, just in this metallic attribute.
Metallic translates to metality. According to some documents, this is a very simple concept, which refers to whether the material is metal. This value accepts only two values in principle - zero or one. When Metallic is zero, this material is not metal, it is called dielectric material. When Metallic is one, then this material is metal. (Almost everything except metal is a dielectric)
However, this is only a very emotional statement. For a rendering artist who already has a complete knowledge system, this parameter is unreasonable, and almost no existing experience can be found. In the language that the film and television practitioners can understand, the actual control of this parameter is F0, which is the reflectivity of the face perpendicular to the camera's line of sight in the Finnel reflection. The reason why F0 is called is because the angle between the camera line of sight and the normal of this area is 0 degrees.
Image source: Allegorithmic official help documentation
When the metallic value is 0, the value of F0 is 0.04. When the metalness value is 1, the value of F0 is 1. When metallic is the intermediate value of 0-1, F0 is also between 0.04 and 1. The corresponding interpolation is estimated to be a linear difference. In this process, F90 does not change and is always constant at 1 (that is, the edge area circled in the figure, marked as 100%).
About this attribute-F0, it seems that we have never used it? Actually not, in the default material aistandard of the arnold renderer, there is a property called Reflectance at Normal, which literally means the reflectivity of the normal direction, the so-called normal direction here is mentioned above. The angle between the camera line of sight and the face normal is 0 degrees of normal direction; then this property is actually the F0 attribute.
In this way, the textures output in the PBR process seem to correspond to the renderers we usually use. Therefore, in terms of reason, we can also use the texture of the PBR process.
How to use PBR textures in our familiar renderers
The method used is not very complicated in itself. But there are two situations to discuss. Because the translators used by film and television friends usually use different rendering methods to deal with reflections, they need to use different schemes to dock. Here, I will cite two representative renderers, arnold and vray.
1) Use PBR maps in arnold
First, we want to export the PBR texture for use by the arnold renderer. Here, the texture software I use is a substance painter, since it provides a variety of flexible export solutions that speed up the workflow, I chose it here.
When exporting, there is a arnold texture prefabrication available.
Among them, the diffuse texture is connected to the diffuse color channel, and the color space is sRGB.
Specular textures connect specular color channels with a color space of sRGB.
The Roughness map connects the specular roughness channel with a linear color space.
The F0 map is connected to the Reflectance at Normal channel, and the color space is linear. (Here you check the fresnel option)
The Normal map connects to the Bump mapping channel, and the color space is linear. The bump 2d node is set to tangent space normals.
The specular weight is constant at 1 during this process.
The use of other textures is not discussed in this article.
When the textures are connected and set correctly, and the color space of the renderer is also set correctly, the result rendered by arnold will be very close to the effect of the screenshot in the substance painter.
The effect of the screenshot in Substance painter
Arnold rendered effect
Of course, because the rendering method of the substance painter has many approximate calculation methods, for example, the reflection effect is quickly realized by blurring the image of the environment ball and mapping it onto the model, instead of using the real ray tracing algorithm, so the final visual effect will be different from the rendering of the renderer.
However, this difference is completely within the scope of acceptance. And you can make up for it by using the iray GPU renderer when previewing.
2) Use PBR maps in vray
Similarly, first use vray prefabrication from the material painter to export a set of textures.
Most of the content is similar, except that reflection replaces specular, both of which are used to describe the color of the reflection, with different names and meanings.
Glossiness is the opposite of Roughness. It is a description of the degree of roughness of the reflection, but one refers to the degree of clarity, and one refers to the degree of ambiguity.
The most puzzling texture is a gadget called ior. The first contact with a friend will definitely be embarrassing. The word Ior is an abbreviation for index of refraction, which means refractive index. According to the physics knowledge of junior high school, the refractive index is something that is transparent glass, and should be the inherent property of a transparent object. How can it become a texture? What role can this texture play?
Comparing with the previous arnold output texture, you will find that the ior map here corresponds to the F0 of the arnold output. Then make a simple guess, are there any intrinsic links between the two textures? The answer is also yes.
We can find such a formula in the help document of allegorithmic:
Don't be afraid to see the formula, at least this one is very simple.
This formula describes the relationship between F0 and ior. The left side of the equation is of course F0, while the n on the right refers to ior. Then through this formula, we can roughly feel that F0 and ior have an intrinsic correspondence.
Now let's try to do a simple operation. When ior is equal to 1.5, it is very easy to calculate, F0 is equal to 0.04. Hey, it seems that this 0.04 is a bit familiar? What is this sense of sight?
In fact, the number of 0.04 has already appeared in the previous article. "When the metal value is 0, the value of F0 is 0.04". 0.04 is the value that is mandatory for the F0 of all non-metallic objects in the PBR process. Correspondingly, the value of ior is 1.5.
According to the knowledge system of film and television rendering, we know that the ior attribute can also be used to describe the intensity of reflection. Generally we will use the ior between 1.3 and 1.6 to set the non-metallic material, and the ior above 20 to set the metal material.
Put a little knowledge here. Seriously seeing friends here may have a question, that is, we usually do rendering, ior may give more change, but according to what I said before, it seems that the non-metallic substance in PBR, the constant use of 1.5 ior does not change ? Isn't the reflection intensity the same? Can the material from this be correct?
You can take a look at the scene of the opening of Shenhai 4, they also use this system to do, and nothing wrong. Why is there a problem with the constant ior of 1.5? Because the change of F0 in all non-metallic substances in nature is nothing more than between 0.02-0.05 , the difference is very small, even if all use 0.04, there is not much change.
Some software also considers this problem, adding a parameter to the basic PBR parameters to slightly control the intensity of F0, so that the artist has more room for operation. For example, the material of the Unreal 4 game engine has a specular attribute, but this specular is completely different from the traditional specular. It actually plays a role in making F0 change from 0.02 to 0.06. You can click on the link at the back of this article. There is a slider on the help file of Unreal 4 to drag the observation effect.
The PBR texture is connected to the vray material, which is almost identical to the arnold method except that the ior texture is connected to the material's ior channel.
And here is a very noteworthy thing, here is the ior texture we have been talking about, strictly speaking, it should be 1/ior texture.
You can look at the output of this 1/ior texture, you can imagine, if the output is ior texture, because the value of ior, non-metal is 1.5, metal is also greater than 20, are greater than 1, the value is reflected in If it is on the map, it must be a pure white piece. It will not be such a grayscale image.
Then, do we want to invert the 1/ior texture in the 3D software, and then insert the ior channel after getting the real ior value? If you are using a vray renderer, there is no need for this, because vray will automatically recognize the value of the ior channel inserted. If it is less than 1, it will automatically be treated as 1/ior.
The above, through the use of PBR textures in the arnold and vray renderers to sort out the use of F0 textures and ior textures, and other various renderers are nothing more than one of these two methods.
One interesting thing is that the redshift renderer borrows a lot of other renderers, so the shader inherits the interfaces of F0 and ior. At the same time, in the new version of the rsMaterial material (that is, the open source alsurface material upgrade version), actually made the metalness attribute, which can be directly connected to the PBR process like the game engine, it is also quite tidal.
Source of PBR material realism
Many friends have been wondering why the game's picture will be greatly improved after using the PBR process, and even has begun to surpass the film-level effect. Is the process used in film and television more than the PBR process?
Through the previous article, we will find that the textures output in the PBR process are also used in various renderers, and the rendering effect is close to or even better. That is to say, the effect of the game PBR process, the production method of film and television can be completely re-enacted or even surpassed, but the reverse is not possible.
The PBR process is only a good definition of the two types of materials, dielectric and metal, but there are big gaps in the transparent material 3s material.
So, why is the PBR process still giving the public a more realistic impression than the film and television process?
Through the above description, whether you find one thing, the PBR process has only two modifications to the reflection parameters - F0 and Roughness. It seems to be very limited, it is very stifling the artist's creative space. In contrast, the material we usually use has unlimited modification rights to the reflection, not only can adjust the intensity of F0, but also adjust the intensity of F90, and can also adjust the body. Intensity, you can also adjust the transition curve from F0 to F90.
This makes our work seem more free and more creative, but in fact,
It is the software that gives us too much freedom that makes us make a mistake. If our aim is to create truth, then this freedom runs counter to us. In the PBR process, even the opportunity to adjust the intensity of the reflection is not given to you. No matter how you adjust it, you can never break the conservation of energy, can't eliminate the Fresnel reflection, and can't create the material that doesn't exist in nature. It is this seemingly tough restriction that enhances the accuracy of the PBR process and is more in line with industry needs in most cases.
Many times, it is not that the level of art in the game is higher now, but that there is almost no chance of making mistakes. The rendering artists engaged in the film and television industry want to achieve the same quality, but they need higher learning costs. Only by understanding all the knowledge behind it will you control yourself and not make mistakes.
Hope it helps you.