Modular Rally Point in U4: Buildings & Props

Modular Rally Point in U4: Buildings & Props

Guillaume Hecht discussed his approach The Rally Point, a personal project that took him around a year to complete: iterations, building production, prop design and modeling, materials, and more.

Introduction

Hello everyone, my name is Guillaume Hecht, I currently work as Level Artist at Ubisoft Paris on the upcoming game Watch Dogs: Legion.

Before entering the game industry 3 years ago, I studied at Créajeux in Nîmes, following a 3-year Game Art program. During that time, I learned the basics of 3D modeling for video games in Maya and finished multiple student projects, mostly in Unity. Before that, I took a preparatory year art course after high school at Condé School in Nice. At that moment, I wasn't really sure about my choice, and the preparatory year turned out to be an eye-opening experience that showed me what I was capable of and what I wanted.

As for how I initially got interested in 3D, well, I've been into video games and drawing since my childhood, though I never really considered making a career out of it. My interest in creating things really exploded when I started to make community maps for Halo 3, Halo: Reach, and Halo 4. Halo Custom Edition for modding was a huge blast!

The Rally Point

The Rally Point: The Origin

I should say that this project particular project wasn't very time-efficient in terms of the workflow, and my approach to it was quite sketchy. Yet, I learned a lot during it.

At the very beginning, just after the Meet MAT contest in 2017, I experimented with various stuff like little projects in Maya and textures in Substance Designer. Among other sketches, there was an ark-shaped model. At that time, I had in mind Yannick Gombart's work on Dishonored 2 as I was looking for structural assets with strong curves and lines, and the style of Dishonored met by my needs.

I tried to create an entire scene out of this mode by stretching, wrapping, and scaling it, adding primitives, and using Maya tools that move vertices. It’s messy, but in the meantime, you might end up with something you can use as a foundation for something big.

After some tests, I got the first structure of the scene:

1 of 2

As you can see, it already had many elements that'd remain until the end (like the building shape and composition).

From here, I tried to push it to get a clearer idea of what I wanted. During the following month, I did various tests, rescoping and changing the scene but I couldn't get any conclusive results. I experimented for another month and a half but eventually decided to take a break for multiple reasons: 

First of all, I didn't have any core reference or, at least, the main direction to follow. Each weekend, I changed my mind on what I wanted to accomplish with this project.

Secondly, I was lacking skills in various fields, and if I wanted to reach a decent quality, I had to step back and work on them.

And thirdly, I had a lot of things happening in my personal life at that moment.

From late December 2017 to October 2018, I stopped working on it completely. Instead, I focused on my work at Ubisoft and kept practicing on smaller personal projects like P47.

With this experience, I can say that if you have a chance to set a project you aren't confident enough about aside and come back later, even after several months, - do it.

Further Development of the Scene

When I came back to the scene in October 2018, I focused on three things: what direction I wanted to take, what the limits and scope of the environment were, and what lighting/atmosphere I wanted to achieve.

I started gathering references for what I wanted to do and at the same time what could match the shapes and lines I already had. Gears of War art style along with a bit of Dishonored naturally found their way to the ref board. 

After looking through a lot of different images, I limited my references to 3-4 shots. It helped me avoid getting lost in details that can feel inconsistent when put together despite looking good in their own settings. 

With references, the scope of the scene got clearer, and after the first material pass (stone wall, cobblestone, and pavement) and a rough nighttime setup, I ended up with this result:

Buildings

Creating the buildings involved a combination of the references with the initial greyblock scene and multiple iterations. The first thing I did was splitting the buildings into different parts, with clear and believable metrics size.

It was kind of tricky as I didn’t want to copy the references fully, so there was a lot of going back and forth between Maya and Unreal to check every part of the building and find my own design. 

At first, I wanted to stick to Neoclassic architecture, but all the details and ornaments started to look too messy and not very readable.

With these iterations, along with trying to find the right balance between the stone and metallic parts and proportions, I came up with these modular pieces: a roof, a column, a big window, small x4 windows, a border trim, and some classic wall parts.

When I had the core elements, it was easier to design other assets according to them and create everything as a “whole”. For example, once I had the roof and windows designed, creating other parts mostly involved reusing the assets in Maya without even redoing UVs.

The building with a rounded roof in the background was designed to fill the space and at the same time avoid having to create another part of the city. It works like a big visual occluder. It is composed of three main parts: a window section, a wall section, and a skylight roof part. As you can see, the window and the roof, despite being new meshes, are simply another variation of the stuff I did earlier.

When everything was done, I duplicated the parts in Unreal and created specific parts like the door and the corner to “break” the shape of the building.

1 of 2

The bottom parts of the buildings are mostly composed of shops, and that was done for multiple reasons:

  • It’s easy to add colors to the scene with painted shop fronts
  • It allows me to easily add storytelling. Some “residential” elements like vents, pipes, trash, etc. do not fit the buildings in the scene, so shops or restaurants served as a good workaround.
  • It adds a new set of materials with micro details. While the buildings consist of massive metallic and stone elements, shops come with little entries made of wood, ornaments, and posters.
1 of 2

The shops aren't that modular to be fully assembled from pieces in Unreal, but they do consist of separate pieces designed in Maya which allowed me to build variations quickly.

Props

The props were designed once most of the scene was shaped out because I wanted to get a solid feeling from the architecture and then adapt smaller assets to it.

