Character is shiny

Hi my character is shiny even morning or night time am i missing anything?

Hello dalikdik, thank you for posting.

Without seeing the material itself, I would wonder if there is a roughness value. The lower the roughness, the shinier a material is. There may also be a specular value worth looking into as well.

I have linked documentation to both of these values to provide assistance.

I hope this helps.


i have added roughness just like what you said but same result

when camera is rotated opposite side will have shiny character and other side its not

Not shiny


You could set specularity to 0 and roughness to 1 to get a very very basic paper like effect, getting rid of those highlights.

The problem you are having is that your material setup is not advanced enough to generate good looking results on a realistic human model. If realism is what you are going for then the materials will have to be much more complex than the suggestion I gave you.

Hi @dalikdik, there are 2 things attracting my attention

  1. In the first scene screenshot, isn’t the landscape looking shiny as well? At least, it looks to me as if there are strong reflections on the right side of the image on the ground.

  2. The normal map input at least looks somewhat strange to me at a first glance with that red color.

Could you please just try to remove the normal map just to verify, that your problems are not caused by some weird normal map trouble, possibly caused by bad (import) settings etc…

You could even replace base color by simple color value to make any artifacts better visible and drill down to the very minimum setup for debugging.

Just some ideas…

ehhh you can’t use a material value like roughtness as 0 or 1 if lumen!!
And never use roughtness, specular, whatever as a number, for example you can desaturate the base color and use it as roughtness.

Your problem is for sure the material, is just not enough…

May I suggest to you something? Use good shaders, the easy is to download what you like and use that material (for skin, clothes, sofa, a cookie or whatever)

For example, download the “Content Examples” from the Market place,
It has a level for human skin, change whatever you need, create a instance if you want, and done!

Tell me how is going!

1 Like


I’d really like to recommend against that:

First, you can use a simple scalar value with roughness and specular, you can even use a standard vector3 as a normal input. In the end, textures are just lookup tables for those values. What’s important with simple values is, you have to know how to use them, e.g. specular is usually around 0.5, roughness is physically never at 1.0 or 0.0, … and that leads us to the next point:

I don’t recommend just copying a material from somewhere else. I recommend learning the basics of PBR rendering/materials and always learn the basics of materials you copy! Materials aren’t that hard if you take your time and learn them, and of course it’s also fine to copy a material as is, but you wouldn’t learn a thing if you just copy and paste.

For the original problem, it looks like the normal map is wrong. I suggest following the advise of herb64 and disconnect it to see if that’s causing the issue. Common mistakes with normal maps are, flipped green channel, but in this case it might even be a completely bad normal map.

If your normal map is the problem, make sure that it’s stored as a normal map in Unreal and the sampler (the node in the material graph) reflects that.

OMFG… Of course yes, but read you first ¬¬

PBR Guide 01.pdf (6.3 MB)

And this one is for free @sirjofri
Efficient_Rendering_of_Human_Skin.pdf (6.2 MB)

Don’t teach bad practices, this is not the way… plz

Those are the basics, to be honest. Human Skin is a quite complex topic, but if you’re doing something stylized stuff you can do it differently.

What’s bad when using values instead of textures? You often don’t need a texture if you’re working in the distance and/or approximate values are fine.

You basically always want texture data for color, roughness, metallic.

Ok I need some time to answer you properly

1 Like

Thank You for the pdfs, those are really informative.

I’m also not sure why you are not ok on using direct floats values in a pbr material.

Yes, ideally you would have a texture, for the best looks. But in the end, the material is sampling the float value for each UV pixel (or whatever is called) from the input texture. If you just give the material a float number, is like giving it a flat shade of grey texture.

As long as you don’t go crazy and use unrealistic values, if realism is what you are looking for, it should be ok in using a default value.

if you wanted to say that is best to have a texture over color if you want to have good looks then you are right. But sometimes you may want to cut on performance cost, and I think if you manage to avoid loading a texture in memory and the sampling step that could be important for this goal.

1 Like

Ok this is material using values, not bad, isn’t it?

Well! we can Improve it like:

Or even better, to use the right textures and the material from the marketplace…

Because I’m totally sure, I’ll never be able to do this…

Yes I do agree to learn basics, but I don’t agree about wasting time, it’s precious…
To learn and understand all of this is a job itself…

What do you think @sirjofri ?

Well just because is not difficult at all just to make the rest of the textures!
Using unreal material nodes as desaturation, 1-x, multiply…
Or even in the texture:

So unless we are trying to make a perfect mirror without scratches and fingerprints (for example)…there is a huge difference…,. and we are talking about 2 min

there’s a good reason to use the proper shading model and textures, it’s just sometimes not worth it. And if you know that some value is always the same (or just a fixed value over all pixels) you end up having a single grayscale texture channel you could perfectly use for something that’s really worth having as a texture channel (e.g. I prefer having a roughness in texture instead of specular, if I really need to decide. Specular can often just be a single static value, having the default value is good enough in most cases).

The graph you posted looks reasonable to me. You probably don’t want to reinvent the wheel here, but understand what’s happening in general (e.g. what SSS does and where it comes from etc). Of course it’s fine to use an existing material as is, but for simple stuff it’s often easier to just build it yourself (e.g. simple environment assets with only slight texture adjustments and some detail texturing. This can be like, 15-20 nodes in total).

and a person who apparently doesn’t even know the very basics of Materials and PBR, I highly recommend learning the basics instead of just using a solution as is. The document you linked is surely a good read for beginners.

1 Like

That’s good (although not 100% accurate, technically).

What’s still missing is the basics of shader programming. Many beginners don’t understand that textures are values and a sampler samples (basically) one pixel of the texture based on a position input (usually derived from the UV layout). Many just believe that the “texture is applied”, although I technically feed values from textures (“LUT”) into parameters of a shader (or the processing/rendering pipeline).

Beginners should have a basic understanding of that to understand that they can also just adjust these values (e.g. using lerp, multiply, power, …).

Ok I’m totally lost in translation and not sure what we are discussing, according the manual:

"The metal/roughness workflow is defined through a set of channels, which are fed to a sampler in the PBR shader as textures. The maps specific to the metal/roughness workflow are base color, metallic and roughness


About to learn basics is mandatory

But the most important is to understand first what we want to do and how it works: plastic is plastic, metal is metal…

While I normally agree that you should figure everything out to master your skills, today’s hyperrealism is going to cost you a month to do a hyperrealistic boot, not even talking about character skin. for hyperrealism I’d just go with existing material libraries and paint them using Quixel. Makes a 300 hour job a 2 hour one.

1 Like