Martin Helmut Fieber

Bulkhead door with Blender, part 1

Posted on

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 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 like Unity. I see now that calling this "little" was blind optimism on my end. After spending hours over hours on my model I just 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.

Already painting in my head how I recreate the spaceship in the smallest detail, moving parts, lights, walking the interior in first person, ... — even I knew this is a bit 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. 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. Ohh was I 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 differently 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 AddOns Hard Ops and BoxCutter with a non-destructive boolean workflow, making the creation of the low-poly mesh easier by just removing some boolean cuts. Here a front view of the low-poly mesh.

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

I really liked using those AddOns, 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 even more tools.

UV unwrapping

Doing the UV unwrapping turned out to be harder than expected and also easier than I thought, at least after I figured out what my issues were I had. 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 "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" indeed 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 very 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.

But all in all I'm 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 creating the actual mesh. Looking closer at the topology I am producing, 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 as well. 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 too wrong with this, I actually was able to figure out a lot of things just on my own). What caught 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 go with Adobe Substance Painter as I dislike the subscription only way Adobe goes with all there products now-days. Not using Blender was just due to reading about poor support for baking and texturing (so far, apparently there is work being done).

Getting to the actual baking process this was super convenient. This was 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 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 a proper setup bake project.

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 (here is the tutorial I worked through to manage this: 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 Unity with some nice lighting as a proper showcase. I started getting my feet wet texturing the door in Marmoset, nothing fancy yet; here a little sneak peek of my first experiments.

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 materials inspired by the movie, though I think this will still be a long way.

That will continue next month with part 2 of this "little" project 👋🏻.