Take control of any one of "The Chosen" -- four extraordinary characters who inhabit a dark near-future world reminiscent of Blade Runner and The Crow. Become Caleb, the vicious protagonist from the original Blood, his cold-blooded love Ophelia, the ruthless Ishmael, or the unrelenting warrior Gabriela. Blood 2’s weapons let you kill and be killed in more ways than any other 3D action game. Burn, electrocute, shoot, stab, voodoo, blow up, slowly dismember, or flay the skin from your opposition, and expect the same treatment right back!

How to create rain in your map to make your world feel more realistic

Posted by on - Intermediate Mapping/Technical

Tutorial originally posted on Fileplanet. Mirrored here for archival purposes. Originally written by Peewee_RotA


Rain

Rain is a volume brush which is a concept all its own. In Dedit 1.00 in the blood 2 tool kit they left the rain object outside of its Volume Brush tree for some reason so it just sits out on its own.

Supposedly you can bind the rain class to a brush however I find it easier to just create the rain object and set dims. So here's how.

Set your green creation point by selecting a view window and holding in x. It's more exact to use either the top, back or side view panes however it's usually quicker to just estimate using the 3d view. Remember for later that the green creation point is going to be the center of the volume.

When your green creation point is where you want it, right click one of the view panes and press "add object." Scroll down to rain and press OK.

Now a new node will apear in the node tab labled "Rain". Select it and click the properties tab. The major properties to look for are: Dims, Lifetime, AddGravity, ParticleScale, Spread, Density, Triggerd, Time Limit, and pulse.

Dims is a vector describing the width in each direction. Rain will always be a rectangular prism like the trigger object when you set it with the Dims property. The boxes of this vector are not labled but are in the order x, y and z. When any of these values are set Dedit adds that number of units in both directions along that axis. Basically if you set 32 in all 3 values you will have a box that is 64x64x64 units, which is 32 units in every direction away from the center. Also keep in mind that if you copy and past a rain or other similar objects with a dims property, the center will be placed on the green creation point intead of the top left corner like with brushes and prefabs.

Lifetime refers to how long it takes for each rain particle to reach its destination. A long lifetime causes rain to fall slowly. A short Lifetime causes some really gitchy effects. All in all, all movies on Lifetime suck.

AddGravity is a boolean value, meaning it can only be set to true and false. This generally should be set to true because it's very difficult to get rain in Blood 2 to do anything but travel downwards according to gravity.

ParticleScale is the size of the particle of rain. In Blood 2 rain is just a circular particle that gradiants between 1 color an another. Setting ParticleScale to 1 is the normal size of the rain particles however it is very small and hard to see even from roughly 10 "feet" away. I use 1.5 but this is up to you. You can do some interesting things with high particle scales of 100 or more, but to make it look like rain or snow you're almost always going to set this property between .5 and 2.

Spread and Density are the 2 main properties that really add the affects you're looking for. Density is basically how many particles you're going have at a given time. Spread the distance between these spawned particles. You're generally going to want a high density even close to 100 but it depends on the size of your Rain object. A small 32x32x32 dims with 100 particles is going to be pretty cramped. A large dims of 128x128x128 with only 100 particles is going to be rather bare looking. Spread also makes a big difference but doesn't really rely on box size. A low spread will look more like a swarm of flies and dramtically high spreads can make good rain effects even better. A spread of 15 with 100 patricles may look good on a 64x64x64 dims rain object but a spread of 100 with 100 particles in the same sized rain object looks even better. But play between the 2 properties until you're happy.

Timelimit is how long the rain is going to spawn new particles. If you set Timelimit to 5 it will rain for 5 seconds and quit. If you leave Timelimit at 0 it will rain forever. Chances are that if your rain is "not working" then you need to check on your time limit and should probably consider turning it to 0.

Triggered is also a boolean and if it is set to true it won't start raining until a trigger message is sent to the rain objects name. Find a tutorial on triggers to learn more about how to trigger events. Honestly I can see how triggering rain with a short lifetime could be usefull for some kind of sprinkler systems or door in the ceiling in a map where it's supposed to be raining outside and say the door only stays open for 3 seconds so the rain would only fall for 3 seconds until the door is closed.

Pulse is a very weird one but could be usefull in some kind of pumping station. The Pulse property kind of changes the way the rest are implemented. It causes the number of particles specified in the density field to all burst out at once until the Lifetime count has been reached. At that time the rain waits the amount of time that you set in the pulse property before shooting the particles out again. The particles seem to fly outside of the dims that you set and the spread property starts acting weird. Really you'll have to play with this property but it seems to me that anything pulse can do would be more easily implemented using the triggered property and a trigger.

Well that's the basics of rain. Trust me, it takes less time to read this lengthy tutorial than just fiddling with the rain object. Have fun and don't forget to put in some custom colors for your rain. Blood 2 loves to show the default as light blue but make the rain colors blood red just for the heck of it.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: