Blend between two matinees?

I’m using matinee to control my day/night cycle. I’d like to create separate matinees for day/night cycles of different weather types (so a cloudy/rainy day).

Does anyone know if this is possible?

Is there a reason why you can’t just have two separate matinees running at the same time? One matinee for time of day and a separate matinee for weather. Why would you need to blend them? Maybe if, say you have brightly lit snowflakes falling during the day, and darker snowflakes falling at night, then you could do that by making the day/night matinee change the material instance that the weather matinee uses.

@Nathaniel3W Because how would I fade in a rain storm at any given time of the day? The only controls I have with matinee seem to be start, stop, etc. So it would go from sunny to instantly grey and rainy.

Also I feel that a type of weather really does affect everything apart from the rotation of the sun.

I know I could setup my own interpolations via script, but it would be much cleaner to be able to use matinee.

OK, so time-of-day matinee controls brightness of the sun. And you also want weather to affect brightness of the sun?

Assuming your sunlight is a dynamic movable light, you could give it a light function. The light function could be a material that has a time-of-day section and a weather section. When you want a rainstorm to start, start the rainstorm matinee, and have it fade in the material instance weather variables. When you want the rainstorm to stop, reverse the matinee, which should fade out the material instance weather variables.

Hmmm I think the trouble i have is that my day/night cycle has many params that are included in the matinee:

These are all finely tuned for the course of the day/night. I feel like what I really need is simply a way to override the values the matinee is controlling via script.

I’ve just tested out overriding one of the values and setting it every Tick(), and it seems to have no affect. Do you know if the matinee ticks after US?

OK, I think I finally understand what you meant. You’d have one of those set up for clear skies, and another for rain, and you’d like to lerp from one to the other.

Sorry @Coldscooter I don’t think there’s any way to do that. And I don’t know about using UScript to override Matinee stuff at runtime. If all of those SkyChange tracks control material instance parameters, you can copy all of them and make rainy versions for each: RainyHorizonColor, RainyRimColor, etc. Copy/paste the entire material, and change the parameter names to RainyHorizonColor, RainyRimColor. And then you can lerp between them with a Rain parameter, controlled by the rain matinee.

If that doesn’t work for you, I would next consider loading and unloading a rainy level over the rest of the world. Give it a cloud mesh and a sky sphere that’s smaller than the regular sky sphere so that the rainy meshes block out the sky. Gradually increase the opacity until you can only see the rainy versions. And make a post-process color-grading LUT that desaturates, reduces contrast, shifts towards blue, and darkens.

@ Yes pretty sure I also experienced this bug. I had to move the DDL interpolation into US due to big drops in fps.

I’m considering moving the various matinee tracks I was to blend between for weather transitions into US also so I can fully control weather fronts moving in and out.

Yes, I moved to uscript for the day/night cycle time ago. I don’t use matinee for that (for nothing, really). The updatecomponent of lights, fog, etc… takes too much time, so I update the dominant light rotation every tick, but the components are updated once per minute, at diferent times to produce less hitching as possible.

You can make transitions to a cloudy day easily, changing the sky texture, and using multipliers for the lights. The transition may produce framedrop because needs to be updated more frecuently, so you can try to update one thing per tick, for example first the light dominant, the next tick the skylight, the next the fog, etc. I haven’t a better solution for that.