3D Environment Breakdown: The Croft Antiques Shop

3D Environment Breakdown: The Croft Antiques Shop

Balazs Domjan shared an extensive breakdown of his rich environment The Croft Antiques Shop covering various topics including work with references, modeling and UVs in Maya, approaches to texturing, composition, and lighting.

Introduction

My name is Balazs Domjan, I’m a self-taught 3D artist from Hungary. Previously, I studied business economics at a local university for 7 years. Even though it has never been the thing I was the most passionate about, the games and film industries were almost non-existent in my homeland. That’s the reason why I haven’t considered that as an option when I had to choose a career path, so I stuck with economics for a long time. 

The only form of art I could afford and had the chance to make was traditional drawings. My brother loved it and I always watched with admiration as he was sketching cars and motorcycles. That kick-started my passion for art in general, and that was my only art-related hobby until around 2 years ago.

I was working as a customer service representative at a global company in Budapest and not being able to suppress my inner desire to become a professional 3D artist didn’t let me stay calm. One day, I managed to gather enough courage to make the riskiest decisions of life: I quit my job, sold my own house, moved back to my parents and started learning 3D. That’s how my journey began!

The chief portion of my knowledge has been gain by self-educating myself. I was using free resources from the web, especially from YouTube and various online forums. I also took 2 courses at CGMA, and I did ThinkTank’s online program too. Even though it was a good way of learning, I couldn’t finish it, because my financial situation at that time didn’t allow me to do so. 

That’s why I was relying on myself, and I needed to be resourceful and very dedicated. A big change in life was the point when I joined the DiNusty, and later on the Experience Points discord communities. The help and support I received from those beautiful people cannot be measured by any means. 

Another incredibly big help was the mentorship I took with Ryan Benno. I consider him an extremely talented artist and he was able to help with literally anything I needed. I didn’t only receive critiques on the artistic and the technical sides of things, but I also got my questions about the industry answered too. His experience and expertise were major sources of feedback for me. So, I owe him another big thank you!

1 of 10

The Croft Antiques Shop: Goals

The Croft Antiques Shop was the 3rd scene I’ve made in Unreal Engine so far, although this is the only one that I can confidentially call a finished piece of art. Therefore, I had a little bit of experience which I gained during the first two projects and the tools I had to use weren’t new to me. 

I had numerous goals in mind when I deiced to make this project. The most obvious one is that I needed a strong piece in my portfolio. However, this wasn’t the most important thing: I also wanted to learn as much as I could, and wanted to have fun while making it! Learning is what helps us to make progress and grow as artists, and enjoying the work we do is essential to stay focused. Art cannot be made without real passion!

When I was browsing the web for ideas I might like, I stumbled upon this concept art, and I fell in love immediately.

I wanted to make a fantasy scene first, but this one has just had so many things to offer which I couldn’t resist. I love sculpting, and all those objects scatter around in the shop were begging me to craft them. I wanted to try how efficiently I could deal with assets with really complex geometry and to also sharpen both my organic and hard-surface modeling skills. Besides that, this scene had a ton of materials I’ve always wanted to explore. I’ve never textured wood before, and here I had countless opportunities to do so. The items also made of a wide range of substances: there are stone statues, antique pottery items, old scrolls, bronze vases, just to name a few. 

Another big goal with the scene was to enhance my lighting skills. I really adored how the sun painted a light beam on the concept art, and how the whole image was lit in a serene way. 

I also wanted to improve my compositing skills. When I chose this idea I knew that apart from the basic layout of the room (the walls, the position of the counter, and where the objects are in general), I was going to have to put this whole scene together on my own. The painting was too noisy and wasn’t readable enough to rely on that, and also I wanted to have multiple close shots. So this was a perfect opportunity to practice and sharpen my skills! 

The last thing is that I just really liked this image. I love traveling and exploring the world, but I never had too many opportunities for that. I’ve always wanted to discover the Asian continent, and this scene somewhat gave me the chance to do so. Consequently, the hype level was above the sky, and I dove into it!

Reference

