Vladyslav Silchuk shows how Witcher 3 would look like in Unreal Engine 4.
Vladyslav Silchuk talked about the production process behind his version of the Royal Palace in Vizima from Witcher 3. The artist talks production steps, working out lighting setting, dealing with materials and other important details.
My name is Vladyslav Silchuk, I’m 19 years old and I’m from Kyiv, Ukraine. I study Computer Science at the Kyiv Polytechnic Institute. 3D graphics at first was my hobby – I’ve been studying it in my spare time for the last 4 years, but then eventually decided to turn his hobby into a full-fledged profession. I am currently working on my portfolio, sometimes working as a freelancer and dreaming about work in the industry as a 3D Environment Artist.
Witcher 3 Scene
The main goal was to demonstrate my knowledge of creating a full scene from concept and blockout to final settings in the engine. I found a wonderful concept from “The Witcher 3” and decided to make it, because I like a medieval theme, and also style and excellent graphics of the game. I liked how the game harmoniously combines Gothic architecture and nature, and all the different small details that make the scene interesting. I wanted to learn more about modular design, and also I had little experience in creation of foliage, so it was a good chance to practice for me.
Development stage began with a quick paintover for better understanding of the concept and elements of the scene, and finding the necessary references. I found a place from the concept in the game, it was a courtyard of the Royal Palace in Vizima. I made a few screenshots of the various elements, what helped me to better plan the work. It was interesting and useful to study how the scene had already done by professional artists from CD Projekt RED. I also used photos of various abandoned buildings and screenshots from Uncharted 4. Then in 3ds Max I did a quick rough blockout using Perspective Match Tool to understand the proportions and composition, and then exported in Unreal Engine 4, where I adjusted the initial lighting. I think it is very important to set up lighting during the prototype stage while various details are not distracting you. And also it gives more time to experiment with different lighting settings, because with every iteration you’re reviewing it and make it better. I decided to use UE4 because it is very powerful and gives more freedom in choosing tools for modeler.
All models were made using 3ds Max and ZBrush. I started from high poly, Splines and Loft became my best friends, they were very useful in modeling of such type of architecture because I could quickly correct form at any moment. The challenge was to model it in the original proportions. I used small guide Tips and Tricks to Gothic Geometry to get some help. After that I made all forms as a lines, made a low poly version and baked it to the texture. Using splines path, which I made before, I modeled all modules using the Path Deform and Symmetry. Also, to save time, for some assets I made custom vertex normals, and just used tilling texture.
Since I had little experience with plants, I decided to do it manually without generators for a better understanding of the process. I mostly used phototextures, generating a Normal map in Substance B2M, then did high poly models of leaves and flowers. Mostly I used Branches and Object Paint from Graphic Tools. Also, I fixed vertex normals in foliage using SlideNormalThief script.
Materials were one of the most interesting parts. I tried Material Layering, using basic texture and different masks for it. Base textures of stone and bricks were made in Substance Designer, then roof and tiles were generated from the bricks graph. “Texture Creation with Rogelio Olguin” was very helpful for me, it has many useful techniques that I have used when creating my own textures. Then I made a mask of edge damage and dirt in Substance Painter, and created a Master Material inside UE4.
In this way, we can get more detailed textures, which also can be interactively changed with Instance Material. With Vertex Painting I added more variations, using red channel for cracks, green channel for moss and blue for dirt.
Making the Scene Come Alive
Some interactive elements can change the perception of the scene for the better, as they make the scene alive and interesting, which helps the viewer to believe in the authenticity of the image. The water in the fountain and fire made with particles in Cascade. It is useful to study the examples in Particle Effects Demo, which had most frequent effects. Animation of flags was just done with APEX Cloth, which simulates cloth in real time, reacting to the wind direction.
Lighting of scene was a bit specific task, because it is evening, so scene lighted mostly with Ambient Light. I used a combination of dynamic (for Directional Light), Skylight and static (for torches). Dynamic light allowed me to quickly try different settings and not to wait after every change in the scene to see the result, and allowed me not to think about lightmaps. It also allowed me to use LightPropagationVolume – dynamic GI, and Distance Field Ambient Occlusion, which gives better shade for foliage. If you want to use LightPropagationVolume, then you need go to EngineConfigConsoleVariables.ini and add “r.LightPropagationVolume = 1”. Then check “Dynamic Indirect Lighting” in light source and set in PostProcessVolume.
But at the same time I used static light for torches, because such large number of dynamic light kills FPS, as the work on my a bit old laptop becomes difficult. Post processing is doing a lot of work here, with with careful settings it can bring the scene to a new level and provide any mood you want. I played a lot with settings and also used a LUT.
One of the biggest lessons that I’ve learned – finish what you’ve started. Many people often give up in the middle of a project, because enthusiasm is lost, and they see only disadvantages of their work, despite some obvious advantages. I also had a time when I didn’t like the progress, and I was lucky that my girlfriend supported and motivated me to continue. For myself, I learned that it is better to have a good, but finalized work, instead of ideal, but the one that will never see the light. The work can be polished very long, perfectionism – one of the main enemy of modeler, so sometimes you need just stop, leave it as it is and move on.