www.blendernation.com
Behind the Scenes: German Type VIIc U-Boat By Alina Khan on March 10, 2025 Behind the Scenes Dive into this article as Denis Rakari breaks down his journey of modeling a detailed Type VIIc submarine. From historical accuracy to procedural texturing, he shares the challenges, techniques, and lessons learned along the way.INTRODUCTIONHi! My name is Denis, and Im a hard surface artist from Croatia, currently working at Gamepires as an environment artist and occasionally as a level designer on the game S.C.U.M.I discovered 3D modeling in the early 2010s, around the time Blender 2.6 came out. It took me only three days to get hooked on 3D modeling using Blender, and Ive been doing it ever since. At first, I did some personal projects and the occasional freelance gig, continuing to build my skills until I got a job in the gaming industry, and so far, I like it a lot. Sadly, Im not doing as much personal modeling in my free time as I wouldve liked, but every now and then, I manage to finish a project or two.INSPIRATIONI wanted to model this particular Type VIIc sub for some time now, but it always got sidetracked by something else. I find something interesting to model almost on a daily basis, and naturally, ideas frequently come and go, with many of them getting pushed aside. One of those ideas was to create an entire scene from Commandos 2, the level Das Boot - Silent Killers. I really like this game, and more than once, Ive thought about how great it would be to walk through those levels from a first-person perspective. Now that I finally have the skills to pull off something like that, I decided to try and recreate the level.Ive taken screenshots of the level from the game, made an initial blockout, and modeled one hut before deciding to work on the submarine to see if it would even fit inside that big hangar.Blender viewport view of the level map seen through the cameraBlender viewport view of the blockout meshesViewport View from Unreal Engine 5:Looking at the screenshots from the game, it seemed to me that the interior perspective might be very different in scale from the exterior. Afraid that the sub wouldnt fit inside, I decided to tackle the vessel next to see how it fits. The sub in the game is a captured Allied vessel, if Im not mistaken, but I always liked the look of the Type VII and wanted to model one myself, so I went with that instead.Naturally, the sub in the game turned out to be considerably off-scale, which became very apparent when I placed my model into the scene.Screenshot from the game - Hangar interiorScreenshot from the game - Exterior ViewViewport View from Unreal Engine 5As you can see, not even half of the submarine fit inside the actual submarine hangar, which made me realize that the entire interior probably wouldnt have fit inside that blocked-out building (although it looks like it kinda might have). Granted, I eyeballed the scale, but theres no way I was that far off. So, this realizationcombined with the fact that this project would have taken a LOT of my free time to finishled me to scrap it altogether and, in the future, concentrate on smaller, more doable things. As the saying goes, Know thy limits, or something like that :)So, in the end, that left me with one good-looking submarine to model, which Im going to describe in more detail next.PROCESSPreparation phaseAs always, when modeling something from the real world, a good set of references is needed. And, as always, things didnt go as planned when finding references. Namely, it seems that each and every sub from the VIIc series was at least a bit different from the others, whether in small details here and there or in completely different configurations of the hull and conning tower.Since free time is, well... an issue for me lately, I haven't spent much (or enough) time doing research and really going deep into it. I ended up with a mishmash of plans, references, old photos, PDFs, a monograph of a Type VIIc submarine from Waldemar Goralsky (Super Drawings in 3D series, The VIIC Type U-BOOT, W. Goralsky, M. Jastrzbski, Kagero Publishing), other free low-poly models, and whatnotall of which didnt have much in common with one another. By the time I had gathered a lot of references, I was thoroughly confused about which particular sub I should model, which details to include, etc. It seemed to me that even specific scale and 3D models, like that of the famous U-96, featured various differences depending on the author's interpretations.All of this resulted in me reshaping the general hull about five times. Each time, if I modeled it according to one set of plans or images, it didnt match other plans and references. I was torn between just making manual corrections where needed (accuracy be damned) and creating a historically accurate model as much as possible. In the end, I was so frustrated that I just started modeling the sub, including various details along the way as I saw fit or found it interesting.First, I set up the plans as images in Blenders viewport and tried to align them with each other as much as possible.Plan set No.1Plan set No.2 - from the book The VIIC Type U-BOOT, W. GoralskyPlan set No.3I tried modeling the hull to fit somewhere in between those sets of plans but ended up using the third one the most, as it featured hull lines and details I liked the most and could identify in most photos found onlinemore or less. In the end, I came up with this:I tried using as few loop cuts as possible to retain that smooth shape.In the following screenshots, you can see how the hull differs from each set of plans:I used the above plans the most, as the others differ too much:But despite all the trouble, I finally had a finished hull shape that would serve as a basis for further detailing. After some more refining and tweaking, I had completed the main hull, added the general shape of the conning tower, and was finally ready to start adding details:Actual Modeling phaseWhen adding holes and cuts to a SubD mesh, theres always the issue of pinching and creasing. To avoid dealing with this, I decided to utilize the shrinkwrap method, as described in CG Masters tutorial 3D Cars: Inside and Out. Without revealing too much from the tutorial, it essentially involves shrinkwrapping a cut mesh onto a clean copy of the same mesh, allowing you to retain a smooth shape where pinching would normally occur. No shrink-wrap With shrink-wrap No shrink-wrap With shrink-wrap It's a pretty great technique and very useful for modeling nicely curved surfaces on cars, airplanes, or ships like this one. While a clean and even topology is recommended for the best results, one can actually get away with somewhat bad topology, depending on the circumstances and the particular shape. With all the holes cut, I ended up with this:From there, it was just a matter of adding more details using the aforementioned techniques while trying to make sense of various photos, references, and blueprints.The conning tower was done similarlyjust ordinary hard surface modeling with the shrinkwrap technique while trying to stay faithful to the references. Of course, not every photo was clear enough, so I took creative liberties here and there. Also, some details were probably present only on certain vessels, not on every sub of the Type VIIc, but I included them anyway because I thought they looked good or interesting. After the modeling was done, I ended up withlets call ita general representative of a Type VIIc series submarine.The rivets were made with the help of geometry nodes. I used a simple setup that instances rivets along a curve while rotating them along the surface normal of the hull. I just had to extract loops from the hull surface, separate them as a new mesh, add the geometry node setup, and tweak a parameter for spacing. Geometry nodes really helped with this taskotherwise, I wouldve had to place them manually, all couple of thousand of them.The rivets were made with the help of geometry nodes. I used a simple setup that instances rivets along a curve while rotating them along the surface normal of the hull. I just had to extract loops from the hull surface, separate them as a new mesh, add the geometry node setup, and tweak a parameter for spacing. Geometry nodes really helped with this taskotherwise, I wouldve had to place them manually, all couple of thousand of them.MaterialsI deliberated on materials for a while. Texturing the sub in Substance Painter was my initial idea, but that would mean Id need a lot of texture sets to cover a model this big and avoid blurry textures up close. It sounded like a lot of workmaybe too much to be worth itnot to mention the memory footprint. But it would have been the most compatible method for using the sub in other DCC software. Still, I think the quality would have suffered. And did I mention that it wouldve been a lot of work?The next idea I had was to use tiling materials with masks painted in Substance Painter. That would have resulted in sharp materials, but there was a risk of either having blurry mask textures or, again, needing a lot of them. Also, organizing all of the meshes across various texture sets while trying to keep texel density somewhat consistentand painting multiple masks in Substance Painteragain, you guessed it, a lot of work!So, I opted for a third solution which, while completely incompatible with other DCCs, proved to be the most efficient and versatileat least when it comes to Blender. I used tiling textures while utilizing procedural masks created directly within Blender. With this solution, I only had to unwrap everything, make sure all UVs were of the same scale, and start applying materials. No UV packing, no endless mask creation in Substance Painter, no blurry materialsjust pure procedural goodness and a massive viewport lag! But more on that later.First, I created a base painted material for the hull. That meant using various noise textures to add slight color variations, dark areas, roughness variations, and even some painted metal surface bumps. For the colors, I used this official-looking color chart I found here.This PDF is a great resource on materials used for German submarines during WWII, and I referenced it frequently for various parts of the sub.Kriegsmarine Color ChartSo, for the primary hull colors, I opted for Hellgrau 50 and Dunkelgrau 52. Thats where I startedjust basic colors on the hulland then worked my way toward variations, edge damage, and rust.Basic colors: Hellgrau, Dunkelgrau, and a mask to separate the two in the right place:The mask was created with a simple black-and-white texture mixed with noise to create a not-so-sharp and straight edge.Next, I used procedural noise textures to add slight variations to color, roughness and surface bumps:Subtle surface bumps to make the hull less smooth and perfect. Again, using only procedural noise textures:My noise generator: just a noise texture mixed with various tiling settings and exposed controls for parameters.Due to water pressure when submerged deep, the hull plates between frames tend to curve inward, giving the hull that wavy look. I didn't want to model that waviness directly, so I created a simple normal map to simulate the effect through the material.Next, I added some procedural wear and tear to the material. The upside of procedural dirt and damage is that I don't have to manually paint it across the entire sub, but the downside is that I have limited control over the placement of the effects. Fortunately, the procedural approach worked quite nicely, and I only needed to manually mask out damage in a few spots where I didnt want it.First, the edge damage. I needed to isolate the edges on the model, add some variation to the edge mask, and then use that mask to apply a different color or chipped edges on the hull.The edge mask:AO Dirt maskEdge damage maskAO dirt:I painted the rust manually using vertex colors. The effect could have been better, but achieving that would have required applying the subdivision modifier to get a denser mesh, which I didnt want to do. So, I ended up painting on the un-subdivided mesh, which isnt as dense, resulting in a mixed bag.And that concludes the hull material. The good thing about procedural materials is that they can be applied to other objects, and the effects automatically carry over. If not for that, I would have had to paint everything manually. This way, although not 100% accurate, it looks good enough and saves time. I could have spent a lot more time tweaking the material and hand-painting more accurately, but as I said, I thought it looked good enough and called it done.The rest of the materials were created in a similar manner and applied accordingly to meshes across the sub. The procedural approach really did save me some time. However, with all these procedural calculations happening under the hood, the viewport in Shaded and Rendered view started lagging as soon as I added procedural noise, AO dirt, and edge wear generators. Just something to keep in mind if you're going for a procedural approach.And that was about it. The only thing left for me to do was to organize the model a bit more through various collections, especially for details that fall under the optional categorystuff that can be added or removed from the sub according to one's wishes.Details' variations:I hope I didnt bother you too much with the details. I didnt use any unusual modeling techniquesjust good ol hard surface modeling with some procedural texturing thrown into the mix. Hope you like it!RENDER: German Type VIIc U-Boat Final model:Thank you for reading! If you have any questions or feedback, please dont hesitate to share your thoughts. Have a nice day!Cheers, Denis!!!About the Artist Denis Rakari is a 3D modeler from Zagreb, Croatia, currently doing cursed optimizations on various assets while working on SCUM, a survival MMO game currently in early access. Likes modeling hard surface stuff and a cold beer.Links