When it came to gathering reference, which was the very first step, I used the main tools: google images and Pinterest. The latter was especially powerful, and I had a board with around 3000 images. Whenever I saw something that had a slight chance to fit in the scene, I saved it. The next step was to filter these images by saving them in a Pureref file.

What you can see in this image is a brutally trimmed down version of what I had during the project. That was at least 10 times bigger. I had to regularly clean it up when I either finished an asset or decided not to go with an idea I had there. Although, it does provide us with a general picture of how I was organizing the references into different categories.  

Besides these images, I also used movies not only to get inspired but also to see real authentic oriental interiors. I watched films like Crouching Tiger, Hidden Dragon, Rurouni Kenshin, Forbidden Kingdom, and the Ip Man movies. Even 2010’s ‘Karate Kid’ and 2016’s ‘The Great Wall’ turned out to be great resources.

Combining these methods I had a very solid base of reference I could confidentially work with. 

Sculpting & Modeling

When we want anything we make in 3D to look believable and convincing, we need to observe the reference as carefully as possible. That’s the essential core which all artists should keep in mind, in my opinion. My point of view is that we should understand how the real-life object came to existence. Was it created by nature or crafted by human hands? How old is it? Where has it been stored? How was it used? Is it damaged? If so, how did it get damaged? These are just a few examples of basic questions that helped me understand the assets, the materials, the space, and literally everything, and it made my work more efficient. 

All the items in my scene, including furniture, are handcrafted objects. I was looking at the furniture pieces with the eyes of a carpenter: I tried to figure out how they were made in real life, what their components are, and how they were assembled together. I always tried to answer these and then make the high poly accordingly. 

You can see in this image how many components I modeled for one of the end tables, whereas the low poly model is only 1 contiguous mesh. The only thing I did with them in ZBrush was to sculpt some damage wear along all the edges. This rewarded me with a very decent high poly in no more than 10 minutes, which meant a lot during the texturing phase. You can see the high poly in this image:

I think it’s immediately apparent how important having those elements as separate models is. A sound high poly model is key! Without sculpting the edges, those thin crevices along the areas where the components are joint together wouldn’t exist. 

When talking about the statues and other fairly complex assets, the whole story takes a different turn. Almost every single one of them required a unique approach. The shogun helmet, for instance, is one of those props which are almost 100% hand-sculpted. 

This is what I modeled in Maya:

Nothing crazy, super simple geo. I knew that the meat is going to be added by sculpting, so I didn’t dwell on it for too long. Although the mask was a bit trickier. What I eventually did was to download a free model of a human head and draw over its face with the Quad Draw Tool. I only needed to extrude the flat mesh I had, and I got a perfect base for the high poly. 

1 of 2

I could have gotten away with using alphas everywhere and call it a day. However, I had a reference image of a really cool helmet, and I wanted to replicate it as precisely as possible.

This meant that the only way of making it happen was raw sculpting. I had no issues with that, to be honest, because I love the process. 

However, there were certain areas where I found a way around. The back of the helmet is a perfect example! Those little ornamental details have fairly simple shapes, and being a bit procedural didn’t hurt in this case. I set the radial symmetry to 100, started sculpting and the magic happened. 

This sculpt was actually really useful for another asset, because I re-used that dragon on the two big stone pillars. If I didn’t tell you this, you would probably have never noticed it. I did the same with baby Buddhas.

It’s immediately apparent on the high poly sculpts that I only made one head, one hand, and two bodies, and got 3 Buddhas out of those. The only thing I needed to do was simply duplicate the meshes and either rotate or mirror them and boom! Buddhas were ready to rock! 

Another useful shortcut that I used quite extensively was the Insert Multi Mesh brush. I created meshes of those areas/patterns which I saw I’d be repeating all over the surface. Inside ZBrush, you can make a snapshot of those, and then they can be inserted on the surface wherever you want. The best example of that is the dragon stone pillars. You see in the image below how many times I inserted those meshes on the left. Making them again and again would not take a significant amount of time, but it would also be very boring. 

The last feature of ZBrush I’d like to quickly mention is See Through. I couldn’t even count how many times I used that. The basic idea is that you open an image, place it behind the ZBrush window, go back to ZBrush, and adjust the slider on the top. This makes the mesh semitransparent, so you would see both your sculpt and the image behind it. It’s like laying a translucent paper over a painting.

