How do you keep original material colors/saturation/brightness?


I’m trying to create something cartoony in UE4 so I’m conducting a few experiments.

I understand the defaults of the engine tries to make things realistic, so the colors you submit to the engine will look different at the end.
However, I want the opposite right now.

For example, I want a material that will always be R:0.966 G:0.782 B:0.56. I set the material to unlit and in post processing settings, I made the min brightness and max brightness the same value. However, when I start eyedropping the colors, I end up with different saturation/hue/value levels.

I know this sounds like a strange request, but I do plan on lighting the scene. I just want to maintain constant values first.

Also, bonus question. Is there a way to assign shadow color in Unreal Engine 4? I know you can do this in 3DS Max. I tried skylighting but it changes every shadow color in the scene.

Recently I have come across similar problem with dark wood texture.
The texture looks different between Photoshop and game.
What I did is reduced specular to 0.05 and now it looks so close to the original.
0.05 could be a little bit extreme value but try something 0.2 or 0.1.

Waht happens if you dont use any lightsources and plug your textures into the emissive channel?

Here’s the reference color plus shadow color (i.e, what I’m desiring).

I removed all the lighting and tried plugging into emissive.

Still different values.
I also removed AO, which helps removes the dark spots, but it’s still not enough.

On the second screenshot, that should be what you asked for.

Looking at the first one, I take it, that you do want some shadowing, thus variation in the material color…
Of course then you have to use some form of lighting.
If you set the shadow color of the lightsource to match the lightcolor and use a neutral gray/white, the image should look more uniform, but shaded.
However, the shadows might still have penumbras, depending on your lightsources.

The actual look of the values are being distorted which is what I’m trying to avoid.

I tried caner_ozdemir’s method, it works but only in unlit mode. When I tried to light it, it messes up the values.

I could light the scene in 3DS Max with just a simple omni light and diffuse texture, and Max keeps the original values close. This is what I want.

There are various post effects influencing the final color. I would recommend starting by switching you project target hardware setting to the mobile/scalable options. (Even if you intent to work on a desktop)

This way you loose almost all, in your case unneeded, post processing and you can selectively toggle on the few effect you do want back on. An added benefit of this approach is that you’ll probably save quite a bit of performance as you don’t need some of the more expensive effects anyway if you intent to go for a stylized game.

If this still doesn’t solve it you’re probably not handling gamma correctly somewhere in your workflow.

sounds quite a bit like that.

Omg, it’s the evil tonemapper that’s causing this.

No wonder I could never get my skies looking nice even when I had a photo sitting right next to me. The tonemapper ruined it all. :mad:

While I now know the root of the problem, is there actually a way to disable it in-game?

Disabling in showflags only works for the engine viewport, and not when you go into game mode. I also switched to mobile but it’s still using it for in game.

Edit: Here’s proof of the Tonemapper’s doing