How would you use specular maps now based on what he said?

min 28:00

so you cannot use specular maps with the principled node then?

No it was designed for metalness workflow. If you want to use Specular workflow you have to create custom node setups.

so the old ways then.

Basically yes. However, if you just have a few spec maps you could try plugging them into the roughness invert them desaturate them and use a color ramp to readjust the intensity. The missing metalness map is only a black and white map and is rather easy to create.

If i understand the specular map usage in other engines right,then each pixel of the specular map represents its reflectivity.

since the specular value in the principled shader represents a IOR value,you cant use it as specular map input.(you would just get different IOR values then).

instead this setup should work.maybe someone with a known material that has a specular map could test it.

best would be the principled shader would have a specular map input for multiply the reflection.if not needed the slider should be at 1 for full reflection multi like it behaves now

from this site

Specular mapping is the process of using a texture or alpha layer of a texture as a look up table for per-pixel specular lighting intensity

http://www.rastertek.com/dx10tut21.html

poliigon says the same,call it reflection

edit,or this simple IOR glossy setup should work too

wait,if the engine (or the specular workflow) doesnt work with IOR ,then this even more simple setup should work

Or, if using Eevee, use a Specular node, which is the specular workflow. If the goal is to render downloaded/ripped models designed for use with a specular map, this is probably the most right workflow (they’re probably not built for raytracing anyways).

Specular maps are RGB values. Specular slider (and fac) is a single channel (grayscale) value, and a 1,1,1 specular map is significantly more specular than you’d get with a spec 0.5 principled. They’re not really that compatible.

Your principled/glossy mix is closer, but depending on the specular map, you might want to mix per-channel. And really, specular is an add, not a mix; you’ll find that some places with white specular look too dim by mixing.

I am sorry asking this is a language translation question

What does the word Metalness mean ?

I was under the impression that the principled Node simply combines various material types

Metal reflection
Non-metal reflection
Glass and transparent
Translucent sss

Just controls the amount of metalness. If 0, then fully dlielectric. If 1, then fully metallic.

It does disneydiffuse (not the same as lambertian - roughness 0 and oren nayar - roughness 1 found in the regular diffuse node) and for the fresnel output is moderated by roughness. It also does anisotropic glossy.

I prefer manual setups myself, but you need to know what you’re doing. With principled, you don’t have to have any knowledge about the correct shading process.

It does simplify various material types but is still build on the principle of using metallic/metallness/metal and roughness workflow which the Disney paper proposed.
You could build a Ubershader with Gloss/Spec workflow of course.
To me the term Spec and Gloss are just harder to understand than metallic and roughness.
After all both methods are just ways for artists to interact with a physically plausible shader model and to me Metallic/Rough seems a lot more intuitive.
If you dont know what any of this means I would highly suggest you read some articles on PBR.

Specular maps. Just wanted to add: Sometimes you have a specular/reflection map from before PBR era. So it’s not meant to be used for specular or metalness workflows, but something more dated. In this case, but you have to verify when it came from, you use the specular map in the specular slot. Any tweaks needed to the value depends on for what software it was meant to be used with.

hm could be,not sure.do you have a source of this ?

if every software uses a different method for the specular map,then it gets unnecessary complicated.

Same as swizzle coordinates for normal maps, or normal maps meant for tangent, object, or world space. They’re all normal maps. Same for specular maps, are they meant for renderers long before linear space was even invented? May want to account for that. Is the specular map meant for a fresnel response (1-2 or whatever), or a mix factor between diffuse and specular. There is no “this is how to…” that is always a given.

1 Like

I think that we are agree that the most maps are standart today (normal,gloss/roughness ,albedo,displacement…)

i would like to know this specular map.what engine uses it and what data represent its values.

from my research (the links above) they are reflection muliply to the albedo shader with light intensity from the source.(i guess without IOR usage in this workflow then)

autodesk about specular mapping
https://knowledge.autodesk.com/support/flame-products/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Flame-Compositingin3d/files/GUID-268E7DBB-3298-4B74-A5AC-7F26303CD4D5-htm.html

No, I’ve just read a few shaders in my life.

But I think you’re treating this as if it’s somehow rule-based when it’s not. You don’t just make a texture for all rendering engines. You make it for a specific rendering engine. (Same, as CarlG says, as with normal maps; same as with gloss/roughness maps.) If you’re making a video game and your engine handles specular in a certain way, that’s what you build your texture around. If it modulates specular color, then it’s a specular map, regardless of the details of how it gets read.

Sorry that makes it complicated. It is though. Unnecessarily so from your perspective, but appropriately so from the perspective of each of the people who wrote various rendering engines, each of whom had reasons for their choices, and weren’t particularly concerned about reuse of resources between engines.

So this is you workflow then?spec map into roughness and invert them.this assumes that the spec map is a glossy map.

https://docs.blender.org/manual/en/2.82/render/shader_nodes/shader/principled.html

I usually use the Scripting workspace to figure out the specular values. Using the console, it can do the basic math for you.

ior=Add_ior_number_here
a=ior-1
b=ior+1
c=a/b
d=c*c
e=d/0.08
e

I replace the “Add_ior_number_here” with desired ior value. Copy all that and paste that line in the console. Hit enter…
“e” is your specular value. So after hitting enter, it will tell you what “e” is.

image


Here are some examples of dieletric spec values based on their IOR:
Diamond 2.150
Quartz 0.570
Glass Acrylic 0.486
Glass 0.500
Glass Plexi 0.5

Beer 0.264
Milk 0.277
Water 0.255
Water ice 0.225
Snow 0.870

Eye, Cornea 0.309 - 0.349
Human skin 0.350 - 0.406
Moss 0.572
Plastic 0.437
Rubber 0.531
Styrofoam 0.657

thanks for posting the IOR conversation to specular.these are well known.the question from the OP was what to do with specular maps from other engines/software.

Most of the time a spec map was a reverse of a roughnessmap. Because of the software’s shade programing. If the gloss map was from another software. It is probably reversed. All you have to do is a invert node. No need for an additional principled shader or gloss shader…


Blender’s Principled Specular value is different than the ordinary roughness value.
A spec map can be generated accurately but it isn’t meant to be the same as the roughness. Water is a Roughness of 0 but a specular of .25.
Again, no need for an additional principled shader or gloss shader.


TL;DR
Other software’s Glossmap = Reversed Roughness map
Blender’s Specular value isn’t a roughness value. It is handled differently.

In vray,at least in this forum topic,the glossy is a seperate value

https://forums.chaosgroup.com/forum/v-ray-for-sketchup-forums/v-ray-for-sketchup-general/42350-specularity-map

and here
http://sketchucation.com/forums/viewtopic.php?f=322&t=41046