One of the missing things in UT was good, working, fixed, online ready snow and rain. I looked at all the released weather mods and all of them had some sort of issue(s). Some looked great but didn't work online. Some worked online but were made in a way that wasted resources and the longer they ran the more it impacted the server. I wanted effects that could be specifically placed (not zone weather) that looked right but also was coded correctly. Well, here you go: To use just open the mod in editor and place the SnowActor or RainActor wherever you want the weather effect. Once placed you'll see configurations that will allow you to tweak to your desired level. The actors can be map placed like normal but they are also capable of being tied to something that moves. I fully plan on using these with my Ice and Nature Dragons to give a roaming weather effect that moves along with the monsters as they do their thing.
(Developer talk from here on. If you are a mapper you can skip it)
The source code is included, please feel free to recycle as you wish. A VERY large part of this was done by MasterKent at OU because I was having serious problems getting the particles to recycle properly. A key (but missing) thing for weather is to properly recycle your snow flakes or rain drops. If you don't it becomes a hit to the server over time as all those actors are destroyed without a proper garbage collection (more on that in another post). These new weather emitters are done so that the server gets as minimum a hit as possible, considering you are spawning a couple hundred actors in a very short time. I'm interested in testing this further online, I want to see how dense the storms can be before the server starts to show strain from it. The mod is defaulted to an area of 512uu and 150 drops. This gives a solid effect of precipitation without trying to do too much.
Anyways I hope you guys get good use from these. There's a lot of work in there trying to get them right and I'm really proud they are correct. If you do use these please credit MasterKent in your code. He's a fantastic dude and deserves recognition. I don't care about my work, I'll know it when I see it
You could maybe use this code and trace upwards to find the "roof" and spawn it where desired. It wouldn't be hard to side trace once it found a spot and then let it self-configure given the amount of "sky" it had to work with. That's all kinda hacky though. You need a per-zone effect really.
- Posts: 3256
- Joined: Thu Aug 04, 2011 9:26 pm
- Personal rank: Chaos Evangelist
- Location: Kernow, UK
Will these also work in Unreal ?
- Is there a recommended maximum for MaxDrops? Can one have a dense blizzard, for example?
- really dumb here, not sure what the Height property refers to? Not the height of the actor in the map obviously - in the map the snow falls from where the actor is placed and the Height property is set at the default 0.
Tried out the RainActor in another map but it didn't work, probably due to the map so will give it a go in this map.
- Posts: 2355
- Joined: Wed Feb 01, 2012 11:26 am
- Personal rank: GEx the Gecko
- Location: Kaunas, Lithuania
Anyways. Really looking forward to trying these out. Big succer for properly done weather effects, and the MansionOfChaos ones were top notch. Well done!
i threw the rain and snow on a map i tossed together years ago just to see how it all worked and it looks awesome falling in. just one thing, as you can see in the attached image i have a ring of water surrounding the udamage. as the rain drops hit solid surfaces they form splashes, but as they hit the water there is no effect. if anything in this instance i'd like to have the opposite happen, where there are splashes on the water, and no splashes / less pronounced splashes on the solid spots. naturally the same thing happens with the snow, which at least makes sense in a situation like this since snow melts into water without a splash while slowly melting into ground.
I am just a simple lurker who by no means is an expert on mapping or coding, so i don't know if this has anything to do with zoning or not, but I thought it would be a good thing to bring up if you're still interested in improving this effect and adding additional options.
If you are a mapper and you want to use these and you are in some situation like this *please* don't hesitate to drop me an email. I'd be happy to customize the rain/snow so it works like you need it to in your specific map. If I were going to fix dark's map I'd add a check for that particular sheet and spawn proper effects if it is hit. That's very easy to do, it's just that you almost have to deal with this on a case-by-case basis.
Edit: damn that got me thinking..having rain spawn a puff of steam when it hits lava would be a very cool effect. I'll have to think about this and maybe figure some way to make it configurable.
It won't be definitive as you mentioned, since one could use a normal or even custom ZoneInfo to replicate what the water and lava zones do, but it's generally not the case so it should work in 98% of the cases.
And then, instead of spawning whichever effect on the current location of the particle, you can spawn it at its OldLocation (the location in the previous tick).
This will be tick dependent though, depending on the tick rate (frame rate of the client to be more exact) and the speed of the particle itself, and its offset from the sheet in the previous tick, this location might be noticeably higher than where the sheet resides for some particles.
But there is a fairly fast way to detect where the sheet is exactly with whichever precision you need, up to the point you could spawn a ripple right on top of the sheet, but this would be only something to look into if the tick rate and particle speed actually become a noticeable problem in the first place.