Cozy Boat

Here is a real-time scene I made with blender and rendered with the eevee render engine.

Little boat scene
Alternative view of the gull.

First I made a few sketches in my sketchbook and finally a color and composition concept in Krita.

Concept

For the project I wanted to use a technique I learned from Joyce(MinionsArt) on Twitter. It was a technique where you use a single low resolution image with various gradients as the texture for everything and you shift and stretch your UVs to achieve a good looking shading. Here’s the image I came up with based on the concept.

I also used two noise textures, but they were dynamically generated in the shader. For that reason I don’t really count them.

Additionally, I wanted it to be very optimized. So instead of using SSAO I opted for a simpler solution – I baked the ambient occlusion as vertex color information and multiplied it on top of the gradient texture in the shader.

The sky and water ended up being quite a lot more complicated since the sky was fully dynamic, with dynamic clouds, time of day, sun, stars and many other little details. Probably it deserves an entire post by itself.

Same goes for the water. Since Blender is not really a game engine I was missing some nice tools I am used to. I had to come up with a solution for the foam around the objects and I ended up making a custom geometry nodes setup that detects distance from objects in a specific collection and generates a gradient that I am later using in combination with two overlapping noise textures to make the little waves.

Wireframe

Thank you for watching!