Gart230 Blog- Week ten, Visual effects- caustics and water 

This week has definitely been a bit of a rollercoaster, a lot of the things I had intended to do this week ended up completely failing however I managed to find work arounds for most of the issues and have achieved a similar result to the one I had initially intended so all in all the week has been pretty successful. I started off the week trying to find a way of including water with real-time ray traced caustic effects as one of the main reasons I choose this environment specifically was its incredibly pretty water effects, unfortunately I found very little information on ray traced water specifically as it is a relatively new edition to unreal engine having only been around for just over a year in a somewhat stable form. The most helpful resource I found on the matter was on NVIDIA’s website (Generating Ray-Traced Caustic Effects in Unreal Engine 4, Part 2 | NVIDIA Developer Blog) I tried my best to follow the instructions given but quickly found out that many of the features that I needed to enable were not available in the university standard version of unreal engine and thus I was unable to use. Undeterred I decided to take a look at the NVIDIA developers caustics demo repository ((NvRTX/UnrealEngine at NvRTX_Caustics (github.com) (please note you wont be able to access this repo unless you have requested access from epic))

In order to try and understand how they had made the caustics work so I could try and emulate it to a more basic degree in my project… this was a massive overestimation of my skills in unreal engine. I quickly realised that I was in way over my head and even when I tried migrating aspects of the demo across into my project to test I ended up causing more problems than I was solving. At this point most of the week had been lost to trying to solve this issue so I decided enough was enough and conceded that real-time caustics were a little too advanced for my current skillset and instead set about creating work arounds to fake the caustic effects, I adapted the base water texture present in unreal engine to make it transparent and to tone down the wave effects to a more reasonable level for a spa environment. I then initially started working on underwater caustics but quickly realised that due to the real-time refraction of raytracing the bottom of the pool was rarely ever in focus and any caustics at the bottom of the pool would not be seen and thus placed only a basic caustic effect from my previous gart160 project at the bottom of the pools (although I am contemplating removing this as it is an unnecessary drain on resources seeing as it is almost imperceptible. I then set about creating the illusion of the caustics of the lights from within the pool on the walls and objects around the room. to achieve this I took the textures I had used on the underwater caustics, ran them through a cheap contrast node to remove the colour and then plugged panners moving in different directions into two instances of this texture sample before connecting it to a light function material which I then added to a spotlight pointing out from the pool with a very obtuse angle of light.

This almost perfectly created the lighting effects that I had wanted although the lines were a little too crisp for light that had been passed through moving water, A quick gaussian blur of the base texture in photoshop quickly sorted this leaving me with a decent looking alternative to ray traced caustics without the performance loss that ray traced lighting effects incur. I am in general very happy with how this week turned out even though it wasn’t what I originally envisioned I am happy with the results I have achieved. Over the next week I hope to flesh out the scene with smaller assets, as these are currently sorely missing, and to take a much deeper look at how the scene is lit for the film specifically as opposed to how it is lit for day to day use and hopefully push the environment to look more how it is presented in John Wick.