Gesy Bekeyei talked about the production of his hard-surface project Lobster made fully in Blender.
Introduction
Hi, my name is Gesy Bekeyei. I currently live in St. Petersburg and work at Trace Studio. My journey into 3D started in 2013 when my roommate introduced me to CryEngine. I started playing around inside the 3D world, sculpting terrain and using the assets that came with CryEngine. Soon I started to feel like I wanted to make my own assets instead of using already existing work. I downloaded 3ds Max and my journey began. After a few years of using 3ds Max, I moved to Blender and use it almost exclusively now.
My interests in 3D are mainly based around sci-fi hard-surface elements such as spacecraft, corridors, weapons, and mechanical devices. I’ve been practicing industrial design in order to improve this area. Some of my latest works are Section 71 and Lobster.
Project Lobster
The project Lobster began with brainstorming the idea of a craft that NASA could send to explore the oceans on one of Saturn’s moon, Titan. I am a massive fan of the late Paul Pepera’s work and his whimsy, utilitarian mechanical designs. Also, I am a fan of NASA and Russian space technologies and hugely utilize these elements in my designs. To begin, I started gathering reference of various submersible crafts and used PureRef to organize the reference. Using real reference is very important in obtaining a functional and recognizable design because the world is filled with really amazing pieces of engineering which can be utilized in your own work. I usually gather numerous images and steal shapes and forms from many objects, integrating them into my work. At a later point in this project, I veered away from a NASA submersible ship and went with a more conventional vehicle to explore the waters on Earth.
Using Blender
The whole project was created and rendered in Blender from A to Z. Since migrating from 3ds Max, I found various perks of Blender that just suited me, from add-ons like Hard-ops and Box-Cutter to the free integrated renderer Cycles/Eevee and compositor. Many tools are very interactive and stable which provides a stress-free and very fun area to be creative. Also, the community is great and there are literally hundreds of add-ons that can be used to fine-tune your workflow.
Currently, I am not happy with the state of Blender 2.8. I find it difficult to work with large scenes due to performance issues. These problems include slow OpenSubDiv, which currently still works on the CPU instead of the GPU, painfully slow Undo system, which takes anywhere from 5-10 seconds to undo anything in a medium to a heavy scene (800K tris and up), and slow edit mode performance. These issues have been noted by the developers and hopefully, they will be addressed in the next release series. I expect these issues to be fixed as soon as possible and once fixed, Blender 2.8 will be a 3D modeling paradise.
Modeling
My workflow for modeling any hard-surface designs begins with browsing Google and Pinterest for similar real-world objects. It’s important to plan the function of the object. What does it do? How was it made? This helps to avoid vague and generic designs that become unrecognizable to the viewer. I begin the blockout stage by mashing boxes and cylinders to obtain an interesting form. This initial step is very important as it allows me to get realistic proportions and understand what functional elements go where and what sizes they should be. After this I start to model a more complex form, still keeping everything fairly simple. I use Hard-Ops and Box-Cutter addons to quickly boolean-in cuts, just to see how it looks. It’s important to iterate and try a lot of things at this step, as it sets the stage for how the final piece will look.
At this point, I add in basic lighting to help me visualize areas of shadow and to understand how the forms interact together.
As I model the initial shapes, I pay no attention to the clean topology. Everything is messy and unwelded. This allows me to iterate quickly before cleaning up the results and adding detail.
The model changes every day drastically due to iteration until I like what I have. In the blockout, I decide how large forms look, where medium forms go and visualize where smaller shapes might be. One design tip to create cool mechanical designs is to cut an opening into a part of the mesh and filling the opening with mechanical parts, pipes, and other objects. You can also leave these openings blank, giving interest and depth to the otherwise flat model. Also, it is important to pay attention to the composition of details on the object. Details should be placed aesthetically and reasonably. Numerous details with no function and no reason make a bad design. Always ask yourself, why did I put this bolt here? What is this hole for?
At this point, I clean up my model and smooth it using Subdivision surface. I then add little details like pipes, wires, and bolts from my kitbash library. For pipes and wires, I simply draw a bezier curve across the mesh, snap it to the faces, and add thickness to the curve. This can be made faster with the add-on Speedflow using “Tubify” command.
For the main propeller, I started with a basic cylinder for the propeller hub, and a plane modeled to represent a propeller blade.
I then add a “Simple deform” modifier to the plane and set it to “Twist”. This will create a twisting effect on the propeller blade as seen in real propellers. I also add a “Solidifier” modifier to give the blade some thickness.
Now we need to weld our blade to the propeller hub. To save time and energy, we will attach only one blade and duplicate it to create 7 other blades. To do this, imagine your cylinder as a pizza sliced into 8 pieces. Delete 7 pieces and leave one slice to work with. Also, align your propeller blade’s rotation to the pizza slice.
It’s time for some manual work. Join the propeller blade with the hub using Boolean Union and clean up the resulting geometry. Try to obtain clean topology to get smooth subdivision.
Now use the command “Spin” to duplicate this slice of propeller radially 7 times. You can also manually duplicate them around.
Weld the vertices together and apply subdivision modifier. Now you have a propeller!
Tip: If you can’t get a smooth mesh (no pinching) using only a 32-sided cylinder, start with more geometry on the cylinder such as 64 or more. This will require more clean up, but your mesh will be smoother.
This piece of propeller mesh was then copied around the submarine to create the other propeller meshes to save time. It’s very important to try and reuse as many assets as you can in order to save time and creative energy.
Textures
Since the asset was textured mostly using masks and Cycles materials, I used Photoshop to edit and adjust these masks. I also used Photoshop to create decals and text for the submarine as it’s better for vector and text creation.
The materials for the submarine are just simple base materials with overlayed grunge maps for gloss variation. I also used the new Blender Ambient Occlusion node as a dirt mask to add slight dirt to occluded areas. For exposed metal edges, a simple pointness mask combined with grunge maps was used to obtain this effect.
For text decals, I used multiple UV channels and projected the decal onto the UV of the part of the mesh that received the decals. I could also simply use floating planes to add the decals separate from the geometry.
The shiny metal is simply a base metal material with overlayed grunge for gloss variations. To render metal properly, it’s important to have something for it to reflect. For this, I used an HDRI to provide lighting and reflections for glossy materials. Also, some post-production was utilized to add a slight bloom to make the metal shine.
Lighting
The lighting setup is very simple. I wanted to achieve a simple daylight lighting setup, with some blueish ambient light reflecting from imaginary water below.
To do this, I added a sunlight lamp and played with the orientation in the sky to obtain interesting shadows and forms. I try to avoid lighting an object too evenly and try to add drama with shadows and contrast in lighting. I also avoid having the light direction parallel with the camera direction as this produces extremely flat and uninteresting lighting. Also, it’s important to avoid too sharp shadows with natural lighting as this harms realism.
For ambient light, I multiplied the above HDR image with a slight blue tint. This brightened up dark shadows in the image, adding blue-ish bounced lighting. Then I apply post-processing and color correction using Blender’s compositor.
Underwater Look
For the underwater version, I tried to achieve an atmosphere that was recognizable as “underwater”. There are a lot of things I could have done better, such as adding underwater ecosystem, plants and organisms growing on rocks, and maybe fish.
Having said that, the most important things to pay attention to is how light behaves underwater. Inside water, light is aggressively attenuated. Red and orange wavelengths attenuate faster, resulting in the light hue shifting to blue. Also light bounces numerous times inside the water volume, resulting in light scattering. Because of this scattering, light loses some of its directionality and becomes more diffuse. This diffuse lighting causes very soft shadows and lack of specular highlights on objects. Light also bends and refracts strongly underwater, causing objects to appear larger and more blurry.
Another important thing to do to sell the underwater look is adding underwater elements such as bubbles, floating particles (AKA backscatter which is mostly visible in bright artificial light), and volumetric light rays from the sun and artificial light sources. Other optional elements to add are caustic effects (depending on depth) and animated particles with motion blur.
The technique I used to render underwater was to render each effect separately and combine all of them using Blender’s built-in compositor. To do this, I prepared Render layers and assigned objects and lights to them.
Compositing render passes to obtain underwater look:
I rendered each layer separately including volumetric lights, water volume, bubbles, particles. I then combined these passes using Blender’s compositor. I used color correction to apply a blue tint to the objects to integrate them into the water volume. This technique greatly speeds up render times as I don’t have to render everything in one go, especially with the slow volumetric shader. One trick I used was to render the volumetric lights with very few samples. I then blurred the image to reduce noise. This enabled me to get fast volumetric effects without having to wait for hours to render everything.
Using Blender’s Compositor
I don’t have much experience in compositing software outside of Photoshop and Blender. For me, the main advantage is that since Blender’s compositor is built-in, I can quickly test various looks and without having to export the scene into Photoshop. Also, the node-based structure is very intuitive and modular. I can plug in different renders and have them all receive the same treatment. I can also re-render layers straight from the compositor in one click.
Another feature I like is the use of multi-layered EXR files. These are single files that contain all render passes such as Z-depth, lighting data, etc. This makes it very comfortable to composite multiple files quickly. Blender’s compositor is comfortable to work with and has features such as glare, bloom, lens distortion, color correction nodes, and video compositing. I haven’t found any disadvantages, apart from missing some features like unsharpen mask.
Tutorials
I’d say Heavypoly has good Blender-related tutorials. Also, I loved the tutorial Hard-Surface Modeling in Blender by Gleb Alexandrov/Aidy Burrows. For knowledge about industrial design, I recommend watching Joe Peterson’s design tutorials. Also, Alex Senechal has good tutorials about industrial design and how to render them beautifully. Also, I highly recommend the classic tips and tricks from Neil Blevins.
Gesy Bekeyei, 3D Artist
Interview conducted by Daria Loginova