A look into the production of great 3d dioramas with tons of details.
Amazing 3d artist Joel Zakrisson gave a super detailed breakdown of his scene production. He discussed his texturing process, the way he models his creations and uses post-processing.
Introduction
I’m Joel Zakrisson, a 20 year old artist with a passion for 3D modeling. I’m currently studying 3D graphics at Future Games in Stockholm, Sweden, while simultaneously working part time as a VR consultant for Vobling, a company doing architectural visualization and VR-games to treat arachnophobia. I’ve been studying for a couple of years and right now I’m in the middle of finishing all of my personal projects before reaching out to some of the big game companies out there.
I really enjoy all aspects of 3D modeling but especially environment art for games and big hero assets. I love taking on huge projects that requires a lot of patience.
General Approach to 3D Production
When doing personal projects, I usually want to create really epic scenes with a lot of assets. To avoid feeling overwhelmed, I start by modeling the main asset and don’t focus at all on the environment until it’s finished. This way, I can also build up excitement and ideas for the rest of the scene while I’m working.
In the case of my Cog Ship Battle project, I actually started out with just a catapult over a year ago, without any thoughts of adding a ship or a giant sea dragon.
When my main asset is done, I generally compose a moodboard consisting of images with the feel I want to convey and the environment I’m about to create. When deciding what to put in the scene, I usually model directly from reference or freestyle around existing designs to fit my theme.
Something I really like and that I think others often rush is spending time and love on the presentation. While it’s often almost half of the work, I do think the environments and dioramas makes the models stand out from the crowd.
The next step is building a basic blockout of the scene in Maya, which I later move into Unreal Engine or Marmoset Toolbag. I like to present dioramas in Marmoset and environments in UE4 since it’s the game industry I want to work in.
I think it’s important to do many iterations of a scene and experiment with the presentation while always asking yourself “how can I make this better?”. My cog ship diorama is actually a remake of an older piece I made. The first version was already finished a year ago, but with some more experience I could see room for improvement.
I don’t think it’s necessarily always a good idea to move onto new projects, even if it can be tempting. If you push yourself to improve on what you’ve already done, you force yourself to get better. Otherwise, you might fall into the trap of taking every new project to the same level of finish.
I’ve always tried to follow a strong line of action with this composition, making sure all pieces get aligned along an S-shaped curve. This makes the observer’s eyes stay within the scene, always returning to the focal point at the dragon’s head. It’s similar to compositional planning in 2D work, but differs in the way that dioramas have to look good from all angles – which also makes it somewhat more challenging to do. So if I know I’m going to present my project in a diorama, I spend a lot of time analyzing my composition from all angles.
For the Locomotive Exhibition piece I used the environment as a circular frame, while having the exhibition attendees as a tool to draw focus towards the focal point. I usually don’t sketch it out like this, but I’m always aware of where I want the focus to be and experiment directly in 3D to see what works and what doesn’t.
Building Intricate Models
I do all of my hard surface modeling and baking in Maya. It’s my preferred program and what I’m working with the most, both in school and in my part time work. My workflow is similar to the usual high poly to low poly workflow that’s quite common, with the exception of a few things. I prefer modeling most of my details (such as bolts) directly in the high poly model since I find it just as fast as adding it in the normal map later. When possible I also try to use floaters, instead of modeling parts into the geometry.
I used to do all modeling with Maya’s marking menus, but during my time at Future Games I’ve completely transitioned to custom hotkeys and scripts, which speeds up my process a lot. It’s like night and day for my workflow, so I highly recommend binding as many keys as possible. In my opinion, if you use anything more than once, it deserves a key binding.
I mostly use Zbrush for the organic modeling and Marvelous Designer for cloth creation.
Texturing
I almost always use Substance Painter for texturing nowadays. It’s really fast and simple to work with. I bake ambient occlusion, curvature and whatever other maps I need directly in the program, and use this information to generate masks. This is where all the small high poly details really pay off, since the masks adjusts to them.
Using smart masks and tweaking them in different ways is basically all I do. For the dragon I got some great details from the alphas used in Zbrush, which allowed me to easily generate color variation for the dragon’s height differences. I used a green base to match the ship’s colors and some red and yellow to make the head and various details stand out. Generally I start out by keeping the colors of different objects within a similar color range and push the colors when everything is more or less established.
The old version of the ship was completely made with tiling textures tweaked in Photoshop. This resulted in a lack of texture variation, especially since you can’t vertex paint in Marmoset. For the new version I combined the tiling textures into one map, and realigned my UVs after that. I used a normal map generated with Quixel’s NDO to get curvature and AO maps for the planks, which helped me create some accurate wear and algae masks for the base.
For the sail I didn’t have much information to go on from the baked maps, but I could still blend different procedurals to get a used and worn feel to the fabric. I had the patterns and colors in different layers, so I could adjust wear for them individually. Having small variations in height and roughness adds a nice touch as well.
I usually don’t paint much with the default brushes in Substance Painter, but I always use the Dirt 1 or Dirt 2 ones if I’d like to edit any of the masks, which I do with a paint layer.
I barely use ID-maps anymore, because of the Polygon Fill option. It’s really fast and flexible when blocking out materials for faces, UVs or whole objects.
My texturing overall is a pretty ordinary PBR workflow, and I don’t really use any particular shader tricks.
Post Processing
When working on my projects I always get inspired to add even more and more stuff. If you include small additions like particles, characters or small animals in the scene you can easily enhance the storytelling and the sense of scale and life.
Since the seagulls and fish are so small, I didn’t want to put too much time into making them. Sculpting these minor details in Zbrush would’ve been crazy. I solved this by tracing two images of a seagull from the side and the top with Create Polygon Tool in Maya. Then I merged them together while using the same images as textures.The same process was used for the fish.
Similar kinds of tricks goes for the humans. I’m not really a character artist, so I used sliders to generate a suitable, but still unique human in a free program called MakeHuman. The actual work was instead made in Marvelous designer, where I sewed my own medieval clothes.
The rain drops and the splashes are basically all planes composed in Maya, with a few texture variations.
I often get asked about the water base of the scene, which basically is a tessellated water image. The trick here is a generated height map in Bitmap2Material, that’s applied on a circle-shaped plane in Marmoset.
To make the underlying sphere I used the same height map in Maya and extruded the geometry down and in towards the middle.
As for the water materials I used a glossy non-transparent surface for the top, and a transparent blue-green material for the bottom. I used the same normal map for the bottom as for the top. Having local reflections enabled made a huge difference to the water reflections.
Lighting
I believe the lighting is really important when working with mood and making your finished props look their best. Experimentation is something I do quite a lot, trying out lights from different angles and different HDRI images if I’m using those.
I do have some principles that I often follow, such as using warm light and cool shadows, or the reverse. This is done with a strong warm directional light in the front, contrasted with one or two subtle cool lights in the back, or with post processing where shadows are tinted blue and highlights orange. While it doesn’t work for all kinds of scenes, it’s something that usually works great when showcasing hero assets.
I used a variation of this set-up for the Locomotive scene in Unreal Engine, but with the main directional light coming straight from above. This was mainly because I wanted a spotlight affect appearing on the floor, created by the shadows cast from the ceiling’s main dome.
Advice
I was a beginner myself not that long ago, and I’ve found that finding my passion projects and sticking to them have been key to both my own development and some nice portfolio pieces. When working on something you care about you have no choice but to conquer your challenges in one way or another. So don’t focus too much on what you think other people want to see, but instead what makes you excited, especially when you’re just starting to learn.
While the subject matter of course is important, a great presentation weighs just as much. Think about a scenario, make a small diorama, it doesn’t have to be a complete environment if that’s too much for you. The good thing about starting off small is that when you’re in the middle of it, adding new things to an already existing environment gradually becomes easier.
Try and take shortcuts where you can. Small pieces of the presentation shouldn’t take too much time, even if it might seem complex, like a character in a scene where it’s not the focus. Instead, spend your time on the assets that matter the most in the scene.
Finally, to increase your speed I couldn’t recommend it enough to use hotkeys. Not only does it save you time from looking through menus and marking menus, it also impresses your friends and clueless onlookers. Here’s a link to my custom Maya 2016 hotkeys if you’d like to try them out.
Joel Zakrisson, 3D Artist
Interesting links:
BUILDING INTRICATE DIORAMAS IN 3D