Blender from the deep

It’s been a while since I last posted a new render. Ever since I modeled an underwater mine to showcase my procedural rust material, I’ve had this idea to do a full underwater scene revolving around the concept of underwater minefields. Then news surfaced about this contest and the idea came back.

Since the rules stated that no prior projects could be used, I decided I would model a new mine from scratch just for this project, and make it as low-poly as possible so it wouldn’t take forever to render in large quantities.

That was the easy part. Working without volumetric materials or mist to get the dark underwater look was the real ordeal. For fading objects in the distance I needed something more flexible than the z-depth method in the compositor, since I might need the water surface to be visible over a longer distance than mines. I created a node setup to mix my materials with a transparent shader based on camera distance.

Water surface was kind of hard to get to look right too. I had to set up a few emissor planes to get the right reflections and I decided to flip the ocean plane normals, which gave a smoother look at the cost of lower detail.

As for the volumetric light beams, I used a very complex setup that involved actual modeled beams, each filled with a particle system of small bubbles. Each beam was then enveloped by an invisible emitter cylinder with a gradient texture.

All these things were incredibly hard to tune to get them to work right together. Most of the tweaking was done within Cycles itself, with post production adjustments in the compositor being limited to contrast adjustment and some lens distortion and glare effect to help get the underwater feel. This was the initial result:

Underwater Minefield - version1

At that point I felt some things could be improved, but wasn’t sure how to proceed so I submitted this initial version and decided to take some time off so I could get some fresh ideas. When I got back I decided to make these changes in the scene:

  • Camera: Moved the camera away from mines for wider shot, which in my opinion helped bring more depth to the picture.
  • Water surface: I flipped normals back to their original position. This gave a lot more detailed and realistic look.
  • Volumetric lights: I opted for a simpler approach with gave a more believable look in the context of this scene. Light beams are now simple emitter cylinders with gradient textures. I adjusted the gradient texture using a Vector Mapping node and a ColorRamp node to get the fading effect.
  • Rising bubbles: for the sake of storytelling and to break a bit the monotony of the scene, I decided to add a group of bubbles rising towards the surface, suggesting that someone or something is moving among the minefield, just below the camera angle.

After all these changes, this was the final version submitted to the contest:

Underwater Minefield - version 2

The submission period for the contest is over, but the results have not been announced. In any case, it was a fun challenge and a learning experience. I will post something in this blog when news arrives.

Posted in Blender - 3D Art and tagged , , , , , , , , .


  1. Pingback: Estudio de materiales revisitado con materiales procedurales | mínima expresión

  2. Saludos apreciado,

    Estoy fascinado con esta maravillosa fotografía, tanto que me inspiró colocarle un trozo de música.
    Espero que lo tome de la mejor manera y no sea indebido tomar prestada su fotografía y colocarle música.
    Aquí está la muestra con créditos de autores.

    Le envío un fuerte abrazo y le deseo muchos éxitos.

    • Hola, René. He visto el vídeo y la verdad es que me ha gustado mucho la música. Tienes talento y elegancia. Si le diese un tinte verde a la escena, me parecería que estoy viendo un fragmento de La Ciudad de los Niños Perdidos… 😀

  3. Ah!! que maravilla me alegra mucho que te guste! Pues estoy encantado de tu respuesta y quiero que sepas que cuentas conmigo. Un fuerte abrazo!

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.