Whenever I wanted to replicate a pattern that I had a good picture of, I always took advantage of this method. 

Marvelous Designer was another tool I heavily relied on when I had to make any kind of fabric surface. Although I had to be savvy on how to get the look which I was after. For the curtains, for example, I imported the frame which they would be attached to. It helped me with the dimension, so I didn’t need to make guesses. I made 3 rectangles: 1 for the drape itself, 1 small strip above that, and another small but a bit longer strip left in the middle. I froze the latter two and started the simulation. The gif below shows what I did:

The tablecloth was another tricky mesh to get done. I had to import a rectangle and the table I’d place it on. Then I made two rectangles of cloth, stitched them together, and let them fall on the mesh I imported. This maneuver folded the cloth. I repeated it a couple of times and then dropped it on the top of the table. See the process here: 

UVs

The method I used for unwrapping the UVs heavily depended on the geometry of the actual asset. Although there was one thing I universally did on each asset, which is creating two UV sets: one for the texture and one for light maps. 

These two maps have different purposes, therefore their layout varies from each other. The texture UV needs to be laid out in a way to occupy as much of the space as possible. We want sharp textures, so taking advantage of as many pixels as we can is essential. 

Whereas the light map UV needs to be more connected. We can slice the mesh up to as many shells as we wish for the texture UV, but in case of the light maps, the surfaces that face the same direction should be connected. The main idea here is that only those edges with a relatively large angle should be cut. Let me show you 2 examples.

These are the UVs of the turquoise dragon statuette:  

 

It’s immediately apparent that the model on the left is chopped up a bit more brutally. The meshes need to be cut along the sharp edges (with at least a 90-degree angle), and the rest needs to be softened. By doing so, when baking the maps in Painter, we’re going to get all the edges baked down nicely.

But when it comes to the light maps, the fewer UV shells we have the more effective the result is going to be. I don't have enough technical knowledge to know why, but the engine tends to leave artifacts along those edges where we slice the UVs. Therefore, they need to be as connected as possible and also be unfolded and laid out fairly evenly on the flat UV space. Also, the way I divided the mesh on this particular example might not be perfect! This is just something I noticed, then conducted research on, and acted as I saw fit. 

There’s one crucial thing I’d like to mention, which can be demonstrated by one of the tables. The idea I want to get across is how the texture UVs are cut on this model. I knew that this model was going to have a wood texture on it, and the direction of the wood grain on the surface is crucial! That’s why I always rotated all the shells and had them either vertically or horizontally. The key here is to make them follow the same direction. This is what I’m talking about: 

Moreover, this furniture is assembled from smaller components, so I had to make an incision where they are joined together. This is fundamental because where one component ends and another begins, the direction of the wood grain changes. I circled a couple of examples in the image below to illustrate what I’m actually trying to point out:

The last thing I believe is worth mentioning is how I UVed the round objects, especially the vases. Even though it’s nothing too complicated or novel, it's still beneficial to straighten the UVs. 

The reason why the upper half of the UV space is almost blank is that I used the same texture on another vase, which is not present here. Looking at the rest though, I used this layout because I created alphas for the ornamental patterns which I then applied on the surface during the texturing phase. The default unwrap in Maya results in a curved shell, which would have been a bit more complicated to work with. 

Texturing

Every single asset had its own history when it comes to texturing. However, there were a few general methods I used when certain props had similar characteristics. The objects in my scene can be placed in categories, such as furniture, pottery, books, statues, etc. Even though every single one of them required a unique approach to an extent, they had features in common which made my life a bit easier. 

Wood was probably the most ‘supreme’ material in the scene, you can see variants of it all over the place. All the furniture, for instance, started out by applying a basic variation of that. At the first try, I was about to make different wood substances in Designer but this proved to be a very ineffective and time-consuming method. So, what I ended up doing, after brainstorming and iterating a lot, is that I downloaded photos of wood from the web, not caring about their resolution, and used them as the base for the textures. 

