Angelo Tsiflas did a breakdown of his stylized environment Witch Hut made in ZBrush, Maya, Substance Painter, and Unreal Engine 4.
In case you missed it
You might find these articles interesting
Hello, world! My name is Angelo Tsiflas and I’m an Environment Artist from Athens, Greece, with a soft spot for stylized worlds. I’m currently working as a 3D Artist at Terahard Studios, where I get to create both environmental props and characters for the upcoming game, BADA Space Station. My career started a couple of years back – I was working on various projects ranging from happy little indie games to immense archviz projects with various teams all around the world while studying 3D Animation at a local college. As a kid, I always loved playing with lego bricks and I couldn’t be happier to be in an industry where I get to do the same thing on a daily basis.
Witch Hut: Concept Art, Planning, and Reference
While browsing Artstation and Pinterest in search of concept art for my next portfolio environment, I stumbled across Ann’s beautiful Witch Hut concept piece. I immediately fell in love with it and started working on how to best translate her vision in 3D.
A big reason I specifically picked this concept is its huge variety of assets, ranging from many different wooden surfaces to organic models such as fruits and a baby Kraken (because why not?). Lighting was another area that I wanted to push myself in with this environment. It was also my first time working on a detailed interior scene and I quickly realized that this would be the perfect playground to do such a thing. Before I started doing any actual work, I set up a rough asset list of things I wanted my scene to feature and started collecting as many reference photos of their real-life equivalents as I could. At this point, it’s worth noting that I tried to give my own twist to things and not strictly follow the original concept one-to-one.
I followed the traditional high to low poly workflow for everything except the modular wall kit. I start off with a rough blockout for everything, then import the objects in Unreal Engine to check how they fit in the context of the scene. Since we are in the stylized realm, I felt free to deviate a bit from the real world scale and silhouette.
After the initial block pass, I tweak anything that needs tweaking and start preparing everything for sculpting in ZBrush. One important thing to always keep in mind is to group models as much as possible (e.g. floor/ ceiling planks, fruits, glass jars, etc). This helps speed up the sculpting and texturing process as I’m able to sculpt in a consistent and uninterrupted way. I typically start with “Dynamesh-ing” everything to make any big changes I want in the sculpt without having to worry about the topology. When I’m happy with it, I do a quick ZRemesh and start refining (and subdividing) until I have my high poly ready. Before I export the sculpts back to Maya, I make sure to decimate everything a tiny bit so that my files don’t get needlessly heavy. In most cases, a decimation percentage of about 15-40% should work really well without sacrificing any visual quality.
As far as my sculpting style goes, I don’t believe I have a distinct one yet. Games such as Overwatch, Sea of Thieves, Ratchet & Clank, Little Big Planet have been a huge influence and inspiration in my work. My main focus is to convey the correct surface information about a surface while keeping all surfaces clean and polished. An easy example where that is obvious is with the way I treat wood surfaces compared to metal ones. Wood needs its cavities and directionality pronounced, while metal is typically portrayed with bigger, yet consistently sized, flat areas.
Retopology / UV Mapping / Map Baking
For my low poly, I try to reuse as many parts of the blockout mesh as possible and manually retopo everything else using the typical Quad Draw tool in Maya. UVs are done inside Maya as well. I always strive to have clean, straight UVs with enough padding between UV shells, and that really helps a lot in having clean bakes and textures down the line. A safe number for padding that I use is 8 pixels for a 1024 pixel size texture. Once UVs are done, I run a script that turns any UV seam edge (above a certain angle threshold) to a hard one, so as not to have any smoothing issue on my normal map bake. Before I export everything to Marmoset Toolbag for baking, I make sure to properly name everything. This ensures that everything will be automatically loaded and assigned to the correct bake groups. Using Toolbag’s “Quick Loader” allows for a really non-destructive baking workflow. You can learn more about it here. The last thing I keep an eye out for is the cage distance slider for each piece. I double-check it, select my baked map outputs, and click bake once everything is ready.
As far as texturing goes, Substance Painter is the tool of my choice. At the start of each project, I do some lookdev tests and slowly build a small personal smart material library. I base that on the most common surfaces that I’m likely to encounter while working on the scene. For this one, I knew I would need some metal, copper, wood, cloth, and a few organic smart materials. Each smart material is composed of several Fill layers with masks depending on their use. I start off with a clean base fill, some surface information with a generic soft noise, and then build up my highlights and occluded areas. Below you can see an overview of the smart material setup I usually use for stylized surfaces.
Everything apart from the bottle, jars, and spiderwebs was textured using the aforementioned workflow. The wall modular kit required a different and more scalable approach. For that, I went with a set of 2 hand-sculpted seamless concrete wall textures. I used ZBrush for sculpting, baked everything down to a plane, and textured them with the same smart material preset I created. Once they were inside Unreal, I created a simple vertex color blend material and painted the wall vertices wherever I wanted the cracked wall underneath to be shown.
With all the asset-related parts out of the way, now it’s the time to start worrying about lighting. Before I start dropping any lights in there, I write down the mood and feel I want my environment to convey. In this case, I wanted to give everything a relaxed and cozy autumn feeling. To achieve that, I knew from the beginning that I’d need a strong warm directional light with as much soft indirect shadowing as I can get. I generally try to keep my lighting setup as simple as possible, meaning that I’m only using a static directional light and a skylight. Before I start any light tweaks, I lock my exposure at 1 so I don’t get misguided by the automatic exposure settings. Once I find an interesting angle for my directional light, I play around with its indirect intensity and start doing quick preview quality bakes. When I’m satisfied with it, I move on to do the same with my Skylight. Lighting for me is really an iterative process and I went back and forth tweaking values many times while working on the scene. By the time I finished working and importing all the assets, I already had a balanced lighting setup that was ready for production baking.
Post Process, Color Grading
My post-process settings follow a similar pattern. I split the post-process volumes into two parts. The first volume is for a general purpose stack of effects. That includes effects such as Locked Exposure, Vignette, Grain, and Chromatic Aberration. The plan is to stack any additional post-process volumes I’ll need to in order to change the color grading. The second volume holds any additional color grading changes that I may want to add later. This setup really helped me try different color grading styles before I settled on the desirable mood.
But even if you’ve got the best lighting in the world, your work would still suffer if you don’t pay close attention to your composition. In my case, I did my best to follow the concept’s composition as much as possible but also taking a more realistic approach to how some elements in a real witch house would be arranged and placed. For the majority of the time I’ve worked on the scene, I used only my main camera angle. Only once everything was in place, did I start moving cameras around to get a feel of the space. I’m always on the lookout for interesting and pleasing angles. I heavily use the rule of thirds and try to balance out the amount of dynamic vs relaxed camera shots.
As I mentioned before, the target for this scene was to evoke relaxing emotions. A not so obvious but equally important way to achieve this was to extensively use horizontal elements throughout the scene, as well as give the viewer lots of areas of rest. Turns out that I could also use these big wooden columns as a visual guide for the eye to follow. As you can see in the overlaid screenshots below, there’s a fair amount of straight lines all over the place and I tried to make use of them by placing cameras at specific angles to emphasize my point of interest. The last thing to note is that I balanced most shots by having “noisy” spots on the sides of the shot (using the rule of thirds overlay as a guide) and usually left the center of the frame fairly subtle.
Challenges and Lessons
The single biggest challenge I encountered while creating this scene was simply finishing it. This was my most ambitious and big project up to this day and at times the backlog of things to be done looked like the world’s tallest mountain. Add a full-time job and a couple of freelance gigs on top of that and you’ve got yourself a great chance of burning out. Unlike with earlier attempts to work on such a big personal project, it felt like something in my brain had just switched off and stopped caring about the completion date – I just let myself take everything in one small thing at a time. As I said before, the goal for this environment was for me to stretch my prop making and lighting abilities, so I stopped looking for the final destination and focused more on the process of actually doing the work it takes.
Τhe main takeaway from all this would be to always focus on working on something that provides you with ample space to grow both on personal and artistic levels. This might sound a bit random but personally, I can already see how differently my past self was thinking when he started this scene. The lessons I’ve learned both in the technical and artistic areas have been invaluable and most of the time, it’s all about all those tiny little issues you encounter here and there that watching a tutorial cannot provide.
At this point, I would like to give a shout out to the amazing Dinusty Empire and Experience Points discord servers. They were from the very beginning when I hit a brick wall with a technical issue and there was always someone who I could talk to and ask for honest, constructive feedback when I needed it most. I’ve already met so many amazing artists and people on these servers and I love seeing the growth that is happening for everyone there. Lastly, I would also like to thank my partner in life and art, Aya, for all her patience, support, and passion she has shown about my work in all those years. I don’t think I would have been here talking to you if it wasn’t for her.
I sincerely hope that you took something valuable from reading this. My inbox is always open to everyone who might have a question or need any clarification on anything that I’ve written here. Special thanks to the 80.lv team for providing me with this amazing opportunity to write this article and of course thank you for taking the time to read it!