26 September 2020

Viking House in Unreal Engine – Egor Kayyali

e-kay-1-scaled

Introduction

Hello world! My name is Egor Kayyali (E Kay on artstation), I’m Russian 3D environment artist. Before game art i’ve been working as a graphic designer and specialised in advertising. Today i’d like to make a short breakdown on my latest artwork “Viking house” in UE4.

r-rainbow-avikings01

Style searching

I am a very big fan of “Uncharted 4” and honestly I think that this art style is the best example of how games should look like. Semi-realism (or “stylized realism”) is my true love.

 

I’ve tried to emphasize some of the main (in my mind) marks which form this unique artstyle:

All these marks make boring realism, look alot more fabulous and interesting. Obviously, I haven’t highlighted everything, but I’m working on making my style as close to the style of the game as possible.

I’m an artist, and my soul demands to come up with new elements that make me stand out from others! So I decided to open “Overwatch”.

1111111

Finally, I identified a few points that I decided to follow:

 

  • Highlight edges by curvature map
  • Add gradients on every constructive part of the house 
  • Highlight some angels by vertex blend 
  • Make materials more stylized by amplifying the intensity of normal and smoothness using top-down gradients

 

Blocking

I really like the architecture of the house on Nydia Ni’s concept so I used one very simple method for accurate and literal transferring it to 3D.

I placed some humans for scale in front of doors and put a camera in Maya in the same position as it was put in the concept.

Screenshot_13

Then blocked all elements, and finally got a really nice result!

unnamed
unnamed-1

It is a very fast and simple method that gives quite good results.

I made this house more as a decorative element for the location, so I didn’t think about whether the player could run around and roam to see elements freely. It turned out that he could, but if I was faced with the task of making it as a gameplay element, I would of done the blockout in the engine then in Maya.

Shaders and textures

I’ve used three texture samples.

One trim atlas and two tiling ones from the Megascans library and some additional normals for imitating unique assets by using the “Blend Angle Corrected Normals” node. 

e-kay-screenshot-5

For the trim atlas, I made unique high polys in ZBrush using Maya instances for blockout.

unnamed-2

By the way, I’ve tiled the detalisation by using WrapMode in Brush menu.

unnamed-3

Now it’s time for Unreal…

Material editor is a very powerful tool that gives artists the opportunity to do very cool things. The system let me implement points of my vision of semi-realism that I described earlier.

Screenshot_2

Gradient controller:

gradients

I created a very simple controller, using some maths and engine information about world position, object position and object’s bounding box. 

unnamed-4
ezgif-6-45dd2ca60c1e

That system gives me a BnW mask so it was easy to connect it to the “FlattenNormal” and roughness blender (Blend_Overlay) nodes and make some control by maths.

Edge highlighting:

 

When I found out about the pipeline I used my world turned upside down 😀

 

I think it is obvious to everyone that the advantage of tile textures is that they are seamless, that is why we can set a fairly large texel density even with a small texture resolution. The disadvantage of this approach lies in problematically adding the unique information where it is needed. Then the second UV channel comes to the rescue! 

 

So, i’ve mapped all desks in my house by tile:

Screenshot_21

Than opened UV menu and UV Set Editor:

unnamed-5

Than created the second map by using “New”:

Screenshot_23

And layed out all desks as a unique in the second map:

Screenshot_24

And now my house has two UV presets at the same time! And yes, he can! And he always could 😀

wait-its-all-meme-1

I then made two maps in Substance Painter using generators:

Changed Coordinate Index in “TexCoord” node from 0 to 1 to apply this map only to the second UV channel.

Screenshot_25

And blended them in the engine by a simple node “Blend_Screen” with base wood tile.

Thanks to this, I’ve got a unique detailisation at the joints between the desks, which appear in roughness and base color and beautiful highlights on the edges, which I loved so much since “Uncharted 4”.

ezgif-6-2e84abf23b00

I’m not the inventor of this pipeline. I took it from Shubham Kumar’s article and adapted it to my tasks.

Vertex blend

I had 3 presets for Vertex Blending. The first one gives me the control on the base color, the second one allows me to show detail-path where I need it and the third one adds some paint by AO mask (which was put in the second lerp alpha). By the way, one of the highlights which makes this detailisation more valuable. 

 

ezgif-6-b937a5a42895
e-kay-6-scaled

Conclusion

Obviously, I’m still very far from the quality of “Uncharted”. Maybe that’s why I’m not working in “Naughty Dog” yet… But making this house I’ve learned a lot, and, what is most important, I’ve got great pleasure from the process and I wish you the same!

Enjoy your work, look for non-standard solutions and then life will sparkle with new colors, which is especially necessary after reading this article, filled with a wild number of mistakes and very hard words. Thanks for reading, I hope that “Games Artist” will message again and again to write about my new artworks!