I want to mention that I could have done the same in Designer, generating a couple of wood grains. Although, using photos was not only significantly faster but also a photo from real life is precise, therefore more believable. 

So I gathered a few photos, scaled them up to 2k resolution, turned them into grayscale images, and made them tileable. Super quick, super easy, and the result is perfect. In half an hour I made at least a dozen of those. Here are a few examples: 

The way I built up the final texture in Painter is very simple: I had a fill layer as the very bottom one and applied one of these grayscale wood grains in the color, height, and roughness channels. A levels filter needs to be added here because the roughness values should be inverted. Without doing so, the dark areas would be more reflective, which makes it feel a bit unreal. The height intensity is also always turned all the way down because it needs to be subtle. 

On top of this layer, I added a uniform color, which I always picked from the reference images, and I set the blending mode to overlay. This immediately gave the surface a very nice tint. This can further be enhanced by adding another color layer, picking a darker color, and masking that out by using the original wood grain texture. 

I also found the ‘Iron Old’ smart material a really handy one in this case because it has normal and height maps with nice little imperfections to the surface. 

The next step was to add some edge wear. I made a raw wood material by combining Photoshop and Substance Designer workflows. I placed this on top of what I had at that point and applied the ‘Fabric Edge Damage’ smart mask. This masked out all the edges, and I added another fill layer to mask setting the blending to multiply and selecting a grunge map. Those are procedural textures, so their balance and contrast can be adjusted, which makes the workflow very flexible and non-destructive. If this mask is not enough, we can always enrich the mask with another fill layer and repeat the process. 

Additional subtleties that could help to make the result more convincing are a bit of dust on the surface and darkening of the cavities. The former is no more than a simple fill layer with a bright color and a relatively high roughness value (around 0.7), masked out by one of the smart masks. The latter is only a black color with either a ‘Cavity Rust’ or an ‘Occlusion Shadows’ mask. This is how the full material looks like:

One thing to keep in mind though: these smart masks don’t get the job done! They’re only giving you a base you can work with. Those need to be worked on a bit more to make the result authentic, it’s not enough to apply one and call it a day! 

More importantly, texturing is all about observing the reference. This is so vital that I cannot emphasize it enough. This doesn’t mean that we must replicate 1-1 though. What’s important is to understand the core values and see why the object looks like that in the photo. I can demonstrate it by this dragon statuette:

It’s immediately apparent that there’re differences between the reference and the 3D model but they are both convincing. Their color tone slightly differs, but that doesn’t make the model look less authentic. The reference is a bit more worn, but that’s still not an issue, because I understood the way how it might have got damaged. The bright basic material first appears on the sides and the bottom. Furthermore, it’s less apparent in the crevices, but more on the flatter surfaces, which are more exposed to a potential hit. 

I also identified the basic material and that there’re 3 different paints applied to the surface (turquoise, dark purple, and a very bright and slightly saturated yellow tone). This immediately made my life much easier, because I only needed to make 4 materials in Painter and then just mask them out and paint them on the mesh. 

The last touches, which I almost always add, are darkening the cavities and the occlusion a little bit, and add subtle dust on the surface and the crevices. You can see what difference it makes in the gif below:

So, you can see that texturing is actually super simple. It almost wholly depends on how carefully we observe the reference and how much love we put into the process. The rest is just adding uniform colors and playing with the roughness and height. 

Scene Assembly & Storytelling

Even though taking care of all the prop work was a considerably big effort, the most demanding and time-consuming part was the actual scene assembly. 

The concept only helped with the basic layout of the room, but that was actually it. I saw the silhouettes, the big shapes, the materials, the lighting scenario, and the dominant colors. That already gave me a fairly good foundation to start out with, but after blocking the scene out and making the basic tiling textures, I got stuck.

For more than 3 months, I was barely able to get anything in the scene, because I didn’t know what was going to be there. I had a really hard time planning the composition of the scene, mainly because I didn’t have assets to play around with. Moreover, grey boxes and cylinders couldn't give me a good base for iteration in this case, because I knew the finalized assets would look drastically different. So, I thought that I was going to start making assets, but without solidifying the composition, I didn’t know what assets I should make. 