As I said, shops justified various props that would tell a story: fruits, stands, restaurant-themed props, and so on. The military assets came up pretty naturally as most of my Gears of War references had a lot of crates, supplies, and other stuff. This kind of props could be easily reused throughout the scene if you keep in mind the idea of an army occupying the place for a rally.

Before making assets one by one, I needed to have a rough idea of what I wanted. When I felt confident about the direction of the scene, I took a screenshot, opened Photoshop, and drew on top of the shot, trying to give each place something to look at. Once I was satisfied, I made a list of the props:

I gave each asset a “value” which didn't give me a direct time estimation but rather an evaluation like “this asset will take longer time than this one“, ”this one looks easy” or “oh dear, I have no idea what to do here”. And while creating an object, I tried to write down how much time it took me to design it and make high/low poly with some additional notes.

The whole process wasn't easy because I had little free time to spend on the project, but thanks to this approach, I could keep an eye on what was left and have a rough estimation of the time needed to finish the scene.

The workflow was pretty much classic: I used placeholders for the layout, then designed the prop and modeled what I call a “mid poly” - a model that is pushed enough to have all the necessary details that can be smoothed later but with no subdiv or destructive bevel which allows me to make a low poly rather easily and also plan optimization. At the same time, I tried to prevent any problems that could appear in the future and asked myself such questions as "Are there any parts that could be split and reused with the same UVs?" and "Do I have to split this piece to avoid baking issues?"

The radio station is a good example (and one of the most complex objects in the scene): here we have the mid poly in the center, the high poly on the left, and the low poly on the right with split parts for baking. In addition to this, I always stick to Maya’s grid to be sure my models are correctly aligned and overlap well when baking.

Prior to reaching the mid poly, there were many iterations:

The final textured result:

1 of 3

All the assets were made to fit real-time constraints which meant avoiding smoothing groups' issues and unnecessarily high polycount. Yet, I allowed myself to add more edge loops or keep some fancy bevels on some higher-detailed models with interesting volumes because the scene would eventually serve as a portfolio piece, not a running game with frame rate constraints.

Texturing

As for texturing, I always stick to 512px per meter texel ratio for large and medium pieces, and a little bigger resolution for smaller pieces that need more details like a computer or vegetation. All assets were textured with Substance Painter (Designer was used for tiling surfaces). Base materials in Substance Painter were a good start to work with, but I ended up adding quite many different noises and tweaks, so I often created new smart materials to speed up the workflow and keep the textures consistent.

Since my scene was really messy at the beginning, finding the right kinds of materials was a bit tricky. 

Before getting my hands on Substance Designer, I took raw jpeg images of wall stones or bricks and put them on my primitives to quickly check what they would look like in terms of patterns, tones, colors. Once the types of textures were chosen, I started creating them.

The first material was the stone wall of the main building. Its creation allowed me to make the rest pretty quickly, as nearly all stone/pavement textures in the scene are built with the same nodes with a few tweaks. Changing the stone wall to cobblestone was quite fast, too. The most time-consuming part was to make the first material looking good and with enough parameters to produce other variations.

The first material is the original one, and others are its derivations with adjustments:

In Substance Designer, the workflow was pretty classic as well starting with figuring out the heightmap first, with some cracks, bevels, and slope blur grayscale. I don't really have any particular tips for this part, but I recommend looking for tutorials on the Substance's youtube channel. There, you can get a strong foundation before getting into harder and more complex stuff.

I then kept iterating on the materials throughout the whole production, especially when I realized the cobblestone was pretty dull. I decided to make a global polish on the materials and break the repetition by adding puddles. 

As I’m still an amateur when it comes to creating complex shaders or materials in Unreal Engine, I ended up with a very rough but functional solution: vertex blend two sets of textures. For example, one is a set of dry cobblestones, the other is the same but with puddles. Thanks to a very efficient water node inside Substance Painter, I was able to produce a “flooded” version of my floor materials quickly. 

Don't make the same mistake as I did adjust the base color of your materials where water is present. Since the water is “flat”, Substance Designer won't generate ambient occlusion for it. This means your material will appear with an “unlit” base color on the puddle. I would suggest adding a bit of dirt + AO + fake shadows directly inside the base color for the puddle.

With these ready and a lerp between textures with vertex color constraint in my material, it was good to go! Puddles and reflections really helped to bring the details in the composition out and make the overall scene more interesting.

Afterword

I think the most difficult part of this project was to find the right direction and stick to it during an entire year. Many times, I had to take a step back in order to see what aspects needed to be improved before reaching the final quality. After working on the same thing for many months, I started to feel blind and I couldn't see the problems that were present. Fortunately, I have awesome friends and peers who gave me game-changing feedback during the last few months. This helped me to push the lighting and overall render beyond my expectations. Thank you guys, you are the best!

Mixing up different styles and references required going back and forth a lot, and it was time-consuming. This is by far the longest personal project I've ever done. What kept me involved and motivated was the desire to reach a new level in my 3D environment skills and get a chance to work on more complex projects in the future.

If I were to sum up my experience, here's what I'd say:

Give yourself time. Give yourself time to analyze, fail, and try while taking breaks. Good things take time, especially when you lack experience. Your work speed will increase over time, over years of work. Do not hesitate to ask your friends for feedback and support, especially if you have been working on the same project for a very long time. And avoid sacrificing your sleep for work, take care of yourself!

Guillaume Hecht, Level Artist at Ubisoft Paris

Interview conducted by Kirill Tokarev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    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