Creating an Old Farm
This tutorial is targeted at those with an intermediate level of modeling and texturing experience and it’s meant to be a „making of”.
This tutorial is targeted at those with an intermediate level of modeling and texturing experience and its meant to be a making of. Not being a step by step tutorial, this will resume itself to presenting the pipeline typically employed at AMC Studio when creating a building or another type of next gen game asset. Even this pipeline is not a fixed one, but depends on the specific requirements of each individual project so this tutorial details an average pipeline composed of all the techniques our team used in the past. I took as an inspiration the typical American farm house but the model has some European influences added to enhance the personality of the building and the surrounding objects. Even if the scene as a whole is meant to be photorealistic, some of the details, such as proportions, colors, object placement or volumes are e bit exaggerated to make the game look more spectacular. This of course depends of the type of game in which the asset will be included, as the location of the player will be very important. The level of details is dictated by how far the player will be from the object and how often / how much will the player look at it. These requirements usually translate into polygon and texture budgets. More details as the tutorial progresses. On the software side, the programs used are Maya and Photoshop. The pipeline can be split into five stages as follows: 1. Gathering materials and references 1 Gathering materials and referencesIn this first stage I gathered reference photos of the objects that will make the farm, being careful to choose them from the same time period and making sure they all have the same stile to make sure they all fit in well with each other. For this project Ill make a house, a small water tower and a pickup truck. Usually, objects like the pickup and water tower are called props. The colors and details will probably be changed later so that the elements match better. 2 Concept artUsing the reference photos I drew some quick sketches of the details that have to be included in the scene. I added some extra one that might be eliminated later due to technical limitations. These sketches will serve as a basis for a more detailed concept that will also contain information about colors, materials, and reflectivity as well as clearer volumetric and architectural details. More detailed sketches can be obtained by using programs like SketchUp, but for the purposes of this tutorial, hand sketches were used as reference for the general object placement and proportions. |
Going back to our main scene, Ive tried to optimize the number and size of the textures as much as possible while at the same time keeping enough extra textures to add specific details to some areas. The hand drawn layout for this scene looks like this: The first part is the layout for the main texture for the house, which will be a 1024×1024 in size. This will contain the long brick wall, the wooden wall as well as the building details like doors, windows, stairs, etc. The roof tile will use a separate 512×1024 texture. On the bottom left of the image is the layout for the 512×512 water tower texture. The 256×256 alpha texture on the right will be used for the girders and the ladder. This texture will help us save a lot of polygons that would have been used for this type of details. Apart from the textures, theres also one 1024×512 for the pickup truck. As you can see, the sketch doesnt have to be too precise, it just needs to help the artist better position the elements on the canvas, so there is little to no space unused. In case there is some extra room on the texture, some elements that need fine detail can have their UVs scaled up to have better resolution. This should be done with care as differences in texture resolution can be quite obvious is exaggerated. Theres also a fine grid Ive drawn there for each 128 pixels, to make things easier. Here is the finished main diffuse (color) texture. Diffuse map Because this is a photorealistic building, the textures have to be carefully chosen. They have to have good detail; they shouldnt be blurry or contain artifacts. The most important thing to look for is interesting details for the material needed, as the color can be easily changed in Photoshop. Some details look better if they are exaggerated a bit, even in photorealistic textures, to add extra character to the object/building. The building has to integrate well into the game through chromatic, style, age, etc. The source photos have to be modified as little as possible as not to end up with a boring over filtered monochromatic image. So the texture has to be realistic and believable to compensate the lack of geometry. Separate details have to be distinct and well placed on the texture to avoid obvious tiles and to make it easier to read. Layers are another element that should not be overused. Using to many of them makes the work hard to manage, especially if they are not named and grouped properly. The best thing to do is to keep as few layers as possible keeping only the layers that control specific characteristic of the texture, like color, volumetric details. Some of these layers will also help to generate the rest of the textures, like normal and specular maps more easily. As an example, these are the layers that make up the wall texture: Height map To create a more efficient normal map, we first need to create what is called a height map. The creation process is similar to creating a bump map which is then transformed into a normal map by using the nVidia Photshop Plugins. The normal map process needs to start with a careful examination of the diffuse texture because it might be tempting to just desaturated the image and run the nVidia filter on it, but that will have the desired effect. The height map has to be done in layer starting with the large volumes by using gray values to define the details. The next step will be transforming smaller details into height map. This step by step approach will ensure the best quality for the resulting texture.
Starting from the left of the image above, you can see increasingly finer details being added tot the height map. The image on the right shows the fine details that have been converted into a separate height map layer. Each height map layer can be converted to a normal map and then the layer blending mode will be set to overlay. Layers that need to be more accentuated can be duplicated so the effect of the overlay blending mode will be more pronounced. The intensity of each layer can also be turned down by decreasing the layers opacity. Make sure the details are defined using the largest grayscale range possible. This will increase the details fidelity on the resulting normal map. The height map generation process is very important as a proper set of height map layers will result in less work being put in the normal map layers resulted.
|
Normal map Better conversion results can be obtained by using CrazyBump as it uses algorithms to compute the depth of the texture when generating a normal map. It can also detect details based on their size and treat them accordingly. Usually, CrazyBump is better used on large details in the textures. Another use for it is that it can extract information out of pictures that have directional lightning. The results include occlusion maps, height maps, bump maps, etc. These can also be useful to further enhance the textures. Here is one area of the building with the normal map applied: Also, these are the settings used for the nVidia Normal Map Filter used in this tutorial: Specular map The image shown below contains a portion of the final specular map. The bright areas represent the windows with some dark areas for the parts that are dirty. Next, the metal surfaces have brighter values with dark areas for rust and brighter areas for shiny details like the door handle, hinges and rivets. The darkest values are for the bricks, concrete and wood. Of course, if the wood is painted, its specular value will be higher, same goes for wet bricks or polished ones. Another rule would be that older surfaces tend to reflect less light than new surfaces as they are affected by dirt, dust and/or rust, all of which have very low specular values. In general, the specular map will have more contrast than the diffuse color it has been generated from. The texturing process requires that the artist checks the asset constantly in the 3d viewport after each texture save. Its also a good idea to adjust the texture intensity and color when all textures are done to ensure that they match each other. One of the reasons is that the lightning of the asset will change dramatically after the normal map and specular map are added. |
Creating the UVs for such a vehicle requires a careful analysis of the reference photos to decide which areas will have dedicated UV space and which can be mirrored or overlapped without causing artifacts. Reference photos should be checked carefully for any details that might be added to the texture. The layout presented above has most of the elements mirror mapped but for unique details like the bumpers, radiator grid and cabin; the UVs have been kept unique. Heres a more detailed image of the areas that have mirrored UVs: The red areas with the same number have identical UVs. The sides of the car can almost always be mirrored as they are not visible in any one view at the same time. Areas that have been mirrored and require attention when texturing are the hood and the truck bed. The butterfly artifacts can be avoided in mirrored areas by adding a smaller amount of contrasting details on the texture. As you can see, the hood area lacks rust and other particularities to make the mirror less obvious. Also, the rear bed area has details that dont have too much contrast in it to serve the same purpose as the hood texture area. Also noticeable is the lack of illumination in the texture. The engine will be creating the lightning and shading based on the geometry and normal map. Details like the scratches will look a lot better with corresponding normal map detail. Adding shadows on the diffuse map will usually interfere with the engines details, giving the object an unrealistic look so it is to be avoided. In the next image, you can see the final normal map generated using the same methods as the one done for the house. The dents in the metalwork have been generated in Crazybump to give it a more organic look. And finally a render of the final scene: 6 Closing wordsNow that we have reached the end of the tutorial, looking back, the process might seam lengthy and complex, but in reality, the pipeline is the same for most objects and only changes slightly depending on the project and type of asset. The main focus of the artist is to put character into his creation, no matter how visible or not the asset is in the game. Each object has to have details that are meant to attract the view of the player, which could potentially make him stop just to admire the scene. But this is not all, as the object has to be free of errors and artifacts and be optimized and up to the technical standards required by the engine. Next gen hardware may support a lot of polygons and textures, but optimization still plays and important part of the creation process. I hope this has been a useful tutorial for you and that this will help you understand better how some objects in your favorite game might have been created and what is expected from a 3d artist which wants to start working in the gaming industry. Thank you, |