Let's get 2022 started with a breakdown of a beautiful Harry Potter scene in 3D by Patryk Urbaniak.
Hello everyone! My name is Patryk Urbaniak and I am currently working as a Look Development Lead at ScanlineVFX. A lot of stuff has changed since the last time we talked. I got semi addicted to drinking hot chocolate and collecting Pokemon cards. The movie Dune has finally been released, where I could see my assets on the big screen and I finally was able to finish my last personal piece "The Burrow" which I would like to talk to you about.
The Boy Who Lived
I saw the first Harry Potter movie when I was 9 and I still remember the feeling that it gave me. I remember being speechless for hours after the movie, digesting what I saw. Trying to understand if it's all possible, if it's all real. I had no idea that this movie and that one evening is going to decide what I will do with my life moving forward. Since I started to understand what graphic design, 3d modeling, or art in general is, I always wanted to be a part of the team creating effects for the Harry Potter series. Unfortunately, I never fulfilled that small dream of mine that I had since I was just a kid. I have decided that it is the right time to pay my tribute to what shaped me as an artist and what was with me those countless nights when I was questioning if magic is real.
I started with watching movies (for the 10th time!) and making time stamps of certain shots and I gathered all of them to create a set of references. Then I started looking for documentaries, breakdowns, articles and witness cameras of the sequences where we could see Weasley's home and I started sketching all of it in my head. I was wondering what kind of details I would like to have there, how big the environment should I cover, where to put a few easter eggs. My first 3d layout also had a botanical garden and a place outside, close to the garage to practice potion making!
Modeling 700 Assets
It's possible because each and every element of that house is an asset of itself. The window box was made using wood-working blueprints and joints with screws or nails. Each plank or wood piece was modeled separately, then bent and put in a place where it could fit. I didn't scale the objects themselves. If the scale was too big or too small I changed each part separately to not skew the texture or break the visual appearance of an asset. So if you would sum up all of the wood, planks, nails, screws, the glue between the window frame and the glass itself, stained glass, metallic frames, handles, doors, vent windows, dreamcatchers, railing, roof tiles, chimneys, brooms, elements from which the car is build, undercarriage, stones, rocks, debris and every single piece of the interior like curtains, drapes, glasses, pots, lights, jars, flower pots, cups, rakes, all of the junk around the home.
The complexity of the scene grows exponentially. Always start from a broad scale and proportions. Make sure your asset has proper dimensions and never start detailing before you know exactly how close you'll be to this element. I always catch myself subdividing the model for the third time just to add some fancy creases and half an hour later I barely see it in the camera. Don't be like me, think twice before subdividing!
Before I prepared all the materials I did prepare a light rig for my work. I made sure all of the lighting HDR textures I wanted to use are converted to acesCG as this time I planned not to render in sRGB color space. When I had my lookdev template ready and even a simple box looked realistic in the framebuffer I knew it was the right time to start shading. I always try to use plausible values when creating materials. Using Substance Painter and its PBR workflow helps a ton with values as metal and base color and balanced under the hood by the app.
When I had a collection of 40 assets in my scene and each one of them was looking realistic all I had to do was place them one on another or close to each other to make a bigger construct. It's like one of those new techniques to build a house, have you heard of it? Instead of it being built brick by brick, the company transports big premeasured/prefabricated walls and just welds them together in a few weeks, it's so fun and easy!
The vegetation workflow was very demanding as it was very hard for me to build up a proper relation to the scale without breaking the realistic appearance. Imagine you have a certain tree, but it's actually a little bit smaller than expected and you would like to make it bigger for a frame. If you scale the tree, the bark and patterns of the bark will remain the same, but the scale of the leaves in correlation to the branches or twigs will change. If you would compare the leaf size of a 50 meters oak tree to a leaf size of a 2 meters young oak tree, both leaves would be the same size.
The hardest part of making a good and realistic environment is the scale of a particular type of tree compared to the other greenery. Each time I needed to scale the tree, I had to do it manually for each part of it. I couldn't just take one global gizmo and make it smaller as it would break the visual scale. The more points of realistic reference I created, the easier it was to subconsciously read it as possible to exist.
I prepared the grass by having a few different types of it. One grass around the home, one around the lake, wild grass, one short but dry on the quidditch field. I also had a few types of grain prepared for the fields and around 7 different types of trees. To create all the scattering and all the systems around the scatter I used Forest Pack. This is the best scattering system for 3DS Max out there, period. My biggest problem with it was my own inability to plan for my scatters. The scene was growing from 200 meters wide to 300, 400, and 500 meters wide. I wish I would know right from the start where it began and where I would end my scene so I could account better for all the settings, but the moment I started playing with a lot of specific options it was too late for me to get back. I promised myself to create an isolated training scenario for better control in the future. Practice makes perfect!
Assembling The Environment
I started with a very simple layout and a few planes and I used Zbrush to add definition to the ground. I added a pond and some ground irregularities and exported all of this as a geometry. I utilized vertex colors and masking for the ground to make a few different materials for the roads, grass, and area around the house. It was very simple to just paint the mesh with R G B colors and to extract that information later on with a vertex color node to use as a matte for shader blending. The scattering of the rocks, pebbles, debris, and other stuff was also handled by Forest Pack. I created a set of shapes and added them as an area for scattering, you can also "feather" out transitions with scale or density when they will come close to the edge of that spline. It's very helpful and looks quite realistic at the end.
I really do like Redshift, specifically for how the renders look, for how easy it is to work with their framebuffer, and how stable it is. To be honest I started this scene in V-Ray GPU but I had some issues with memory and displacements. Also, not everything is supported in V-Ray GPU so even though it's a great engine I had to start and stop the IPR quite often which made me realize there is a little bit of fighting going on between me and the software.
I didn't do any post-production on the renders. Pretty much 95% of the images we are able to see are straight from the frame buffer. I did use photoshop to fix a few issues where the grass was penetrating car wheels or there was a weird cut out from one bush into the tree bark. The volume atmosphere is from the Redshift Dome Light. I experimented with a lot of settings and found a proper curve for visibility.
The sad truth about the lighting is that I didn't do too much to it. Usually, when you have a render you can really dive into lighting because it's just for one particular camera angle but what I had in mind had to work regardless of the camera position. The main reason why this scene took so long is that I made sure the whole environment is going to look as good as possible without any link to the position of the camera. Of course, it doesn't mean I didn't care about how my shots are framed. I wanted to give them that proper feeling of someone holding the camera and actually being there. Playing with the lenses and point of interest. I wanted to make sure both modeling, texturing, and lookdev are as realistic as possible and I didn't want to hide anything in the shadows. This scene can be pretty much used as a benchmark for any HDRI.
It took around half a year and yes, I am very happy about the final result. There is something great about finishing a piece like this. At some point, I started to get irritated and even angry at how it looked and I started to put less and less time into it but I think I was just tired. I took some time off, watched a few "The Office" episodes, and I was back on track, less stressed, and even more motivated. When I realized that I'm just doing this to make myself happy everything was easier. I think we often forget that art should always make us feel good inside and when it's forced, you can definitely see it in the final output.