Blood Rain or Acid Rain -- Can this be a thing?

Greetings Vault Community, I had a question regarding weather visual fx. Since it is possible to have light rain and heavy rain (and snow flurries and snow), is there a way to make the droplets red to simulate a blood rain, as if one were on the plains of Avernus, or to turn the droplets green, to simulate an acidic rain?

It seems like a simple thing, but I haven’t been able to find any documentation on it.

The nearest I could find was the visual effect for Storm of Vengeance (acid) and Hellfire Storm (fire) (PRC versions in CEP).

Perhaps you could change the rain to red or green if it were module-wide, but I don’t know which model is used.

Yes. There are two solutions:

  • straightforward, but module-global
  • challenging, but with full customization

There may be more, but this is what I have.

Rain

To simply affect the rain everywhere in the module, the texture file you’re looking for is fxpa_rain01. It is referenced by fx_rain.mdl.

Red rain:


Looks like crap in the desert, but maybe you can pull something better with good area ambiance setup.

Snow

For snow you have fxpa_fig8.tga and fx_snow.mdl There is also an (unused?) snowflake texture (fxpa_flake) which you can use to enhance the default snow effect (even with rotation, which I didn’t use):


Seems like the game is by default raising the snow particle brightness a lot. This should be fixable in the model / texture.

Effect

@Proleric suggests a good way to go. WIth a bit of work, it allows you to create any rain you want.

Here’s the whole workflow:

  1. Create your own entry in vfx_persistent.2da, give it a unique label (can be used to find it later).
  2. Make sure radius is large (say 100) so the effect will appear everywhere in the area.
  3. Make your own model or extract & copy vps_storm.mdl to my_rain.mdl, which is an AOE VFX closest to an actual rain and therefore should easiest to customize.
  4. Use my_rain in MODEL01, MODEL02, MODEL03 columns of the 2da.
  5. Edit my_rain.mdl and change the referenced fxpa_rain01 texture (yes, storm of vengeance uses the same texture as rain, just without stretching) to anything you wish (or play with colorStart / colorEnd options to reach a red/green/whatever color).
  6. Play with the model to control the rain intensity, etc, etc.
  7. Destroy the AOE to stop the rain.
  8. Profit:


The weird rectangles are me playing with fxpa_rip (“splash”) texture. If modified well it could be used to enhance the rain effect even more.

3 Likes

Ah, how interesting. I’m definitely interested in only doing it in an area or two, not module wide.
Normal folks should still get normal rain after all. ButI think I might be able to pull this off thanks to your workflow chart above, NWShacker, thank you. I"ll report my progress after my PC gets back from the shop this week

Cheers!

Good luck. Although after I made that post (which took some time), I got intrigued even more and so I tried to actually emulate the built-in rain.

Here’s my attempt:
rain_nwsh

While it has a bit worse performance than the actual rain (it has to), it doesn’t feel like droplets are moving with you anymore. And you can control all of its aspects. Not bad, huh?

Here's a blood rain animation - just a texture switch.

rain_nwsh_red

Remarks to that algorithm:

  • Instead of that 1 big circle AOE, I placed a 5x5 square AOEs on a uniform grid on the map (1 per tile), each a with single spawner (NUMACT*) and no sound. This yields much better visuals (rain everywhere with same intensity) with comparable performance.
  • I emulated the rain fx with storm of vengeance fx. They don’t match 1:1 - some things work, some need tweaking. You will need render Aligned_to_Particle_Dir but keep velocity 30 in the model.
  • I used 4 particle emitters in the model to rotate the textures at 0, 45, -45 and 90 degrees around Z axis (with mandatory twosidedtex 1) to make the rain visible from every angle.
  • Sound is provided by a sound object in the area.

Here’s what happens when you spawn too many particles:

I used 10 / emitter in previous gifs - here you see 100. 20 should be max.

One last thing: the splash emitters on ground (from SoV VFX) had to go - they looked terrible and easily gave away the rain illusion.

These are some great ideas. My toolset pc should be up and running by week’s end so I can attempt to have a go at this. Thank you.