top of page

Hot Springs

The main goal of this project was to dive into real-time water and environmental fx. I learned a lot about Unreal's shading and materials during this project, and I enjoyed making all the splashes, steam and more.

I started this project in the summer of 2024 as part of a class assignment that required creating an environment. I chose to create a hot springs, knowing I could add effects to it later on.

UnrealEngine_WhiteTransparent.png

Reference Board

Check out the progress I made on the environment before refining it for my demo reel!

Environment assets from Megascans

Environment Fx

My goal with the environmental effects was to enhance the atmosphere of the hot springs. I integrated falling leaves, steam, gentle splashes, and fireflies to complement the feeling of serenity. To achieve this with such a large environment, I set up my Niagara systems with user parameters so I could easily control how I wanted each effect to look.

All of my effects are set up with parameters like this.

Here's a closer look at the water:

Water Material

For my water material, the blend mode is set to translucent, and the lighting mode is surface translucency volume. The refraction method is set to pixel normal offset.

Albedo

Opacity

Normal

World Position Offset

Check out the parameters and vertex painting in action:

I created a flow map for my water using Flow Map Painter, a free tool by tech artist Lee Tan. By overlaying a top-down screenshot of the hot springs, I was able to accurately paint the flow directions to guide the movement of the water.

water_topView.png

By following the water flow maps tutorial by Ben Cloward, I was able to create a material function to hook up my flow map in Unreal.  

water_flowMapFunction.png

While the effect is subtle in the final render, I think it adds an interesting visual element and is a technique I can see myself using in future projects. Take a look:

Landscape Material

Each material function has its own parameters and is layered in the landscape parent material:

Extra Material Work

The water lantern was my first time creating a subsurface material in Unreal. While I had previously worked with subsurface settings when adjusting Megascans assets, this was the first time I developed a subsurface material for an asset I built myself.

Did you notice the caustics on the rock behind the lantern? I achieved this with a light function material plugged into a spotlight!

By applying the same world position offset parameters to both the water and the leaves, the leaves can be made to float on the water’s surface:

Mountains

Instead of using the standard landscape tools to create the background mountains, I chose to experiment with Gaea for the first time. I started with the large shapes, then refined the terrain through iterations- incorporating rock formations, vegetation, and snowfall. I found the process to be intuitive and easy for a first time user.

The node-based interface resembles workflows I'm accustomed to in programs like Houdini, Designer, and Unreal. This made it easy for me to adapt to the UI quickly.

*Note, the actual mountains in my scene are a decimated version (from ZBrush), with the textures exported from Gaea, and the high poly baked down in Painter.

bottom of page