How to use the Reflection Map for Principled Shader?

Hi,

I’m trying to use an old asset made with Vray.
It contains

  1. Diffuse
  2. Gloss
  3. Normal
  4. Reflection

1 to 3 are straightfoward with Gloss to be inverted for Roughness slot.
My concern is the Reflection Map. It is is a colored map and I guess it is use to tint a highlight but I’m not sure how to use it. I tried it with the “Sheen Tint” and the “Specular Tint” but there is no noticeable result.

You can see the maps here:

I also tried searching over the forum but nothing definitive like this one:

where the reference link is dead.

Is there a way around this?

Thank you for looking at my problem?

I think this is useful!

1 Like

For PBR shading, there’s two ways of texturing. One is the ‘metal/rough’ workflow, and the other is the ‘specular/gloss’ workflow.
Both are different in the way they use textures for defining the characteristics of a material.

Allegorithmic has some really nice and free PDF’s on the subject. And due to the way both wokflows work, it’s not always possible to use the existing textures with conversion nodes to get the same results. Both workflows work with B/W textures to define gloss an metal, but the diffuse texture is defined different.
The old way of shading is not really useful to replicate in PBR with existing textures.

But in your case, you could make the material this faded brownish color, and stick with the first three textures to see what happens.

rob

edit:
Guides can be found here: https://www.substance3d.com/pbr-guide

1 Like

You can completely ignore it when using the metal/rough workflow in the Principled shader. If it’s a metal object, which I’m guessing it is, then you should set metallic to 1.0 unless there are rust spots or whatever in places in which case you’ll need a map for that. The proper colour of reflections in metallic materials will be handled by the shader. You might need to look up suitable colours for the Base Colour though. This will vary depending on what type of metal it is and it’s from this value (or map) that the reflection colouring comes from (in metals)

I had a quick check on Poliigon which has some metal texture maps in both metal/roughness and spec/gloss. Try using the reflection map as the base colour in Principled.

1 Like

Open up the original asset in VRay, check how everything is connected. Observe what effect each map has on the object and try to recreate those responses. That’s probably the only way you can obtain (close to) original intent. Some intents may not even be possible, I don’t know VRay. Even if it looks good, it’s not guaranteed that the asset is setup with PBR in mind or even physically plausible. Personally I don’t mind “cheating”, but I prefer knowing when I do.

1 Like

Hi @bentraje ,
In addition to good responses above, as far as I know you must setup for ‘Specular Workflow’ as seen below:


The reason for that is because your textures originally exported in this manner; in specular workflow metal colors come from the specular (reflection) map and metal parts in albedo is -probably- just black.


If you try to setup for ‘Metalness Workflow’, you’ll be missing metalness map (You can’t use reflection map for this, because metalness map must be black and white). Also metal parts in albedo map must have color information (which probably you don’t have). It’s true that Inverted Gloss map = Roughness map.


Also check this link:
https://help.poliigon.com/general-information/the-differences-between-metalness-and-specular-workflows

4 Likes

sometimes it is usefull to take a look at the documents from the product it self (in this case vray)

here you can see the settings for the given reflection map explained.to me the most important setting is the filter color,that acts as RGB reflection multiplier.

this could be rebuild with a custom node build.

https://docs.chaosgroup.com/display/VRAY3MAX/Reflect+or+Refract+Map+|+VRayMap
https://docs.chaosgroup.com/display/VRAY3MAX/V-Ray+Material+|+VRayMtl#V-RayMaterial|VRayMtl-reflectionReflection

in this thread i tryed to rebuild the vray reflection material behave.now i would build it a bit different but have a look.

1 Like

Thank you all for your response. It has given me enough information.

In summary, based on the posts above, here’s what I can conclude:

  1. The reflection map is not needed in the PBR Metalness workflow
  2. Both the diffuse, reflection and specular map was used to determine the “metalness” of an object.
  3. For the sake of argument, if one wants to really use the reflection map, it is to create a base color map (i.e. some vooddo conversion from (Diffuse Map + Reflection Map) = Base Color)
  4. It is undesirable to plug the reflection map directly to the base color. The reflection map was meant to determine the color of the reflection/highlights and not the color of the whole object itself.

