Creating the CR-2 Pilot Design
Sven Rabe shares his workflow for making a futuristic pilot design in ZBrush...
Hi everybody, in this breakdown I will briefly go through the creation process of my latest artwork, the CR-2 Pilot Design. You will get a round-up of all the main stages from the initial concept, all the way to the final composition. I hope you enjoy and find it of some use for one of your next projects. OK, let's jump right into it...
Step 01: The idea and starting out
So basically everything starts with an idea, right? On a personal project such as this, it is really helpful to have a basic idea of what you're going for, as it gives you a certain direction and a specific goal you're trying to reach. It also prevents you from getting lost in endless possibilities, which could lead you to a point where you might lose interest in your work and probably never go back to finish it, especially on long-term projects. For the CR-2, my idea was to create a sci-fi pilot suit in a hangar or airbase setting at nighttime.
Usually the next step is to find some inspiration and gather as many references as possible to create 'mood boards' for every aspect of the project. A great little helper software here is PureRef. Material wise I wanted the main elements of the pilot to be a coated in with car paint shader, so I needed to assure to get nice reflections and highlights from the environment.
Step 02: Concept phase
At this stage I'm look for a visually pleasing design language for the piece by using various workflows. Depending on the project I most often start by sketching directly in 3D with ZBrush and occasionally do some quick paintovers in Photoshop to add extra details or to try out different ideas. I always start with basic shapes and large planes, because these elements usually create a certain design rhythm. Purpose is also really important so I always try to think of what function every element serves. At the same time I often check the silhouettes with a constant black material, to get an impression of the overall shape and how it reads. When it comes to detailing, I try to not overdo it, often less is more. Give the viewer's eyes areas to rest while looking at your design. Detailing in ZBrush is a lot of fun, very quick and easy to do, at least for concept modeling, but as much as complexity helps to recreate reality, it still needs some kind of balance to make it really authentic. Also this pilot suit is based on human proportions; therefore I used a 3D head scan as a reference, to makes sure a real head would fit into the helmet, which adds to the believability.
After finishing the first concept, I created a few variations to try out different ideas. Depending on how much time I have, I will usually try to create 3-5 variations using a combination of ZBrush and Photoshop. In the end I stuck with my original concept because I liked the clear overall shape of it.
The last stage of the concept phase was to translate the design of the helmet onto the rest of the model, to make sure everything fits together. As I really liked the V-shape of the visor, which is very prominent in the concept, I wanted to assure that this shape language reads across the whole model. I then broke everything up in to multiple pieces, which makes it much easier to work on and finalize the model. This was mainly done with the polygroups feature in ZBrush, where I simply paint a mask and convert it to a polygroup (Ctrl + W), or just extract the mask to create a new SubTool. Don't forget to name your elements properly and try to be organized, as it can get messy really quickly and in the end you'll waist a lot of time with searching and cleaning things up. During the process I continue to break up shapes more and more, but at the beginning, it's good to focus on the main shapes.
Step 03: Final modeling
To create clean shapes I retopologized each of the concept parts by using various workflows in ZBrush, like ZSphere Topology, ZModeler or ZRemesher. For some parts I also just did some quick retopo in Maya. Now with a clean basemesh I subdivided a couple of times and started to add some detail layers on top. I created these details with various brushes and alphas. Some of them I've found online, so credits goes to the guys who made them, be sure to check them out: Mike Jensen, Tom Newbury, Michael Angelo Hernandez and Michael Pavlovich. Of course there are a lot of different ways to do all this and the various techniques are evolving constantly, but I hope you get the idea.
Step 05: Model optimization
If this was a hero production asset for a VFX or advertising pipeline, I would need to remodel everything in clean and smooth subdivision surfaces, including most of the small details. However, because this is a personal project I can skip the clean topology step to save time. In production I would be given the concept art and (depending on the project) would have started modeling directly in Maya which would give me clean topology mesh.
I had some very high resolution meshes, so I decimated each object in ZBrush with the Decimation Master plug-in. I wanted to render the pilot close up in 4K so I needed to make sure that the meshes are light enough to work with in Maya and MARI, without getting artifacts in the surface when rendering. Usually if your material isn't too glossy and you render a long shot those artifacts won't be too obvious; so you can decimate the mesh much more, but I ended up with relatively high resolution meshes.
Step 05: Material layout and UVs
Before starting the UVs, I did a quick material layout in Maya to see how many different materials I needed and which parts shared the same material. For the CR-2 I used five materials: metal, paint (coating), rubber, plastic (carbon) and glass, which I also used as a guide for organizing the UDIMs for MARI. To lay out UVs I mostly used a combination of Maya's UV tools and headus UVLayout, depending on the object. MARI has some great symmetry tools which are perfect for me as I always try to keep my UVs as symmetrical as possible. On this project I ended up with sixteen 4K UDIM's (my computer couldn't handle more than that), but generally speaking for film or advertising work your texture resolution should be double the output resolution of the individual piece. Be sure to keep the ratio of all UVs relatively equal, unless you want certain parts different in resolution, such as very small parts like rivets. The last step here was to merge all objects according to their material assignment so I had only five objects to work with in MARI.
Step 06: Texturing in MARI
For hard surface assets such as this, I start with the diffuse color by creating a diffuse channel and using some procedural color nodes in combination with masks to apply the base colors for the helmet's paint. I try to think of texturing like modeling or painting, thinking from big to small, from blocking to detailing, from rough to fine. In reality nothing is perfect, so I always try to break up surfaces as much as possible. I also mixed some procedural noise layers into the base color for the coated paint; it's very subtle but, in the end, it's one of many little elements which adds up to a more realistic look and feel.
Next, using various techniques (including paint brushes, paint through brush and procedural pattern node), I added scratches, edge wear and tear, tags, signs, dust and dirt layers. I also thought about where the scratches might appear to usage and where dust and dirt would collect. Depending on your shading pipeline, you can extract all those different maps separately to drive the shader network, which makes it much more flexible, but as this is a personal project, I tried to keep things simple and combined some of the maps. A great addition to the MARI toolset is Jens Kafitz MARI EXTENSION PACK 3 - it has a lot of extra nodes and in combination with baked ambient occlusion maps, cavity maps and curvature maps, it is very powerful. After the diffuse channel is established, I duplicate the whole channel and create additional maps such as specular, bump, gloss etc. By sharing layers from the initial diffuse channel, the specular and bump channels get updated automatically, which is a great feature in MARI.
As I render mostly with Arnold, I like to use the aiShader within MARI, because it allows you to reproduce your shader network to a certain point and this is very useful during the look development process.
Step 07: LookDev
Before jumping into the shading and look development, I set up my Maya scene by bringing everything to scale. For this rather small scene I used one working unit to equal 1cm. I also repositioned the pilot in the Y axis, so it would fit the height of a person who is around 6'1" tall. Next I grouped the head objects under a locator, so I could turn his head to get a more dynamic pose. At this stage I also testd various camera angles and different lenses to get a feel for the shot. I ended up with four different camera angles. When starting the LookDev process in Arnold, I used the alSurface shader, which is part of a shader collection by Anders Langlands. It is used by many production studios nowadays when working with Arnold, as it offers more flexibility and also some optimizations that can dramatically decrease render times. Here you can see the settings I used for the main material, the coated paint, as well as the shader network where I also added some additional custom AOVs (framebuffer) for later use in the compositing stage.
Step 08: Lighting and rendering
For the lighting I created an extra render layer with a gray material as override. This render layer is not for the final rendering, it just helps to speed up render times during the setup and also to focus more on the lighting. For this scene I just used two area lights with an HDRi plugged into it (key and rim light), as well as a skydome light, also with a HDRi connected, to get some nice reflections and bounce light from the environment.
As mentioned at the beginning of this breakdown, I had a certain mood in mind and I had to ensure that my background image and the 3D lights matched, so the viewer can see where the light is coming from. It wasn't too hard because most of the materials were glossy and it was night - it was more about the reflections than the direct and indirect diffuse. I my mind, there was a lot of light coming from behind as this guy is inside a big hangar, or airbase, I needed a backplate that fits this idea.
Step 09: Compositing
I used NUKE for the compositing because I like to work in a non-destructive way. This is very handy, especially when you're working with an image sequence such as here (four camera angles = four frames) and you need to re-render passes or update to a new version, it's as simple as just one click. The NUKE script for this project is fairly simple; I split it into four sections to keep things organized: masks, pilot (foreground), backplate (environment) and atmosphere. To have more control over the environment, I exported the camera via FBX from Maya in to NUKE and added a 3D environment sphere to the NUKE scene. As a result I was able to turn the right detail of the background directly into place within NUKE and keyed the transformations for each frame.
Step 10: Final retouch
In the final step I took all four images into Photoshop for some minor adjustments here and there. It was basically like a final beauty retouch step, although the differences are barely visible. Technically this could also be done in NUKE, it's just a personal preferences to use Photoshop here for the finish.
I had a lot of fun with this project and I really hope that this breakdown was helpful in some way. Thanks a lot for reading and I hope you enjoyed it!