That’s how I got trapped in a vicious circle, and it seemed impossible to find a way out. Although, I realized that I approached the whole process from a bad perspective: I forgot about the story! 

Up until that point, I only had a basic idea in mind, but nothing solid. I imagined the shop owner to be an adventurous individual, who explores the world and gathers artifacts which then she sells. That was not enough to work with, however, so I put a pause on the manual work, closed my eyes, and let my mind do the job. 

I wanted to give the place a special touch, and maybe mix it with something that doesn’t exist in the real world. I immediately thought of Indiana Jones and wanted to make a connection. Although, I knew that he was a historian, and he was trying to preserve the relics, not to sell them. That’s how I ended up with the Croft family. Lara is also a big adventurer, her whole family was, and I’m a big fan of the franchise. 

Since this scene is set in a time period somewhere around the 60s, Lara couldn’t be the owner. That’s why I figured that it was her grandmother, who happened to move to China to explore the Asian continent. During her adventures, she amassed a quite hefty collection of artifacts, which she had to start selling to finance her journeys. 

Even though I created the character in my mind, I also needed to think about the shop itself. The history of that place is that it had been functioning as an antique furniture store before Ms. Croft has bought it. That’s why there’s a ton of side tables and cabinets all over the place, even on top of each other, because the new owner didn’t care about getting rid of those. 

The basic idea behind my approach was to think about what was happening there at the moment, what happened there an hour ago, yesterday, a week ago, a year ago, ten years ago, and so on. Also to find out about what influence the character has and had on the shop itself. By changing my mind and having this mindset, I was able to get out of the creative block. 

Another crucial thing to think about is what the purpose of the place is. This was a shop with the purpose of selling its articles, and while assembling it I had to think of the mind of the shop owner herself. That’s why I placed that smiling Buddha at the entrance.

This figure is the first thing that people walking down the street first notice. He’s not only welcoming, but he’s also in the spotlight and makes people want to walk in and see what else can be inside. The Buddha greets all the customers with a huge smile printed on his face. He’s almost like a click-bait of that time.

By taking a look at the picture above, we examine how the objects are placed. The shogun helmet, the stone pillars behind it, the sword on the counter, and the dragon statue with tentacles are placed close to the entrance. These are the most magnificent and valuable items in the whole shop, they have to be placed at the forefront. Those items immediately try to stun the curious customers, so that they would want to see more. Furthermore, the areas close to the entrance are less cluttered with articles, and the place gets more packed with less intricate items as we move on to the end of the room. 

In addition to that, Ms. Croft spends a significant portion of her life in this little shop, so it’s kind of her personal space too. That’s why you can see so many objects on top of the counter, with almost every single one them telling something about the character.

The books, the scrolls, and the scattered paper sheets are saying that she’s planning her next journey and looking for new artifacts to collect. The teacup, cinnamon and star anise tells us that she’s fond of having tea in the morning. Combining that with the traditional fan and the incense lets us assume that she likes the oriental lifestyle and culture, even though she’s not Asian. The chocolate on top of the cup on the right also says that she likes indulging herself from time to time and that she is wealthy (chocolate was a bit fancy commodity at that time). I could list many more examples like that just from this image.

Setting Up Appealing Renders

I wanted all the final renders to have a cinematic vibe to them. The first thing I did with a freshly placed CineCamera actor was to set the sensor width to 32 mm. The most commonly used aspect ratios in cinemas today are 1.85:1 and 2.39:1, and I chose the latter because it was much wider. This approach gave me the feeling of seeing the images on a big screen. 

As for having appealing renders, it all comes down to the composition of the image. In my case, the scene had a very high number of elements, which made it both easier and harder at the same time. In the early stages of production, I was brutal: I made drastic changes, like moving something from the middle of the room to the corner. But later on, I moved the objects by a few centimeters (sometimes even millimeters). The harmony of all the elements is what constructs a good composition. 

Lighting

Lighting has gone through countless iterations during the entire process of scene assembly. Although I tried to have a natural approach and think about it realistically. 

