Compiling complex scenes
Andrew Averkin gives us a detailed walk through the processes behind his amazing image Far Away from Home
I dedicate this work to my wife. Her parents live very far away in Siberia, and as the distance is pretty huge, she has to travel a long way to get there. She misses her parents quite a lot because she can't visit them very often. Probably everyone has this feeling when you are far away from home, family, friends, and far from the place where you live and from everything that you love and care about. With this image I've tried to capture those feelings of missing everything that is important to you. A lonely girl standing in an old train station platform after a rainy day brings these emotions to the mind, yet the morning sunshine brings hope that soon we'll be close to everything that we love.
General overview of the modeling process
For modeling I used 3ds Max. In most cases, I start the modeling process with a simple primitive object - like a box, cylinder, sphere, or plane, and after that, I convert them into Edit Poly and start to play with their forms. I like this polygonal modeling method because it allows you to control every point, edge or polygon on your object.
Also, I often use a hard surface modeling method using modifiers such as TurboSmooth or MeshSmooth that allow you to create more complex objects or more smooth and natural surface. I only really use this when needed though.
Usually, to save my computer memory or render time, I try to divide objects into two types, depending on their location and destination. Objects that are located closer to the camera I do more complex. I pay a lot of attention to such objects and usually I do them with hard surface technique. Objects that are located in the middle of pictures, in the background or that do not require too much attention, I do as low poly models.
General overview of the texturing process
Applying materials and textures is one of the most important stages in my workflow. It's much simpler, faster and efficient to use high-quality textures, rather than spending a lot of time on routine modeling.
I always try to use photo textures which I do by myself or usually I take them from cgtextures.com or from freetextures.3dtotal.com. I fix some textures in Photoshop by making them brighter, more contrasting, or sharper and so on, or in cases when I need seamless textures. To save time when creating seamless textures, I often use very good software called PixPlant, which has some great functions that allow you to make great seamless textures with almost one click of a button.
Almost every material in the scene has the same structure. I always use the Diffuse map plus Reflection, Refraction, Normal and Bump maps, which help create a more realistic result - as every material like wood, concrete, tile, metal, glass and so on has its own properties that include refraction, reflection, bump and so on. Typically I create reflection, specular, bump or normal bump maps from one diffuse map software called nDo. This is a really great software with many presets and tools that make your life much easier.
Also, it's very important to use Displacement in your scenes. It will give a more realistic effect on your objects and in the scene in general. Usually I use VRayDisplacementMod as I work with the V-Ray renderer. To avoid waiting for the long render time, I use Displacement in 2D mode.
Making buildings using textures
To create the majority of the buildings in the scene, I used great technique that allowed me to kill two birds with one stone. This method also allowed me to completely lower the time I worked on the buildings, as well as achieve quite a realistic result.
This principle consists of modeling any object using photo texture, regardless of whether it is house or wall, column, bridge, fence or anything else.
The good thing about this technique is that you use same texture for modeling and texturing at the same time. In other words, the texture of the object is the texture that you use for modeling.
So to start, I found good textures of industrial buildings in high resolution. It is important that the lighting on the texture is uniform and has no direct sunlight or hard shadows on it. Reference photos are best taken on a cloudy day when shadows on the textures are much softer.
Also, it will be good to rotate your texture to have horizontal and vertical shapes on it. So, before modeling I usually fix horizontal and vertical shapes of textures in Photoshop, aligning all the shapes using a rule and tools such as Distort, Warp and Liquify. If the texture has objects that you do not want, then it is better to get rid of such objects before modeling.
A great way to get rid of such things is to use the stamp brush. This image shows a brick building. Here we have texture that has soft lighting and all shapes are already aligned vertically and horizontally, and unnecessary things already deleted with a stamp.
Transferring the textures
I created a plane in 3ds Max, and set the width and height of this plane to the same as the width and height of the texture I used. Next, I assigned the texture on this plane, and froze it, but kept the plane visible.
Then followed the fun, yet time-consuming part. I created a second plane and assigned a standard material with Transparency, so I could see the texture of the building under the plane. You can play with the Opacity parameters here to find the best numbers, though I usually use about 20 or 30.
Transferring the textures II
I converted the plane in Edit Poly and began the process of modeling. I will not describe the whole process of modeling in detail, but the basic idea that I covered the texture with polygons, choosing most fundamental and significant forms of texture. This included walls, windows, cornices, metal beams and other areas.
When everything was ready, I unfroze the background plane and assigned the texture of the building on all the models. After that, I collapsed everything into one mesh and used a simple planar UVW.
Finishing the building
I then removed the background plane, as I no longer needed it. This way, I got a flat model of the building with the correct UVW map.
Fitting the panels together
The process was almost complete, but the building still had a flat form. For some objects like the window, frames, handrails and so on, you can assign a Shell modifier that will give a little thickness. To give depth to the window apertures, doors or roof, you can use pre-created walls, just by rotating them by 90 degrees. After you put all the necessary parts in the right places, you need to collapse all elements into one object and weld all the vertices.
Texturing the buildings
After that, you just need to make Reflection, Bump, Normal Bump and Displacement maps in nDo.
For the windows, I used several textures and modeled them with same method. I made a small collection of windows that I applied to all buildings. To make the windows look transparent with a little dirt, I used a mud mask, which I created from the same window textures.
The metal roof was made in the same manner. I made a few types of roofs and used them in different buildings. To create the tile roof, I made one element of tiles and duplicated it with the Array function.
The bridge that crosses the platform was made in the same manner but with the addition of a few extra components such as wires, metal cables and so on. With these methods I have created all the buildings in the scene.
Modeling the platform
The model of the platform was made with a really simple method. The model consists of three parts: asphalt, a concrete border and concrete side walls. For the asphalt I used a simple long plane, with a certain amount of segments. In order to give a rounded form to the platform, I placed a pivot point at the beginning of the plane and used the Bend modifier.
To create the concrete border, I used a chamferbox, which was duplicated in a long strip. Then I collapsed all the chamferboxes into one mesh and put the pivot in the same position as the pivot point of the asphalt.
Finishing the platform
After that, I copied the Bend modifier from the asphalt and pasted it to the concrete border. I made the concrete side walls by using the same method as for creating the building. I used one big concrete texture to do this.
Next, the same as concrete border, I duplicated concrete wall and formed a long stripe. I then allocated a pivot point in the same position as for the asphalt and borders in Instance mode. All this allowed me to control the curvature of the asphalt, border and concrete walls with one parameter of the Bend modifier.
Texturing the platform was one of the most complicated and important stages of this work, especially the asphalt, because it had to look as realistic as possible. The concrete walls were made using the same method as modeling buildings, which solved the problem by modeling and texturing at the same time, but unfortunately this method was not suitable for the creation of asphalt.
I spent a lot of time looking for the best method on how to create the asphalt, but in the end I went back to the most reliable method which consists of creating a single complex material, using high resolution maps and a Displacement map.
First of all, I started to search for different high resolution textures of asphalt, cracks, and various asphalt damages.
Making the asphalt texture
After gathering all necessary information that I needed, I started to play with the maps in Photoshop. I created a large document with a resolution of 28000x5000pixels and started to mix different textures to each other by rotating, increasing or decreasing them, as well as using layers in different modifications such as Multiply, Overlay, Screen and so on.
Many textures have different colors and shades, so I had to fix the color of each texture before mixing them into one big texture. To make a smooth transition between textures, I used masks and various brushes.
Also, I created some cracks in ZBrush and used them as cracks for asphalt. To do this, I created a few planes in ZBrush and started to draw different forms of damages and cracks. I then used MRGBZgrabber, which give me the depth maps.
Finishing the asphalt texture
Then I placed all these textures in screen mode in Photoshop, which allowed me to finish a nice-looking diffuse map of asphalt.
To create Bump and Displacement maps, I just desaturated the diffuse map and used the brightness and contrast, curves and exposure control to create texture that I needed. There are puddles on the asphalt, for which I also created a Reflection map using different brushes in Photoshop.
Creating the rails
The rails were made in a same manner. I made one rail sleeper and metal brackets with bolts and then duplicated all these elements into a long strip.
To create the rail, I drew a spline which was extruded out with large number of segments. After that, I attached rails to the rail sleeper and metal brackets with bolts and set the pivot point at the beginning of the rails, and then added bend modifier in order to create the rounded shape of the rails.
Texturing the rails
The material of the rails was simple enough to create. For the rail sleepers I used several different textures of concrete; for the metal brackets with bolts I used a rusty metal material; and for the rail I used a blend material consisting of rusty metal and steel with a Gradient Mask.
For the ground, I used two long planes lying on the same Z direction, which also had been rounded with the bend modifier. The first plane was used for the dirt, and the second for the puddles. For dirt, I used a large mud texture and Displacement map for it. For the second plane, I used a simple water material to make it look like a puddle.
Texturing the rails II
To make the ground looked more realistic, I made several types of stones with different forms and sizes, which were scattered along the plane with the Multiscatter plug-in. In the Multiscatter settings I setup a random rotation and variation of size, so the stones looked more diverse.
I also made a few types of rough ground using planes that were deformed by the Displacement modifier with different types of noise and cellular maps. Some types of rough ground were changed by Edit Poly to give them a uniform look, and were then scattered on top of the main ground. I also scattered different stones on the rough ground hills to make them more varied.
Creating vegetation was also a very important phase in this work. To create the ivy I used a well-known Ivy generator plug-in. I chose a few building and structures and experimented with a few types of ivy with different settings, and then chose the most successful versions.
All trees were created with Onyx Trees. I made three types of poplar and one type of European tree using slightly modified Onyx library trees. To make the trees looked more varied, like fallen leaves in autumn, I decided to remove from 30 to 50 percent of the leaves from different trees.
Coloring the leaves
Also, to show the atmosphere of autumn, I decided to make the leaves different colors. To do this, I created multi-sub material and placed 4 types of leaf materials in it and used a Color Correction map for the texture of each leaf to make a variety of green, yellow and red colors.
Finishing off the trees
I then set the foreground trees by hand placing them, and trees that stand in the background I scattered with the Multiscatter on the spline surface with the Subdivide modifier. I also wanted to place bushes that hide the rails in the background of the picture, and grass in the foreground between the platforms.
First, I assembled a small collection of plants in one pack, which included a variety of shrubs, bushes, grass and other plants. Some plants have been taken from old projects and some were made for this project, or were changed from existing plants from my library.
To create the grass near the rails in the foreground of the image, I used the Forest Pack plug-in. I drew a spline in the gaps between the platforms and rails and used the model of grass and plants from the Forest Pack on it. To make the look grass and plants more varied, I played with the Rotation and Scale parameters. Similarly for the trees, I created a couple of different materials for the grass, plants and bushes.
Creating the trains and wagons
The scene consists of two main head trains, one passenger wagon and a few middle poly-freight wagons. To create the train, I used several drawings and photos of the sides and front, as well as tons perspective viewpoint photographs, both for references and texturing.
I used a hard-surface modeling technique to create the entire train, but in the end I had to optimize some parts to avoid an increase of memory in the scene. To optimize the main cabin of the train, I decided to retopologize it using 3ds Max Graphite Modeling Tools, and then Unwrapped it to bake the details from a high poly model onto a low poly version.
For all other parts, I did a simple optimization by removing any unnecessary edges or polygons and using different photo textures, as well as simple UVV maps like box, cylinder, planar maps and so on.
Texturing the trains and wagons
I created few metal materials such as rust and old paint that I used for texturing all the different trains.
For the cabin and some other parts of the train, I did an Unwrap and used photo textures. And for all the other parts I used pre-made materials of metal, rust and old rusty paint.
I often use a variety different of modifiers that help me with the whole modeling process. These can be Extrude, Band, Twist, Push, Relax, Symmetry and so on. In my workflow, I also often work with splines, and they can be very helpful when, for instance, you do some wires or power lines. Since the power-lines and lights I'm using here consist of repetitive wire/cable elements, I decided to make a model that will be tileable on two axes.
The lamppost was made with splines and modifiers such as Lathe, Bevel Profile and Bend.
For the base of the lamppost, I drew a shape and used the Bevel Profile modifier to wrap this shape into a cylindrical form. For the top of the lamppost I used a quarter of a circular spline, which is connected to the post. I made the part that is holding the lamp with simple box, and then modified it with Edit Poly and TurboSmooth.
Cables and tileable modeling
Other elements of the lamppost, such as sign holders, cable holders, and round storage elements were also made with primitive objects and the polygonal modeling method.
I created a few sagging cables on either side of lamppost, the point of which began and ended parallel to each other, and then collapsed them into a single object while removing part of their form from the left and right sides.
When I copied the lamppost together with the cables and pasted them in the direction of these cables I got a great tileable effect. Since the platform has a rounded curve, I had to slightly rotate and shift towards each lamppost and then connect all points of the cables to each other. In this way, I created large power lines in the background of the scene.
I made the model of my wife rather quickly, since I had already modeled the body a long time before the creation of this project. All the clothing was made using primitive objects and modified with Edit Poly. The cloth folds were made and Unwrapped in ZBrush. All other objects such as the glasses, umbrella, rubber boots, a bag and a suitcase were made also with Edit Poly and detailed in ZBrush. To make the face more natural, I used a standard V-Ray SSS material. The hair is made using planes directed along the shape of the head with hair texture and alpha map.
One of the most important stages of this work was in setting the lighting and positioning the camera. The lighting and camera both play a huge role throughout the whole work, and I think that correct usage of these is the key to creating successful work. Light plays the role of creating the atmosphere and mood that artist is trying to express, and the camera fills this atmosphere with the depth of the artist's feelings and is able to show emotions up close and reveal the deeper details.
Usually I set the light in the early stages of my work, when I only have a primitive idea of the scene. This allows me to see the atmosphere in general, the depth of the light sources, their shadows, how the light rays bounce of the surfaces of objects and their distribution across the stage and the interaction of all of these parameters with each other.
My idea was to create the autumn sunset light, which shows the direct, bright light almost hidden behind the horizon sun, which creates hard, long and dark shadows that we can see at this time of the year at sunset.
To do this, I decided to use two lights: a V-Ray Dome light that shows the main environment light, and a Directional light to show the sun. Usually, I use VRayDome with an HDRI map inside, but this time I decided to use a different method.
Creating an ambience
In order to have feeling of ambient sunset light, I used a VRaySky map that was blended in the mix map with an orange color, and then put all this into the V-Ray Dome.
Usually VRaySky works well with VRaySun, but I decided to use a Directional light because it is more flexible and has more settings and options. In order to show the long sunset shadows, I lowered the Directional light closer to the horizon.
As for the camera, I tried to make the perspective more like a panoramic shot to capture all objects in the scene - with the focus on the girl, asphalt and nearby trains. Positioning the camera this way is very useful when you want to show all moments of the scene in detail and at the same time focus on individual objects by placing them closer to the camera.
I decided to render picture with V-Ray, with a large resolution 15000x6000. I did this because first, it is easier to work with images in high resolution, paying attention even to the smallest details, and secondly, I wanted to print a large poster and hang it on the wall in my cave.
I decided to add almost all V-Ray Render Elements, but in the end I needed only a few of them. These were VrayGI, VrayLighting, VrayLightSelect, Reflection, Refraction, WireColor and ZDepth. Also, I decided to create several masks for models such as girl, trains, platform, trees and so on in order to better control colors.
Composing the image
The main composition was done in Adobe After Effects. I used VrayGI, VrayLighting, VrayLightSelect, Reflection, and Refraction elements on top of the beauty pass in screen mode and inverted the ZDepth pass to create a fog.
I also added a photo of a sunset sky in the background in After Effects. With help of masks in Photoshop, I adjusted the color and contrast of the platform, trains, roofs, trees, grass and plants, and used the Photoshop plug-in Nik Color Efex for the final color correction of the image.
The final image
This was the final scene after compositing and adjusting in Photoshop and After Effects.
More of Andrew Averkin's work can be seen here
Take a look at Andrew's other tutorial
Stuck on scene creation in 3ds Max? Try our ebooks
To see more by Andrew, check out Digital Art Masters: Volume 8 and Digital Art Masters: Volume 9