i have assets in my game, which all use unique textures, some of them are non-metals, some are metals and some are both. I tried to create a very basic, universal material, but somehow my specularity just isn’t quite right.
My textures are done with the latest DDO version. I have an ‘Albedomap for Metalness’ (+ heightmap in alphachannel), a Normalmap and a special map consisting of (R = Roughnessmap, G = Metalnessmap, B = AO).
This is my material setup:
Can someone tell me what i am doing wrong? Do i need an extra specmap if my texture is non-metallic?
When i turn down my Specular parameter to 0.04, my textures ingame look better, specularity-wise, but they are far from what i can see in DDO.
As for the specular, Besides making it a variable/parameter a map for it (or at least a grayscale from the albedo multiplied by a value you feel comfortable with) will probably give a better result.
Also make sure you put a worldcapturesphere so that ingame it looks as it should.
that is… about all i currently know about bpr/materials that could help you.
Good luck!
That’s what i thought, in the example content materials it is done with the lerp like that, that’s why i did it. I can see no visible difference, so i will connect it directly.
The unreal documentation says this:
The Specular input should not be
connected and left as its default
value of 0.5 for most cases.
It is value between 0 and 1 and is
used to scale the current amount of
specularity on non-metallic surfaces.
It has no effect on metals.
For very diffuse Materials, you may be
inclined to set this to zero. Resist!
All Materials have specular, see this
post for examples [5]. What you really
want to do for very diffuse Materials
is make them rough.
So as far is i understand, the whole UE4 workflow is like this:
If i have metallic stuff (white in my metalmap), the specular color (intensity i don’t know about) is calculated out of my albedo.
If i have a non-metallic surface (black in my metalmap, or unconnected), the specular value (in my case default 0.5) is being taken, which if the documentation is correct, should work for most materials.
The rest of the specular stuff is done by the rouhgness.
And that’s exactly the point I’m struggling with. If i follow the documentation and interpreted it correctly, i get bad results. If i tell DDO to give me an additional spec map, and plug it in the spec, it looks alright.
So my question is, do i need a specmap if i follow the UE4 workflow or not?
If not, how do i set up the material properly.
Since specular has no effect on metals, using it is… useless.
but if the material isnt a metal, its not useless.
Also, its a basic guideline, just like metal is, its up to you (the user) to play around with it and get the result you want.
There are no rules, just guidelines.
If your specular map gives you a good result, then why not use it?
I personally often forego a specularmap and use a grayscale version of the albedo and multiply it with a value of somewhere between 1.1 and 4 depending on my needs. (Again, its all in the eye of the beholder (or user) to get the desired result we want.
Think of it like a coloring book, we learn to draw inside the lines, but drawing outside can give great results as well if we dare to let the guidelines go
I think with the new PBR system we are working with physically more or less accurate results. The textures in DDO are all being measured to be as physically correct as possible. In order for that to work there must be rules, not guidelines.
I’m not saying you can’t play with everything by hand, but that’s just not what i want in this case. I want it to have reflections etc. as close as possible to real-life (with minimal effort → DDO).
Using one extra specular map if not necessarily needed is a waste of texture memory, so if i can somehow skip it, that would be great.
I will try your albedo solution, and check how it looks. I mean something similar to this is what we did all these years before PBR
But there must be a perfect way to setup textures and materials regarding the workflow from DDO to Unreal 4. All the calculations in the back are mathematical and physical, so i’m pretty sure there is a perfect way.
I was able to fix the problem, thx to my m8s at polycount
My ‘special-map’ texture was (in the Compression Settings) set to Color. Changing it to ‘Mask’ or ‘Grayscale’ (Linear Grayscale in the Sampler Type) fixed my issue instantly.
In addition i got the advice to leave the ‘Specular’ completely unconnected. And to always set my Metallic to exact ‘0’ for non-metals (which i already did by adding my switch).