RustyMods / Seasonality

Valheim plugin to manipulate prefab material textures and colors in order to achieve a seasonal experience.
12 stars 4 forks source link

Luminance restoration using HSL color scheme #4

Open shudnal opened 12 months ago

shudnal commented 12 months ago

Hi! You mentioned applying season color darkening the object texture. I think it could be avoided by operating luminance component in HSL scheme. You can try to use HSLColor.cs) to get object luminance before manipulation, apply new color and then restore the luminance level. That should not change the hue. Right now the performance hit is immense. Especially I use RenderLimits to see more trees and it's a pain. The mod's idea is just brilliant. I want to use it and I'll try to help you with when I get some free time.

RustyMods commented 12 months ago

I'm glad you mentioned this. Currently just finished major upgrade to improve performance. Now I can get back to improving visuals. In the pipeline is color manipulation. Whenever you get free time. Let's find a moment and discuss. Happy to pick your brain

RustyMods commented 12 months ago

2.0.0 completely rewrites logic on texture and color replacements to improve performance. Let me know how it feels on your end

shudnal commented 11 months ago

Performance has definitely gotten a lot better. I have noticed something related to color manipulation. I use my GammaOfNightLights to darken nights. And right now the clutter is brighter than it should. Terrain and vegetations is ok but the grass.

Also when you pause the game the timer still goes. And I use MinimalStatusEffects and the number are not near the Season buff.

I think it's more convenient and logical to base season change on the worlds days counter. With changeable setting how many days on season. That way it's also gonna be easy to lerp seasons.

I need to finish my current work on the mod to start contributing.

RustyMods commented 11 months ago

I had the timer based on in-game time during v1.x.x but it wasn't working as well as I liked. Hence why I switch over to using real-time. Happy to try out another method cause I'm still unhappy with it.

I also, can't be bothered anymore to work with randyknapp / Vapoks mods any longer. I've spent hours if not days trying to make my mods compatible with theirs, only to be met with little help from their part.

Anytime I had code to help adjust my mod to work with theirs, It makes my default mod not work so I'm forced to add extra logic to make sure my players who don't use their mods aren't annoyed by the weirdness brought upon them by my attempt to work around randy's mods.

To be honest, I'm about 10 cm away from adding incompatibility flag for all their mods

Also this, things is brighter than it should is not wording that I want to hear. This is by design, this is my design, If you don't like the brightness, I make the mod completely customizable by letting users add their own textures.

Sorry if this sounds defensive, but randy's mods are triggering me at this point

shudnal commented 11 months ago

I think you should add straight incompatibility with AUGA as I usually did when met difficulties or any major incompatibilities. Full rehaul is always a time consuming and likely to no compatible with many other mods. Lots of work to be wasted in the end. Valheim+ is another example. It's easier to avoid mods like this.

For buff timer position I think there should be more elegant implementation. I will have a look.

And for brightness I just noticed this without any offense. You just assign color no matter what. I think it could be nice if you was lerping colors while saving current color luminance and using some random t value which may depend on current season overlapping value to get better season transition effect. It looks like immersive feature.

shudnal commented 11 months ago

Also insted of randomly assigning color to objects I think colors could be applied based on procedurally generated perlin noise calculated of an object transform position. That way we could have clustered same colored areas and the object color would be the same on every other machine. It's wild idea though 😆

RustyMods commented 11 months ago

That's a fun idea. I feel though it's prettier without clusters. But happy to try