Gina Voerde shared the workflow behind the Merchant's Alley environment, explained how the wood texture was created in Substance 3D, and showed the work with foliage using SpeedTree and TreeIt.
Introduction
Moin moin, I’m Gina, a senior 2D/3D Artist from northern Germany. Way back, I studied illustration because I wanted to become a pure 2D Artist. However, through some classes I stumbled into 3D, and some time later, I came to the conclusion that learning 3D would make entering the industry easier. In time, I enjoyed it so much, especially through the possibilities of 3D printing, that I would sculpt more than paint.
My illustration studies allowed me to become better at 2D, my hobby projects advanced my 3D knowledge, and through game jams, I learned more about Game Art. I have worked on Move or Die, Desperados 3, Zoo 2 Animal Park, Mars Vice, an unannounced fantasy RPG, and recently Dawn of War 4.
The Merchant's Alley
When starting the project, I knew I wanted to have some sort of guidance. Someone to check in on with. I got to know Kem Yaralioglu through the Experience Points Discord and asked him about some mentorship sessions, which, every now and then, helped to focus and reassured me that I was on the right path. I wanted to jump in right away, do my own thing, but Kem pointed out that having a visual goal in mind, and Wayfinder and Sea of Thieves both have the shape language I adore so much and play with colors in their textures, e.g., switching up hues, especially in the wood.
I studied the Wayfinder Art uploads from Jasmin Habezai-Fekri, Matêo Chilla, Bad Rhino Studios, Ranko Prozo, Alena Markelova, Jesse Carpenter, and Anton Shcherbakov to see how they treat the style, what texture is, what geo is, etc. Tabletop props were also high on my reference list, since there are many amazingly creative techniques for creating textures. Shapes tend to be very dramatic and exaggerated, while there are details in every corner.
I also researched a lot of envo projects on ArtStation and checked out people’s renderings of the components. This was highly interesting to me since these basically show the whole set of puzzle pieces that you need to make. Sometimes more, sometimes less. And the rest is assembly in Unreal. This helped to break down the gigantic task into something approachable.
Composition
I had a somewhat clear vision in mind of what I wanted from the get-go. A medieval stylized alley, point of view from someone who could be standing on the side of the street. Shops with lots of fruit, vegetables, and pots. A shady tavern with plenty of flasks and bottles inside. A bridge over the street. I did some sketches and arrived at what would become the final composition, which also barely changed in the end. I used fSpy for the first time and realized that the perspective skew was very strong once I started the blockout. Because of that, the blockout felt very awkward and elongated to me, but I learned to trust the process, since it worked fine in the concept.
I created the whole blockout in Blender and moved it over to Unreal, which I wouldn’t recommend. I was still new in Unreal, and staying in Blender felt more productive, however, in the end, I rebuilt everything in Unreal to have control over all the single parts.
For the modeling workflow, I followed Ranko’s Metal Slug tutorial, as I liked the instancing aspect a lot. It allowed for checking the props in context first before starting to polish them.
Foliage
I wanted to utilize SpeedTree to generate some simple bush meshes and then replace the leaf cards with custom ones from Blender. It was a bit overkill, but I wanted to get to know the software. I watched FX Maniac’s YouTube tutorials to understand the UI and learn a bit about what’s possible.
Later, through Viktoriia Zavhorodnia's tutorials, I was made aware of TreeIt, which is a very cheap alternative for generating trees. I also gave this a try, and while it really only can make trees, it was still easy to make it look like a bush and replace the leaf cards. I ended up with a mix of both programs. I also followed the rest of Viktoriia’s grass and foliage tutorials, since the gradient-based material is something I wanted to try. Fun fact, I found her through the 80 Level article about Rita Poulu’s Wizard Tower!
A very simple look into TreeIt with the custom leaf planes
Topology & UVs
Instead of retopologizing everything by hand, I just used the decimation and ZRemesh features in ZBrush. Using the ZRemesh Guide brush allowed for non-spiraling geo, which made unwrapping in Blender easier.
The meshes could certainly be more optimized, especially from the point of view of someone who has created mobile assets for years. But since I aimed for a small-scale level and mainly pre-rendered stills and camera drives, I decided to save time instead of performance. The “trick” I applied was designing the roof tiles double-sided, so potentially I have double the amount. I would use a lot of them, and it helped with the repetition.
Texturing
For the wood, I started with a solid color. I applied a brush generator, which is just a few bitmaps blended and slope blurred together, an approach I saw in Jimmy Malachier’s Ghibli Substance 3D Designer material. Afterwards, I applied some curvature masks for depth and a gradient. All of this is a nice base to add a true hand-painted pass on top and make color picking and guessing quicker. The other materials did not receive such treatment since they make up very little of the scene.
Final Scene
Since I had the alley already made in Blender, I just reassembled it in Unreal. It felt annoying to do this twice, but on the other hand, I knew exactly where each asset would need to go. I had some empty, hidden areas, but once Kem mentioned that I would probably make multiple shots in the end, I filled those up with more variations of houses and shops. I found great joy in vertex painting and followed Robot Army’s tutorial on how to make it work. Covering up areas of bricks behind some plaster was basically the final touch, and I could have fiddled with textures and hues for hours.
Something that helped a lot to stay on track and keep my vision in place was overpaints. Whenever I finished in some area, I would take a screenshot and overpaint what was missing. Different colors, contrast, foliage, sky, clouds, details, and even characters sometimes. If I didn’t like the shape of the rooftops, I would just liquify them a bit and see if it made for a more exciting composition.
Lighting & Rendering
I haven’t tackled lighting in a big 3D scene like this before, and it was very daunting, especially because I felt like my concept didn’t capture a special mood. It was just daytime.
I played around a lot with the SunMoonDaySequencer, trying to find a time of day I like while also getting inspiration for potential nighttime variations. In the end, I went with a very classic directional light approach, after I roughly had a feeling for what time of day I would be going for and what light color that entails. I found William Faucher’s tutorials very helpful in that regard.
I quickly noticed that many areas did not look exactly the way I wanted to, though. The tavern was meant to be way darker and shadier, bounce light under the shop’s cloth should be stronger, etc., so I bent reality to my numerous overpaints a bit. The tavern is inside a hidden sphere, which casts a shadow on the area, while rect lights help with the bounce light from the cloth and blue roof tiles.
Conclusion
It took me probably around 2 to 3 months. I learned various new programs like Unreal Engine, DaVinci Resolve, SpeedTree, TreeIt, and fSpy. I watched so many tutorials about vertex painting, layered materials, material blending, how to make a SpineTool blueprint, cloth simulation, wind, foliage materials, and lighting. My next environment will certainly be a bit smaller!
The main challenge for me was to pull through. I was laid off in November, and I didn’t know what to focus on. Should I make a character instead? Due to NDA, I can’t post the ones I made at work. Should I make something game-related at all? Writing cover letters takes me so much time… should I even bother? Involving Kem helped to commit to the project and finish it.
In the middle of the project, it became insanely tedious to run into progress-blocking issues again and again. Why doesn’t the material blend? Why does my SpineTool not add the end mesh? Why can’t I vertex paint on this mesh? Why is the color space so weird after exporting? Sometimes all that helped was to step away and work on something else. Having a community such as the Experience Points Discord and an experienced mentor did save my butt multiple times, though, and it made me feel less isolated, leading to frustration less quickly.
My advice is to get involved in communities. Post art, get and give feedback. It’s hard, but gathering multiple opinions is the best way to grow. And goof around with WIPs!