top of page
Beach

Storytelling through lighting

Project 4

Final Submission

VFX_425/Class_14

For project 4, we're tasked with creating an environment with storytelling through lighting. I've teamed up with a friend to create a beach environment.

VFX_425/Class_15

I didn't have a chance to work on the project much, but me and my friend Giuseppe had the opportunity to work on the previs along with starting the environment.

Heightfields in Houdini

Screenshot 2025-05-12 125048.jpg

I've had previous experience working with heightfields in Houdini, and this project required a large hill spanning across the background.

Screenshot 2025-05-12 125431.jpg

Camera Motion

Heightfields are node-based like everything else in Houdini, so they are very versatile and can be quite easily controlled.

We also had time to set up a quick camera motion for the scene. Here's the one I'm going with for my side of the project.

VFX_425/Class_16_and_17

Over the past week I've been working more on developing my parts of the scene. You can check out my progress on the pyro simulation here.

Heightfield Material

To create the material for the heightfield landscape, I created a mask using heightfield output node and used that as a mix between each tileable texture.

To create the material for the heightfield landscape, I created a mask using heightfield output node and used that as a mix between each tileable texture.

Screenshot 2025-05-19 121720.jpg
Screenshot 2025-05-19 121916.jpg
Screenshot 2025-05-19 122146.jpg

These masks are also used in the subnets to color correct some of the textures and add variation.

Beach Material

The beach material is a tileable sand texture grabbed from Quixel Bridge. I'm using a Karma hextiled texture to break up the patterns of the textures.

Screenshot 2025-05-19 122650.jpg

Displacement keeps the sand from looking flat and allows for render-time subdivision without an impact on viewport performance.

Screenshot 2025-05-19 123013.jpg
Screenshot 2025-05-19 122731.jpg
Screenshot 2025-05-19 122837.jpg

VFX_425/Class_18_and_19

The last week has mainly been finishing up my part of the project.

Lighting Adjustments

I wasn't very satisfied with the lighting in my project. I wanted to go for something a bit more moody, so I chose a morning lighting scheme.

Because of a weird color management issue, I had to use a distant light along with the HDRI to make sure the HDRI wasn't blown out and that I could still get the right lighting.

Screenshot 2025-05-26 120848.jpg
Screenshot 2025-05-26 120952.jpg

Sand Mask

I had also tasked myself with creating a wet map for the sand where the shoreline was. I did this by using a mask by ambient occlusion node, then inverting and remapping the attribute.

Screenshot 2025-05-26 121338.jpg
Screenshot 2025-05-26 121442.jpg
Screenshot 2025-05-26 121803.jpg
Screenshot 2025-05-26 121704.jpg

I then brought this attribute into MaterialX where I used it as a black/white mask for the roughness, displacement, and normal mapping.

Finishing Touches

One of the last things I did was add in a fog box to create atmospheric perspective. This helped make the distance more believable.

Screenshot 2025-05-26 122049.jpg
Screenshot 2025-05-26 122206.jpg

With fog box.

Without fog box.

After rendering, I did a little bit of compositing and color grading to make the colors pop a bit more. My nuke script and a before/after compositing preview is below.

nuke_script.jpg
Screenshot 2025-05-26 122758.jpg

Before compositing.

Screenshot 2025-05-26 122742.jpg

After compositing.

AND THAT'S ALL!

The final submission is at the top of the page.

© 2025 by Riley Strumpf.

bottom of page