Martin Helmut Fieber

Part 1 of 5 → show all

Creating Ron Cobb's bulkhead door in Blender

Posted on — Updated

Learning more 3D modelling

To deepen my 3D journey I started, I thought I should take on a "little" project going from Blenders default cube to a finished and game ready asset. Creating the high- and low-poly mesh, UV unwrapping, baking, texturing, rigging, animating and finally having it presentable in a game engine. I see now that calling this little was blind optimism on my end.

After spending hours over hours on my model I only finished baking the high-poly mesh onto the low-poly mesh, feeling rather intimidated by the next big step; texturing. But, I still think there is a lot to tell, so this post will focus on:

  • Creating the high- and low-poly mesh
  • UV unwrapping
  • Baking in Marmoset

What I want to create

As an Alien fan I thought I could pick something out of the Alien universe I would like to recreate. I also wanted to learn rigging and animating, therefore whatever I pick had to have moving parts. My first thought was that I will recreate the iconic Alien spaceship, the USCSS Nostromo.

Final design of the Nostromo by Ron Cobb.
Final design of the USCSS Nostromo by Ron Cobb as seen in his Alien website gallery.

In my head already painting how I recreate the spaceship in the smallest detail, moving parts, lights, walking the interior in first person, … — even I knew this will be too much for me. It needs to be something smaller, and after some research I came across the original drawing of a bulkhead door from Ron Cobb.

Design of the Nostromo bulkhead door by Ron Cobb.
Final design of the Nostromo bulkhead door by Ron Cobb as seen in his Alien website gallery.

His drawing differs from what was used in the movie as the movie does not have the red warn lights around the door, as well as some differences at the side barrier doors, namely form and color. What I wanted was to recreate his drawing as good as I could, as close as possible, and this is what I set out to do.

Creating the mesh

Starting to work on the high-poly mesh, I thought this step should not take too long. I was very wrong. I started over twice, third time is the charm they say. It was, even though it still took me hours and I would do so many things different if I would do it all over again, but this is what learning feels like, and I will call it a nice feeling.

After hours I got the high-poly mesh as ready as I wanted it to be. Here a look at the frame with retracted inner side barrier doors and a view of the closed bulkhead door, both with temporarily applied materials for better visibility.

Image shows the high-poly mesh, on the left the inner barrier doors and on the right the door fully closed.
On the left: inner barrier doors visible, on the right: fully closed door.

As I was using the add-ons Hard Ops and BoxCutter with a non-destructive boolean workflow, making the creation of the low-poly mesh easier by removing some boolean cuts.

The low-poly mesh of the bulkhead door in front view.
Front view of the low-poly bulkhead door.

I really liked using those add-ons, even though I want to try a different workflow with e.g. MESHmachine and MACHIN3tools, or additive to the boolean workflow to touch up parts of the mesh after applying modifiers to get even better results. For now though I wanted to restrain myself from using too many tools.

UV unwrapping

The UV unwrapping turned out to be harder than expected. It got easier, at least after I figured out what my issues were I had on my first tries. There were two main problems I encountered that I'm sure I can avoid when I tackle my next project. The first one is that I had "flipped normals".

The outer frame of the bulkhead door in red and blue, symbolising flipped normals.
A lot of issues with flipped normals.

All the red you see? Ya, not good. It's kind of an "inside out" problem, aka. a face being in the wrong direction. After some searching I found out I can use a function called "recalculate outside".

Shows the Blender normals menu, highlighting "Recalculate Outside"
Normals menu with the option to "Recalculate Outside".

Doing that for all my parts that had wrong normals, I finally got them the way it should be — all blue.

Image showing the bulkhead door in all blue, signalising normals facing the right direction.
"Recalculate Outside" fixed my flipped normals.

The second issue I had I was not able to fully fix; some vertices seemed "misplaced" when unwrapping the mesh, producing some strange result in the UV map. You still see some of those artefacts in the final result.

UV map in Blender with issues I encountered unwrapping my mesh.
Result of my UV unwrapping.

All in all I'm still quite happy with the result and decided to move on — for the sake of time. Besides that it did not seem to make any problems the way I had it when I tested the asset later. To avoid this type of issue in the future I would try to take better care when working on a mesh. Having a better look at the topology I'm creating, hoping that future Martin will figure that out.

With this amount of stress, and the feeling I messed up everything, I was still able to have everything properly UV unwrapped.

Final UV unwrapped bulkhead door showing the unwrapping via material.
My final UV unwrapped door.

Baking in Marmoset

Initially, when it came to baking the high-poly mesh onto the low-poly mesh I thought I will use Blender. Even though I still plan on learning this in Blender, I decided to go with Marmoset Toolbag 4. In hindsight, I would call this "a whole new beast to tackle".

Why Marmoset and not Blender or Adobe Substance Painter? I made the decision as I saw it used not only in a bunch of tutorials, but also due to the support for Texturing, including the usage of smart materials. It also made the impression of being rather intuitive to use (I was not wrong, I actually was able to figure out a lot of things on my own). What got me as well was the pricing, it gives the option to either pay per month as subscription or, my favourite, make a one time payment and you own the program. This was the reason for me to not use Adobe Substance Painter, as I dislike the subscription-only way Adobe goes with all products now-days. Not using Blender was due to reading about poor support for baking and texturing (so far, apparently there is work being done).

Getting to the actual baking process — a particularly convenient one thanks to the naming convention for meshes. Having the high-poly mesh named with _high, and _low for the low-poly mesh, exported in the same way.

On the left mesh names in Blender, in the middle exported file names, and on the right those names in Marmoset, all with the postfix _high and _low.
On the left: mesh names in Blender, in the middle: exported file names, on the right: imported meshes in Marmoset Toolbag 4.

This enabled me to "just hit import" in Marmoset and get my bake project set up.

Showing my imported project as scene in Marmoset Toolbag 4.
My mesh imported into Marmoset Toolbag 4.

After tweaking some details for smaller parts on the mesh, specifically painting skew …

Image showing how I fix skew in Marmoset.
Fixing my skew and offset issues.

… I was able to bake the project and get all the maps I needed. The tutorial I worked through to manage this can be found here: The Toolbag Baking Tutorial.

Image showing the ambient occlusion map on the left and the normal map on the right.
Two baked maps. On the left: ambient occlusion map, on the right: normal map.

What comes next?

As mentioned, this is not the end of my journey creating the bulkhead door. Next up will be

  • Texturing with Marmoset,
  • Rigging, and
  • Animating

the door in Blender. And finally having it all in inside a game engine of my choice, with some nice lighting to showcase the project. Here a little sneak peek of my first texturing experiments in Marmoset, nothing fancy, yet.

Sneak peek of my trying to texture the door in Marmoset.
Slowly learning how to texture the bulkhead door in Marmoset Toolbag 4.

My goal is to get a realistic door with PBR materials inspired by the movie, though I think this will still be a long way.

That will continue in part 2 of this "little" project 👋🏻.

← Show all blog posts