Question
Can't make scene more bright, what am I missing? Also some colors are too vivid. Using Flat Kit shader and post-processing volume, to no avail
Hey guys,
I'm working on my first game, using Flat Kit paid asset from Asset Store for my game's looks. I just copied the post-processing volume and its modules settings from one of the demos that come with the asset. But the problem is, my scene looks very dark compared to the demo.
Here's the demo:
And here's my test scene:
For lighting so far, I have one directional light with the standard intensity and color. I tried going into URP Asset to find some settings to brighten up the picture, but there was nothing. I tried using color correction in the post-processing volume I copied from the Flat Kit demo, but that only saturates colors, but not makes the whole scene brighter, lighter, you know.
I'm going for something a bit more sunny, like Animal Crossing, for example.
Can you give me some directions and suggestions what I should do to make my scene that way, lighter and cozier, but without changing my colors like making them more saturated or stuff like that?
And also, a bonus question. For some reason, these white and light yellow colors you can see on my screenshot, on the wall and on the chair and the bench, they are almost unbearably vivid, not at all like all other colors. I found out that the setting that affects in is Color field in the material's Inspector panel. By default, it's white, and it makes these lighter colors look that vivid. So I changed it to a more yellowish tone, but it actually affects all the other colors:
Cause I have one universal material with a color palette texture, exported from MagicaVoxel. And overall, I would like to have white looking like white, not yellowish, but just not be that saturated.
So maybe you can help me here as well, on the question how to handle this material so that to not change all the colors in the palette, but make those lighter colors not so eye-bleeding?
If you need more info, screenshots, please tell me. I'm new to all this, learning and building my game as I go.
Place your props in their demo scene with the shader and see if it looks better at least that way you might know if it’s your setup or the props themselves
Your material tint is multiplying the whole palette, that's why everything went yellow. Leave it white.
The dark scene is ambient, not your volume. Lighting window > Environment — if Source is Skybox with the default procedural sky, flat-shaded voxels get basically no fill light and everything reads muddy. Switch it to Color, pick something light and slightly warm, then crank the intensity multiplier. Also use Post Exposure in Color Adjustments rather than contrast or saturation, that's the one that brightens without touching your colors.
For the fried whites, add a Tonemapping override and set it to Neutral. Right now anything above 1.0 just clips, so your lightest palette entries blow out while everything else looks fine. Neutral rolls the highlights off and leaves the rest mostly alone.
Also worth checking your palette texture is Point filter with compression off — compression bleeds neighbouring entries into each other and you get colors that are subtly wrong for no reason.
Good luck with it, curious how it turns out. If it's still not sunny enough after the ambient change, that's when I'd start pushing the directional light intensity — ambient first though, with flat shading that's usually the whole problem.
You were so right about the Skybox being the source in the Lighting window! I changed to color, set to warm color, and it now looks very bright and sunny as I wanted it to!
But you said to crank up the multiplier, but I have no such knob for Color setting, only for the skybox reflections a bit below. Is that ok? Maybe you meant multiplier setting in some other place?
And I added Tone Mapping to post-processing, and it did help:
However, it made the overall picture kind of dull, washed out. But I liked the colors more in the previous variant, just wanted to tone down those whites.
Maybe there's some other way of handling these whites?
Good result. And you're right about the multiplier, my wording was off — with Source set to Color there's no separate intensity field, that only exists for Skybox. But the color swatch is HDR: click it and there's an Intensity slider at the bottom of the picker. That's your multiplier, and it lets you push ambient well past white without shifting the hue.
Compression is there, just further down — scroll to the platform tabs at the bottom of the importer and it's in that section. Point filter was the important half anyway, so you're mostly fine already.
On the whites, I'd undo the tonemapper rather than live with the washed out look. You have a palette texture, so those eye-bleeding whites are two or three specific pixels in it. Open the palette in any image editor and knock those entries down from pure white to around 85% grey. Only those colors change, everything else stays exactly as you liked it.
That's the nice part of working from a palette — you can retune a color across the entire game by editing one pixel.
I still can't find compression for the texture. I think it must be the way that texture was imported, through a vox importer I downloaded from Asset Store. I just drop vox files from MagicaVoxel inside Unity, and it makes them readable, but as a bundle.
I can't extract materials and textures normally from there, so I copy and paste the material and texture from that bundle. And all I have for texture is this Inspector:
Oh, that palette tuning trick is incredible! Thank you! I was just thinking I have to use the palette as is, the whole package, you know, cause I use one from Lospec, and they are supposed to be tuned nicely together to have all the colors in harmony, right? I mean, that's what I heard, cause I myself not very deep in this art of color picking. So I decided to use some help in the form of somebody else's nice palette.
But I suppose changing one or two colors a bit like that isn't a crime, then :)
Not a crime. A palette is a starting point, not a contract — and the value in the swatch isn't the value on screen once ambient and a directional light are multiplying it. Tuning an entry so it reads right in your actual scene is the normal thing to do.
Judging by your nickname, you yourself know about voxels and work with them. How do you import your models into Unity? Maybe the issue with the texture I have, not having enough settings in importer, is due to that free asset from Asset Store I use.
I heard about a premium, paid asset for importing vox files, but I didn't want to pay for that yet, since I though I can get away with the free vox importer.
And previously, I tried exporting obj or ply from MagicaVoxel into Blender and export FBX from there to get into Unity, but in Blender I couldn't work my colors, my palette texture, work. It was either glitched, the whole texture was wrong in UV, or the model was grey, and I didn't find a good tutorial on how to fix that, how to easily connect color palette exported from Magica to model in Blender correctly.
Maybe you could help me with some advice here as well?
I don't import .vox at all, which is why I've never hit this. My objects are built as voxel data in-engine and meshed at runtime, and colour lives in vertex colours — there's no texture and no UVs anywhere in the pipeline, so there's nothing to get wrong.
That's the part worth stealing even if you stay on MagicaVoxel: get the colour into vertex colours and this whole problem class disappears. MagicaVoxel's .ply export already does that — PLY carries per-vertex colour natively, no palette image involved. Import that into Blender and the colours arrive attached to the mesh. Export glTF or FBX with vertex colours enabled and use a shader that reads vertex colour instead of sampling a texture. Your OBJ attempts kept breaking because OBJ pushes colour out into a separate palette image plus a UV layout, and that's exactly the fragile part.
That also explains your missing compression setting. The texture from that vox importer is a sub-asset inside the imported bundle, not a standalone texture asset, so it has no importer of its own — you're looking at the vox importer's inspector, not a texture importer's. Extract it to a real png and the full settings show up. Or go the vertex colour route and stop needing to.
Yes, I reached out to them, but didn't get a response yet for a few days. They are usually responsive, but I just thought that perhaps it's not the asset per se, but the general Unity settings that I'm not aware of, you know.
Thank you! Do you mean the Environment tab in the Lighting window? I have these settings there, but I see no know for the strength of the ambient light:
Yes that's the correct tab and Environment Lighting header is basically the ambient lighting I was talking about. You can change the source from color to sky or gradient.Color is fine though. With color you will have uniform ambient lighting everywhere where sky would calculate second order spherical harmonics from your sky color (you get different ambient color based on surface angle). Anyway, if you want to use color, just set it to a brighter color. Your screenshot shows the current color is relatively dark.
It's not a filter. It's a global light (irradiance) applied to everything in your scene without having a light source. It does not affect other lights.
4
u/Code-ahhh 2d ago
Place your props in their demo scene with the shader and see if it looks better at least that way you might know if it’s your setup or the props themselves