This is great. Keeping UVs at 90 degrees never occurred to me but it makes so much sense it seems obvious in retrospect
Unless I'm mistaken, this is how Shadow of the Colossus handles the fur on the Colossi
Awesome breakdown Simon!
There’s a story behind every map, every location, and every environment. For Allegorithmic and Polycount’s Throne Room Challenge, 3D artists Kirill Kravchenko & Daniil Copytsko (Heyworks) crafted a complicated and interesting tale of a mad king in search of philosophical stone. The consequences of these horrifying fictional events were later modeled, painted, and rendered beautifully using Unreal Engine 4 in the Deus Praetorium Map.
Although Deus Praetorium did not win the contest, we still thought it was worthy of a more detailed study. In this article its developers talk about the creation of complicated scenes in Unreal Engine 4, their choice of tools used, and they also advice on building realistic environments with an artistic twist.
About the Artists
I’ve graduated Minsk University of Management as a designer of virtal environment in 2011. I did motion graphics for TV and some web stuff for about a year. I’ve also built a team of some of my friends who did awesome art and worked with them on different projects as a matte painter. Slowly I’ve decided to get in 3D modeling because it’s much easier and faster to block the future painting in 3D and then overpaint it. That was the moment I turned on the “3D side”. Unfortunately,the Force wasn’t strong with me. There were tons of things to study, it was a whole new world for me. Fortunately, with the help of Andrew Maximov (a good friend and awesome artist at Naughty Dog who lived in the house next to me until he moved to Canada) my first steps were much easier than I could imagine.
Kirill Kravchenko: I’m the animation artist. Long ago, I graduated my local college and got a degree in architecture and then I worked as engineer for about two years. It was clear that I had much more ambition in art than I had in the construction business, so I decided to leave. I’ve spent a year being unemployed working with Maya. I also learned some basics in modeling and got my first and last (for now) work in the game development industry as an environment artist. Back then Heyworks was a small company. In a year our company needed an animator and I offered myself. With a lack of sleep and lots of fun it became my main occupation.
Building a Story for the Environment
Throne Room was our first contest actually. We took part in some other competitions, but as a whole the Heyworks team works together and never as separate artists. The contest was incredibly hard! There was so much work on our main studio project that we had to work for 12-16 hours per day, sometimes more.
We’ve got huge support from our CEO Aleksey Yarmolik, who sometimes let us use our paid working hours on the contest.
Creating a believable environment takes more than great visuals. We wanted to fill our small world with some life and story. Our project manager at Heyworks, Andrew Klimovich, wrote an awesome poem about the king’s sacrifice for the opening shot of the Throne Room contest video. It reveals the story behind our environment, the story of the king who killed his own family to create a philosopher’s stone. This little piece of fiction became the idea of our level. We wanted to show how greed can blind people and cause them to make horrible choices and actions, and how dramatic the consequences can be.
We came up with this idea during a brainstorm just after I saw the contest page on polycount.com. It was like, “Hey bro have you seen the new contest? Let’s do it!” Then Kirill said, “Well, why not?” So we started to think about the idea, style, mood, overall atmosphere, etc. We wanted to make something unusual, creepy, and frightening. Something people would be uncomfortable to think about and see. It was then we came up the idea of a dead naked woman. She’s still beautiful, her shapes are still erotic and magnetic but… but she’s dead, it’s just a corpse. It was our first image. Then we started to think about the story. Who is she? Who killed her? Why? After a few hours of this, we came up with what you see.
All textures were made with Substance Designer. We were new to it so it was a bit difficult in the beginning, but after about 10 hours and a few tutorials we were able to achieve the results we were looking for.
Objects with non-tilable textures were sculpted in Zbrush or modeled in 3DS Max and then baked. We used Quixel Suite with their built-in materials as well as custom materials we made. After the base texture was ready, we detailed it in substance painter to achieve a more artistic look.
Allegorithmic and Quixel tools were awesome. They speed up the process of texturing incredibly. We always add some extra hand painted details to the final texture to make it look less artificial.
Unreal Engine for the Win
We have a lot of experience in Unity but it’s always interesting to dive in something, unexplored. We wanted to try another pipeline because we’ve never done something like that before.
UE4 was our choice because of its awesome node-based material editor. It’s a great playground for an artist. You aren’t restricted to what the engine lets you build, you can create exactly what you want. For example, my previous private projects were rendered with CryEngine3. It has great lighting tools, realtime GI, and awesome post-processing, but I always wanted to have more freedom for material creation like vertex painting, masking, world position, texture offset, etc. That’s where UE4 really shines.
There’s always “the other side” to consider as well. In UE4’s case, it’s with the lighting. That was the first problem. We didn’t want to bake lighting, it’s just time consuming. However, the realtime shadow distance and resolution were so bad that we had to edit UE4‘s config files and then we came up with nice and soft shadows with the high draw distance.
The second problem was with glass. Translucent material in UE4 has some sorting issues if it’s 2-sided. For example, our flask with formalin has a two-sided material with a dirty and scratched texture. If it’s one-sided, you just don’t see the backface. If it’s two-sided, the frontface and backface are always fighting so the engine doesn’t know what to render first. It was then we decided to make the glass out of two meshes. One for the frontface and the second with the inverted normals for the backface.
Modern game engines such as Unreal Engine, created a whole pipeline more friendly for artists. Obviously, you can’t be equally good in a technical and artistic way. Being an artist I cant spend much time learning C++/C#. Even with this, there is a brilliant solution, UDK’s Blueprint or Playmaker for Unity 3D which makes it possible to “code” even without knowing basics.
Hardware nowadays have gone really far. As a mobile-oriented game dev studio, 3 years ago we had to count each poly in a scene and every single skin mesh and minimize transparency usage. Today it’s not necessary.
I’m not saying that graphics today is easy to make or friendly for a newbie. You still have to be good in composition, chromatics, and have good taste while having lots of experience. The only thing that changed is the working process (Maya, 3DS Max, UDK, Zbrush). It has become way more friendly and easy to learn!
Cheating in Design
A good environment is just a matter of attention to details and a good balance between big, medium, and small shapes. Just make sure that every object looks great outside of the scene. If it doesn’t look nice and you don’t have time to improve on it – cheat! Some of the objects in our environment are not as good as they appear to be, but smart usage of light and some material tweaks (maybe decals) will make your object pop up.
Same thing with the creation of assets. If you think you can cheat and do something faster without losing its artistic qualities – just do it. For example, we could spend lots of hours on some elements in Zbrush sculpting them, but it’s much faster to extrude normal map from a greyscale texture in nDo2 – or if you need some extra details like scratches and dents you can generate a normal map in Substance Designer from your stencil and some nodes.
All that depends on the object you make. If it’s a foreground object that you want to focus on making some closeups of – you better sculpt it.
Light is The Key to Realism
Realism is not only about the objects or textures. It’s about lighting and how that light interacts with the scene and materials. Proper material setup and lighting will make everything look more realistic like with MGS5 for example. Textures are not overly detailed and the models are not super high poly, but everything looks very realistic just because of the light.
Never make realism your main goal. The artistic qualities are more important. Just look at Final Fantasy. I wouldn’t say it looks realistic: the characters are a bit cartoonish, some objects are overscaled, FX looks more like it’s anime than real life – but it still looks great even without that realism. Making all that realistic will make the picture boring and breathless. Some games are just not about the realism.
If realism is your main goal, try to do some research. Try to find materials you need to replicate in digital, see how they behave in different lighting and weather conditions, how they age, etc. This is exactly the case when working with references is your main task.