Rain City

Motivation:

When planning my portfolio, I decided early on to create a environmental VFX. I have a strong interest in digital art, and wanted to recreate the feeling and mood from some of my favorite pieces of concept art. Rain also became a great option since I had a general idea of how it could be made, while also allowing implementation of other things that I wanted to try, such as painterly fog and shaders.
Vision:
The final idea became a rainy city based on this environment art from “Vampire The Masquerade – Bloodlines 2″, I loved the grandiose buildings and how the fog picked up different lights creating a gradient. This piece did not directly contain rain, but the wet concrete and humid atmosphere made the feeling quite similar to rain.

Environment art from Vampire The Masquerade - Bloodlines 2

Creation Process

Environment by Shua Llorente - bought on FAB

Environment:

Since i wanted to replicate the feeling from my reference, I had to find a similar environment to work from. I looked around on FAB to get a scene that i could open and work on directly in Unreal Engine, and found this environment by Suha Llorente. 
Unfortunately this environment was set during daytime so I had to change the lighting to fit my reference. To do this I reduced all main lights and made new ones that lit the buildings from below. The lights were then baked to improve performance since they wouldn’t move either way.
A difficulty in recreating the lighting conditions from the reference was the bright gradient from the alleyways onto the buildings. If i replicated this directly I would get light that were to bright on the bottom and hence blind the player. Instead I reduced the strength of the lights, and placed them to start from the second floor since this would let the player see more clearly.

The environment was worked on during the entire project and didn’t look quite like this until the end

Creating the rain

Particles:

When making the rain I wanted to have the ability to look upwards and see the heavy downpour, because of this I used particles that would spawn above the players location  in a confined area. This allowed me to add more particles upwards which improved this effect

Raindrops:

The raindrops were made out of a half moon shape with emissive output to simulate a reflection. This helped me show the particles against dark backgrounds where screen spaced refraction would not be enough to make them pop.

Impact:

To make the impact effect I used 2 textures, one for the vertical and one for the horizontal part of the splash. The particles were spawned by a invisible emitter that placed them close to the player on non occluded surfaces

Materials:

To simulate wet surfaces I reduced the materials roughness and reduced the normal textures intensity. I also added ripples by modifying the normals with a texture. These effects were faded as the faces turned downwards.

Struggle with rain:

At this stage I felt like the rain didn’t appear as round as I wanted when looking up. Because of this I made the particles longer as they approached the ground, In theory this would have made the particles shorter when looking up, and longer when looking towards the side. But it didn’t quite give the feeling I was looking for

Making a hazy fog

Finding a method:

When starting work on the fog I tried and theorized about multiple methods for achieving the effect. Maybe I could use fog particles, maybe a post process material simulating fog, but in the end I decided on manually placed planes since I wanted more manual control over its location.
 

Blur:

The fog was meant to be quite thick so objects behind it would loose their shape and get softened, to do this I used a blur. The blur I landed on after some testing was this blur by @Ekalyks that used spiral sampling with blue noise to offset the distance and reduce artifacts.

No fog

Planes with blur by @Ekalys

Texture and movement:

To make the fog move I layered 3D textures in different scales and moved them by a direction in world space with time. To make the fog heavier on the bottom I faded the opacity with the height of the fog.

Increased fog opacity + no rain

Takeaways

Conclusion:

From this project I’ve gained a lot of knowledge in Unreal Engines materials and how to utilize them when creating VFX from references and ideas. I’ve also come to better understand when to use planes, particles, and post process, and the limitations or potential in each.

Result:

In the end I’m happy with what I’ve achieved, I think I’ve replicated what the reference showed well, both though mood and style. I can envision myself standing there on the street after a long day of work, taking in the calmness and longing to get home.

If i had more time:

As much as I like what I achieved, I still think I could have taken this project further. For example I could have made the rain heavier by adding dripping water from the top of plants and  buildings, by making the water splashes more explosive, and by decreasing the sight of the player. This in addition to more dynamically controlled rain, could have given me more power to do storytelling, and let me show what it truly feels like once the raining ends.