Thanks again. Have a great day ahead!

@bentraje This is not related to your question. But could you please let me know how you saved those maps (diffuse, glossy, etc.) on Blender? Is it possible to save the actual irradiance map (strength of light incident on a pixel) using V-ray? Thanks in advance.

Hi, i notice that you said in Metalness workflow, the metal color come from secular map?
But in this post by Jaroslav Jerryno Novotny: https://blender.stackexchange.com/questions/104615/control-metal-reflection-color-with-pr-shader-and-an-albedo-input-texture
He said in metalness workflow, we use Albedo map to define both the diffuse and reflectivity content. and for metals the diffuse is black, reflectivity color is taken from albedo and amount reflected is 100%.
which make me confused. since you mentioned the specular will provide the color information for metal?

you need usally a black and white texture mask into the metallness to tell the shader where the metal is.then the shader uses a different shader algorithm for better F0 metall reflections like complex fresnel.as far as i know,this math was implemented into cycles principled shader for the metallness.

http://jcgt.org/published/0003/04/03/paper.pdf

the specular,is a simplyfied value of IOR.here you can see how the value is calculated back into a IOR under the hood.

https://docs.blender.org/manual/en/latest/render/shader_nodes/shader/specular_bsdf.html

albedo is used for both the same.you can use specular tint additional for colored reflections,but only metals can reflect colored.for all other materials the specualr tint should be left to white for dielectric materials,because they can not reflect colored.

No, I say that for specular workflow. My explanation for metalness workflow comes in the next paragraph. I edited the text to be less confusing.

I know this is late, but I’ll leave this here in case anyone needs. The idea is to flip the green channel for the Reflection and Glossiness map, then plug them into Roughness and Specular maps respectively, using nodes such as “Separate RGB” and “Combine RGB”, Here’s how it should look:

Why should someone invert the green channel of the Reflection and Glossiness map?It is widely known that a Glossiness map should be inverted as whole image,to get the Roughness map.

The only case i know to invert the green channel,is for OpenGL vs DirectX normal map converting.

Maybe i am wrong,could you explane from where these setup is based on,any source?

Seems pretty pointless. Most gloss or reflection maps I’ve seen (mainly Poliigon ones I think) are either greyscale and therefore have no RGB channels to invert, or are effectively RGB versions of what is a greyscale image. All separating out one channel is going to do is give a watered down less intense version, inverted or not. I have seen other types of image where the red, green and blue channels have been used to save 3 completely different greyscale images which can then be used for different purposes… but I don’t think we’re talking about those.

1 Like

Yes have seen those too,I guess it was from a game engine, that has stored different data in each RGB channel to safe space or whatever.

1 Like

You’re correct, this method is for OpenGL DX conversion, but it seems to get me better results, it could be specific to my case, I don’t know. I have a texture library for v-ray and I convert some of its textures this way. Semi matte parquet would look super glossy in cycles without inverting anything, then if I inverted the whole maps it would look super matte, like zero reflections for some reason, inverting the green channel got me a lot closer to the reference. But generally speaking, you’re right.

I have seen other types of image where the red, green and blue channels have been used to save 3 completely different greyscale images which can then be used for different purposes…

Yes that would be the RMA workflow, for game engines to save precious memory. RMA stands for Roughness (Red) Metallic (Green) AmbientOcclusion (Blue). I think it can even hold alpha map alongside the others.

2 Likes

I am curios,could you post the textures of one vray material in question?.ideal would be the screen from the vray settings for this material and a reference image rendered in vray to compare.
So we can have a look at whats going on.

There are lots of examples how to convert basic maps from metal-rough to specular worflow, here and on the web. Also, some of it is slightly different and will not render the same result.
As said, your conversion makes only sense for normal maps. Show us a example for vray to see where things go wrong.

Allegorithmic has some great pfds on both workflows, I suggest looking into these.