The sky is the number one thing that’s always casting light. Therefore, the first step was to make lighting passes by having only a sky sphere in the scene and see how much space it could fill up. I increased the number of sky lighting bounces and the number of indirect lighting bounces to 10 and 5, respectively. That helped the skylight to subtly tint and brighten up the shadowy areas, which would have otherwise been pitch black. I also added a volumetric fog with very low intensity to help me combat against very dark spots. 

Then came the sunlight. I didn’t find directional light effective, because it cast very sharp shadows in areas where I wanted them to be softer. When it happened I turned it off and used a stationary spotlight instead, which I placed in the window. However, Peter Tran advised me to push it back much further, and that made it possible for me to simulate the sunlight more accurately.

I’ve also found that even though directing it a bit down to the ground decreased the intensity it hit the interior with, it cast a much more diffused light, resulting in nice soft shadows. 

I wanted to have the counter area in the spotlight, and the main directional light was not doing a perfect job. I placed the lanterns on the ceiling and put light sources there. This is how the setup looked like:

The spotlight aiming down was not enough in itself, because the lantern mesh was still unlit that way. That’s why I cuddled it with static point lights and placed another spotlight which is directed upwards, hence hitting the ceiling. I placed these lanterns in a way that they were brightening up the counter.

I also had to place additional lights in the window, which had multiple purposes. The first was to get the objects to cast nice shadows on the floor:

This immediately gave the whole scene a nice little extra touch. I have constantly been on the lookout for these opportunities where lights and shadows could enhance the place without me modeling or texturing anything. 

The other reason why those lights are there is that the sun didn’t hit many objects near the window. 

One of the static lights in the image above is aiming for the table, showering half of it. Then I added the movable light, which produced rim lights on the objects in the background. That accentuated the ornate wood carving and the slight folding wrinkles on the fabric. 

I utilized this static and dynamic light combo very often in the scene. After getting the main shot done, the close shots were flat and I needed more lights with the flexibility of being able to turn them on and off at any given moment. I just needed to set the attenuation radius to a fairly low value and choose the lighting channel which the nearby objects didn’t use. 

Here’re two images to demonstrate the difference between having the dynamic light on and off:

The placement of the objects also played a big role in terms of getting appealing compositions. The big L shaped counter, for example, already sets the direction in the main shot, illustrated by the yellow diagonal line. 

That big piece of furniture is also in the center of the image in a way that its top area occupies the area of that rectangle which is formed by the intersections of the thirds. To make that direction even stronger, I placed a few bright objects which can be connected, some of them are even placed in the thirds. The overall saturation has been turned down, and the dominant colors are brown and red. Those are warm tones and I don’t have contrasting colors here. 

While composing an image, we need to know what we want to achieve. My goal was to create harmony and serenity, and that’s why I chose those colors and placed the object the way they are. The very best example of this is this shot:

The red lines show the directions set by the objects, and the green circles illustrate the bright spots. The main focal point here is the vase, it’s sitting in the top right third. Connecting that point with the lit areas below it creates two triangles. That’s the foundation of harmony in the image. We can even think of the pyramids: those were not built that way because it looked good, but because it provided a solid structure. They’re still standing after all. If these triangles were turned upside down, then the picture would lose its balance and broadcast tension. 

In order to achieve this result, every single item and light source in the image had to be placed accordingly. That’s why the chair under the table is pulled a bit closer to the camera, why another chair next to the table is pushed back, why the dragon figure is close to the vase, why the table has ornate carvings in it, why the background is dark but the details are subtly lit, etc. 

Afterword

If you made it this far, it means you took the time to read all my ramblings! I’m very thankful, and I hope I was able to provide you with a few things which you might find value in! If you liked this article, you can always check out my Artstation and LinkedIn, where I’m posting everything new that I feel is worth sharing. Bye!

Balazs Domjan, 3D Artist

Interview conducted by Arti Sergeev

Keep reading

You may find this article interesting

Join discussion

Comments 1

  • pecsi.viktor

    Long read but worth every minute. Amazing job and very in depth breakdown. I especially love the parts around creative block and the thought process behind the whole story. Well done.

    0

    pecsi.viktor

    ·2 months ago·

You might also like

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more

3D Environment Breakdown: The Croft Antiques Shop