A pool manufacturer hired Animech to make an inspiring configurator. They wanted to visualize different pool sizes, stair options, liners, covers and accessories. In order to inspire their customers, they also wanted a scene to go with it. The result is a realtime configurator that places you in a backyard where you can build your dream pool.

Making a scene

This project presented many new challenges. For one, we hadn’t really done much foliage work before. So a portion of the work was researching different approaches for creating grass and plants. For the lawn, we opted for the shells technique, inspired by the work of Shadow of the Colossus and Ryse. For the opacity we used alpha clip, using vertex alpha to tint an opacity texture. This gives the illusion of tapered straws. We also used vertex color to tint a diffuse texture, which gives the lower shells a shadowed look. To avoid the grass pointing straight up, we added a noise modifier to the shells. This gives directionality in the way the grass is flowing. In addition to the shells, we also placed planes of grass along the edge of the patio to help with the silhouette.

For the plants around the yard, we followed the technique from Airborn, as presented by Simon Schreibt. We started by modeling the overall shape of the plant. We then distributed leaf poly planes over the shape, with varying sizes and rotations. For the final step we projected normals from a sphere-like object onto the plant, which simulates the leaves’ translucency. For the distant trees, we used simple billboards. The only “trick” we did was to adjust the normals here as well. This helps sell the illusion of the trees being lit from a direction.

Nighttime, daytime

The client wanted to visualize the pool in both daylight and at night. The first step was to create HDRIs for both lighting scenarios. It was important that the environment stayed the same in both lighting scenarios, since the skybox would be shown in the background. We began by picking a suitable daylight environment, and used it pretty much as-is. For the night HDRI, we used Substance Designer to replace the sky of the daylight HDRI with a night sky. Luckily, we had several HDRIs of the same location where the night sky was shot, at different times of day, so we could compare how the sky affected the scene. This made it a lot easier to grade the daylight HDRI to look like night, and get pretty convincing results.

The skybox is only part of the lighting solution though. When viewing the scene in daylight, we use a real-time directional light along with AO bakes. When switching to night however, we use pre-rendered lightmaps since we need lots of indirect and diffuse light. We also use some real-time lights, most notably for the lanterns. They provided a fun challenge, since they needed to project a shadow pattern on the scene. Because we used point lights, we couldn’t use a regular texture as a light cookie. Instead we needed to create a spherical light cookie — i.e. a cubemap. We rendered the cubemap in VRay using a 360 degree camera inside of the lantern. After some messing about with cubemap face directions, we finally got it working.

Pool with night lighting

Closing thoughts

I was responsible for the 3D work on this project, apart from the water shader. It was fun to challenge myself with stuff I hadn’t done before, such as foliage and multiple lighting scenarios. It was also fun to create a scene instead of just a single product.

Wireframe of the Pool scene
Square pool with roof closed
Narrow pool