Baixe o app para aproveitar ainda mais
Prévia do material em texto
Table of ConTenTs IntroductIon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Welcome! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Introduction, what this book is about . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Basic requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Recommended software and hardware setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 color coding in the text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 texturIng theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 mateRIals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 shadeRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 textuRes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 texture coordinates/ texture mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 texture projection methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 shadeRs and textuRes In actIon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 uV mappIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 IntRo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 uV unWRappIng BasIcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 general pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 uV/Image edItoR and 3d VIeWpoRt functIons used In unWRappIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 uV/Image editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 3d Viewport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 unWRap algoRIthms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 lightmap pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 cube projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 cylinder projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 sphere projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 project from View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 smart uV project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 follow active quads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 unwrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 unWRappIng BasIc shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 sphere (subdivided cube) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 uV sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 torus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 Icosphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 unWRappIng complex shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 manual packIng uV Islands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 texturIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 hoW WIll We textuRe a model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 Image fIle types and theIR chaRacteRIstIcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 Image sizes (resolution) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 Image file attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Image file standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 BakIng In theoRy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 general pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 BakIng speculaR and colouR maps By example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Baking parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 What else can we bake? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 textuRIng WIth Baked maps and gImp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 texturIng full project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Introduction | Welcome! | Introduction, what this book is about 2 IntroductIon Welcome! Dear reader! Thank so much for gibting your gelt to me, bla bla bla. You now dumb, when you read, you smart. InTroduCTIon, whaT ThIs book Is abouT I’ll safely assume, that you spent enough time learning about 3d, that it brought you to acquiring this book . If you ever wondered what makes the models look appealing, you will get your answers here . I will cover the most common and versatile techniques for giving your models some vitality and colour, as well as acquaint you with some not-so-basic theoretical knowledge . We will start with explaining some technical topics, I’ll walk you through the concept of the texturing process and we’ll go well into detail on chosen aspects . after this general section I’ll guide you through your first project . since a lot of specifications are common throughout every environment, main goal of this book will be to learn the most versatile workflow, allowing you to export finished model along with textures to outside environ- ments like different render engines or game editors . basIC requIremenTs since this book we will mostly use specific software, Blender3d, some intermediate knowledge will be required to follow the chapters . you need to know your way around Blender’s interface, have some knowledge about working with the mesh as well as being able to use most common tools . I will however undertake quite detailedmethod of guiding you through the process, so don’t worry, you don’t have to be a “pro” . the other necessary knowledge base concerns raster graphics editor, so for the sake of this book I will use gImp . But again, I will give detailed description of how and what will be done . general fluency in working within the specific os is also advised . reCommended sofTware and hardware seTup as far as hardware requirements go, optimal setup (you will be fine with less than that too) would be: • 64-bit quad core cpu • 8 gB Ram • full hd display with 24 bit colour • mouse with three buttons • opengl-compatible graphics card with 1gB Ram • 500 mB of free disk space • graphical tablet as for the software: • linux, mac osx or Windows os • gImp • Blender3d this wraps up the introductory part of the book, now let’s get to the real stuff! Color CodIng In The TexT you’ll notice that some words in the text are formatted in certain way . • Bold characters highlight the important words an phrases . • Blender keyboard short cuts are marked with thIS colour and bold font . • names corresponding to uI elements are marked orange . • finally numerical input values are marked in green . the important sentences, concluding previous paragraphs are framed like this . everything on this page is still a WIp texturing theory | materials | color coding in the text 3 texturIng theory In this section we are going to tackle the basics of texturing . I’ll intorduce you to a lot of new subjecs, it will be quite a compact part of the book . that’s why at some point we’ll use few simple examples to make it easier to asimilate . all of us can relate to the joyful feeling when we assigned material to our model for the first time . this really is a huge part of creative process when it comes to 3d graphics and we all have some basic understanding of it . however below the surface of what we intuitively know there’s whole lot of new, interesting things, that will help you understand the process in detail . materIalS What is material if we want to discuss it outside Blenders uI? It’s fairly basic, material is really a container for everything that happens with the model in terms of its looks . materials are placeholders for the Shaders and textures . they also include instructions for how they interact with eachother . We can assign them to the whole object, parts of it or invividual faces . the diagram below shows schematic structure of model . We can assign different materials Slots to parts of the mesh (not just three, there can be virtually unlimited number of those) . Within those material Slots, we can create multiple Shaders . every Shader can be detailed with textures, influencing it in various ways . finally mixing of different Shaders and textures can also be influenced by texture . ShaderS shader is a set of instructions for the rendering engine that tells it how to draw something . different shaders will be used for a fabric (matte), and we will use a different one for a polished metal (shiny) or glass (reflective, trans- parent with index of refraction) . shaders define the physical properties of material in terms of its looks . It consists of information about colour, the way light bounces of the surface (or penetrates it) and visual displacement of the surface . In Blender Internal, default material is a mix of Specular and diffuse shaders . you can also enable transparent, mirror, Subsurface Scattering and Strand Shaders . more of that when the con- tent will settle the content below was shuffled arround in comparisment to the earlier versions, it seems to make more sense and it’s intorducing new subjects more consistently how many material slots can you actually assign? texturing theory | shaders | color coding in the text 4 most commonly used shaders, we will focus on for now, are: • diffuse — responsible for the way matte materials reflect light and colour of the reflection • Specular — responsible for the way smooth materials reflect light and colour of the reflection If we want our model to consist of both shiny and matte surfaces, we would need to create a certain mix of dif- fuse and Specular shaders . at this point both the shaders affect whole area of the model and we can control only the ratio in which they are doing so . What we need in this case is those shaders to affect the selected areas, this can be handled by grayscale image or procedural texture (in this case it will work as a mask for Specular Shader) . texturing theory | textures | color coding in the text 5 If we now combine all those effects and add texture to diffuse shader, we will end up with the final material . using more than one map (the texture type doesn’t matter) on the final model is referred to as multitexturing . textureS different types of images, that we use to add colour information to the model, are called textures . the process of adding this information is broadly called texturing . We’ll break down this process for better understanding of what is really going on and what factors are influencing the outcome . to briefly outline what will be going on, we’ll have to take under consideration, that the are two types of textures . first type is raster image, and the other is procedural image . now that we have those images, we need to establish texture coordinates that we will use to place them on the 3d model . that part is called texture mapping . We can at last use different pro- jection types to project the image to those coordinates . It might sound quite complicated, but it will be easier to understand after we explain each of those in detail . diffuse map specular map normal map rendered image Base geometry texturing theory | textures | color coding in the text 6 the process of texturing refers to using raster or generated images to add detail or change mixing factors of the shaders assigned to material . rasTer and proCedural Images Raster image (graphic) is a rectangular matrix of pixels caring colour information . We can differentiate them into bitmaps and pixmaps . Bitmaps use one bit to assign one of two colors to each pixel, while pixmaps can use more bits to describe red, green and blue values to each pixel . this would be a highly technical description, while in real life, term bitmap is reffering to most of raster graphics . however easy to create in Blender, they are much more convenient to manipulate in external software like pho- toshop or gImp . later on will use a lot of those images as guidelines, additional effects, textures, bakes etc . I will also refer to the images that we create (made to match specific uV set) as maps . and so we will create: • colour/diffuse maps • specular maps • normal and Bump maps • emission maps • alpha maps • ambient occlusion maps • etc . procedural images are basically patterns created by some functions and mathematical equations . there are also few variables that we can change to affect the way the texture looks . they might be associated with very simple and artificial looking effects but with a little in depth knowledge they can help a lot during the texturing pro- cess . those textures usually cannot be exported to different file formats, but we will pull them out of Blender using texture Baking procedure . In Blender we get to choose from different types of procedural textures: • Blend • clouds • distorted noise • magic • musgrave • noise • Wood • stucci • Varonoi at default settings they look something like this: texturing theory | textures | texture coordinates 7 TexTure CoordInaTes as mentioned before, images used for texturing can be either raster/bitmap or procedural . In both cases we need to tell the software how to place them on themodel, the process is called texture mapping . different types of texture mapping coordinates are: • uV — as for the definition, it’s quite simple: uV map is a 2d representation of the 3d object surface . What it means from mathematical point of view, is that for every vertex coordinate of the mesh we assign cor- responding coordinate in the uV space . the name itself, comes from the fact that uV map is a two di- mensional space, since xy (and Z) are already describing three dimensional space, letters u and V were used to avoid confusion . there’s also third coordinate that exist . the W dimension describes the vertical axis when mapping thee dimensional textures (like procedural textures used to texture volumetric ef- fects) . so the actual name should be uVW, but it’s rarely used as that . think of it as a 3d paper cut out but a reverse one — you start from the 3d object and end up with 2d one . for our model to be unwrapped as a flat geometry we need to use seams . those would be virtual cut lines that will allow the model to be flattened without major distortions . this is a very good mental practice, pick some simple object near you and try to flatten it as if you were making the blueprint for 3d cutout . this process is called uV unwrapping . using one of the easiest examples, it would look some- thing like this: the difference is, we are not actually flattening the model . Rather than that, we operate on duplicates of its faces, existing in different set of coordinates . texturing theory | textures | texture coordinates 8 this way, when surface of the model is laid down flat, we know which part is corresponding to which area of the uV space and we can determine which part of the texture will appear on the surface of the model (the value for every W coordinate in this case will be 0, singe the bitmap texture is two dimensional) . • generated — coordinates are based on the bounding box of the object . that means that the texture might get either squished or stretched (based on it’s proportions) in order to fit itself into the bounding box of the model . It happens this way because the coordinates of the bouding box are assigned to tex- ture like on the following image . texturing theory | textures | texture coordinates 9 It’s also worth to point out that due to this type of mapping, the texture will scale with an object . In other words, texture won’t be influenced by objects scale . • object — it’s based on objects local coordinates . uV coordinates (0 .5, 0 .5) will have the same origin as object . the whole uV space in this case is treated as 2 Blender units and if object is larger than that, tex- ture will tile . • Window — coordinates are based on the viewing window . the u and V coordinates of a point on the surface of the mesh are equal to the coordinates of that point on the view screen/window . With the bot- tom left corner of the screen being and the top right being . notice that this way can distort the texture proportions as well . texturing theory | textures | texture projection methods 10 • global — texture will start mapping in (0,0) global coordinates and (0 .5,0 .5) uV coordinates . thole tex- ture space, no matter it’s resolution, will fit within 2 Bu square, it will tile and can be distorted if it’s not square . this will cause our texture change the mapping as we move the object as well since it’s not using coordinates of an object to map . • strand/particle — uses normalized 1d strand texture coordinate or particle age(x) and trail position (y) . use when texture is applied to hair strands or particles . • normal — uses the direction of the surface’s normal vector as coordinates . this is very useful when cre- ating certain special effects that depend on viewing angle . • Reflection — uses the direction of the reflection vector as coordinates . this is useful for adding reflection maps . you will need this input when environment mapping . • stress — uses the difference of edge length compared to original coordinates of the mesh . this is useful, for example, when a mesh is deformed by modifiers . • tangent — uses the optional tangent vector as texture coordinates . TexTure projeCTIon meThods all of the above coordinates can than be projected to the geometry in couple of different ways . that is what we call projection types . I’ll use different shapes mapped with generated coordinates to show you the effects . the fading geometry is representing projection geomerty: I’m being lazy with last five, I can’t find any source of information as for the math behind those so I just copypasted the info from Blender documentation texturing theory | textures | texture projection methods 11 • flat — the texture will be projected on xy coordinates, notice that streight verical faces get distorted . texturing theory | textures | texture projection methods 12 • cube — texture will be projected along global xyZ axis, notice that projection on the sphere is a little different . those jugged edges are the outcome of algorithm trying to place the texture according to the instructions but causing peculiar outome due to interfering planes . texturing theory | textures | texture projection methods 13 • tube — texture will be projected from cylinder shape on global xy axis . this will couse significant distor- tion if the object has faces coplanar to those axis . the whole texture will also be stretched if it’s in 1:1 resolution ratio . there is a way around it if you use 1:3 .14159 . . . I think you know why . texturing theory | shaders and textures in action | texture projection methods 14 • sphere — texture is projected from all directions, notice that I had to remove part of the projection sphere to get more visibility of underlying object . ShaderS and textureS In actIon creating some effects would employ cooperation of three elements described above . I will explain it on a sim- ple example . lets use Blender Internal render engine since we will be using it almost exclusively in the following chapters . texturing theory | shaders and textures in action | texture projection methods 15 first step will be creating a cube and assigning material to it by hitting new in material tab . our newly created material will serve as a container for shader and textures, it will be also used to assign those to specific faces (right now it’s the whole model) . let’s change the colour, rise the diffuse Intensity to 1 and drop specular Intensity to 0 . What we did here is we effectively disabled Specular shader . now only diffuse shader will affect the surface . texturing theory | shaders and textures in action | texture projection methods 16 let’s jump into texture tab and add a new texture in an empty slot . We are now going to do a couple of steps, you might modify them by using your own image . to create an image split the Viewport window, change the right window to uV/Image editor and hit new (1) to create new image . choose colour grid (2) from the settings popup and leave the rest of settings at their defaults . this step gener- ates new image which you can save to your local disk (while in uV/Image editor hit f3 and proceed saving the image as png to the disk) . now that we have our image saved to the local drive we can pull it back to Blender by opening the file or choosing it from the drop-down menu (5) . since the image was created in Blender, it’s already given a name within Blender interface . after saving the image to the local drive Blender remembers the name we gave it, as well as the location of the newly saved file . In this particular case we can use either drop- down or open menu to apply the file as texture . texturing theory | shaders and texturesin action | texture projection methods 17 to see the effect of our hard labour in the viewport, we’ll need to change the shading settings . to do that, you need to call out the properties panel by hitting n while hovering coursor over 3d Viewport . In the shading tab you need to change shading to glsl and then hit “alt+Z” to switch the Viewport from solid to shaded mode . notice that the colour of the model has changed . this happened due to the fact, that we just switched the col- our information from the solid shader colour to image input, which affected the way the model is now ren- dered . this however looks not at all what we expected . the reason for this is that we left one very important option at it’s default . that would be the choice of mapping coordinates, right now it’s set to uV (or at least it should be in some Blender distributions . If it’s not, change it now) . With the cube selected, go into the edit mode (by hitting taB in Viewport with the object selected), select all the geometry and hit u, cube projection . What you will immediately notice is that something happened in the uV/Image editor . With the cursor over uV/Image editor window hit ctrl+p . you can take a while to admire the effect of your work . With those few steps, you just created material with a very simple diffuse shader that uses Image texture (mapped to uV coordinates) as a colour input . texturing theory | shaders and textures in action | texture projection methods 18 let’s move forward and put the Specular shader to use . as I mentioned before, specularity can be influenced by grayscale or BW image . We could create it externally or in Blender compositor, but we are going to use some- what different method instead . In order to generate that image, we will use procedural texture as well as Bak- ing . sounds complicated? no worries, it’ll be quite easy . While in edit mode, hit the x button in the uV/Image editor to remove the image from current selection (the uV’s need to be selected as well) . create a new image just like we did before, it won’t matter if it’s filled with colour or not, so just use the default settings . select next free texture slot and create a new texture . from the texture type drop-down menu select clouds, mapping coordinates to uV should be on by default . all there’s left to do is to uncheck diffuse colour influence and check specular Intensity . If you hit f12 at this point, you’ll see that specular map already works when you render it, however it doesn’t show in the Viewport . that’s because clouds are procedural texture and in order to make things work in glsl we need to use the image one . the next steps will cover getting this procedural texture out to the image file . texturing theory | shaders and textures in action | texture projection methods 19 let’s move to Rendering tab, in the bake shelf you need to select specular Intensity and then hit Bake button . We just baked the procedural texture to the file . all there’s left to do now is to save the image to the file, like we did before . now, go back to the texture tab and switch the texture type from clouds to Image, open the saved image with clouds . lastly, in the Influence shelf, select RgB to Intensity . since specular shader bounces light off the surface under one angle, you might have to get the right angle to see the effect . once you get it right, the highlights will appear less regular than before . that’s because the pres- ence of Specular shader on the model is now influenced by the cloud image we used . White parts of the image ‘tell’ the shader that it should act with full influence in this area, black ones disable it completely, while everything in between is changing the factor with which Specular shader mixes with the diffuse one . that is also why we used the specular to Intensity option, we are influencing the mixing factor . this lesson should help you understand the basic idea of how materials, shaders and textures work . for now, we barely scratched the surface (see what I did here?) of the subject, but we will be learning by doing as we go . coming up next, huge part of this book, that is uV mapping (hold you horses, it’s still mainly theory) . uV mapping | Intro | general pipeline 20 uV mappIng Intro In the previous chapter we learned what uV’s are, now I’m going to teach you how to use some tools built into Blender, that make the uV unwrapping process easy as pie . uV unWrappIng BaSIcS you already unwrapped the basic cube in the previous chapter, in order to do that you had to be in the edit mode and there were things happening in the uV/Image editor . as far as working on uV’s go, this is where most of the process takes place . notice the square grid in the uV/Image editor, this is what’s called uV Space . that is the place where our uV map will be unwrapped to . let’s start with setting up general pipeline followed by an example . general pIpelIne • (optional) select the geometry in 3d Viewport and add a new Image in uV/Image editor, add a colour or texture grid with size of your choice (1-2k [1024x1024 to 2048x2048] square texture is usually enough, it depends mostly on model size, but the whole point is that it should be visible enough on the mesh to help you see how the islands are unwrapped) . In 3d Viewport transform panel under shading choose texture solid . • add Seams if necessary (3d Viewport: ctrl+e, mark seam or uV/Image editor: ctrl+e) • unwrap by hitting u, unwrap • hide the geometry in Viewport(h) if it’s in your way, if there’s any that does • Rinse and repeat • after unwrapping the whole object, unhide (alt+h) the parts of mesh, select all of them in uV/Image editor by hitting a until they are all highlighted and hit ctrl+p to pack Islands . this ensures that Islands will be the same size and so the resolution of the texture • pack the Islands manually if necessary In edit mode select whole geometry and add new Image in uV/Image editor . We’ll use 1024x1024 uV grid tex- ture . create a default cube and jump into the edit mode . now select the four vertical edges (you can use edge ring select to make it faster, alt+ctrl+rmB while hovering over vertical edge) and then select three edges from the bottom face . hit the ctrl+e and choose mark seam . Remember when I told you that uV unwrapping is like creating a blueprint for a paper cutout? the Seams in 3d are virtual cut lines that tell the software where we want our model to split . now with the geometry selected (you can also select parts of the geometry and only them will be unwrapped) hit u and this time we are going to use the unwrap option . uV mapping | uV unwrapping basics | general pipeline 21 the shape that appeared in the uV/Image editor is different than from one I used earlier to illustrate unwrap- ping process . that is because we introduced the Seams in different places that I did before . We can use a previ- ous method by clearing seams and then selecting the edge ring once again . this time we’ll select opposite edges of the bottom face (instead of three in a raw like before) and one perpendicular to them on the top . uV mapping | uV unwrapping basics | general pipeline 22 after unwrapping you can see the more familiar ‘t’ shape . the reason I’m showing this to you is, that the shape of the unwrapped geometry can sometimes make a lot of difference, when it comes to packing the uV’s tightly . It might sound a little abstract right now but keep in mind, that you have a lot of influence over uV’s shape . next thing we are going to do is we are going to introduce another Seam to an edge at the bottom, unwrap it and hit ctrl+p . our uV’s are now split into two parts, every part consists of few faces . We will refer to those pieces consisting of numerous faces as Islands . Ifyou go into selection menu of uV/Image editor and hit ctrl+taB, you’ll be able to pick Islands from the menu . Right click on one of the faces, this will select the joined faces as well . notice, that one of the Islands is rotated, this might cause some problems later on . since we will be using im- age files to texture objects, you have to realize something . Bitmaps are made of pixels and pixels are basically little squares . What happens if you try and run a line at an angle through an array of squares? more or less this: uV mapping | uV unwrapping basics | general pipeline 23 this issue is called texture bleeding . don’t get me wrong, it might be handled with different methods, but we can fix it in the easiest possible way for now . select the rotated Island and rotate it (r) so it’s aligned as closely as possible along uV coordinates . after that hit ctrl+p and immediately after that f6 . ctrl+p calls out the pack Islands function, it’s basically a script that draws a smallest possible, rectangular border around every Island and tries to find a best fit for all of them in the uV space . let’s do two things here, uncheck the Rotate option (so it won’t mess with our manual alignment) and put something more than zero in the margin option (it creates spacing between the Islands) . We’ll go a little further, tab out of edit mode and hit ctrl+2 to subdivide the cube than apply the subdivision surface modifier . go back to edit mode and we’ll see what happened . the uV’s are now subdivided too, it’s a nice feature but it might cause us some problems . hit n to show properties panel, under display you’ll find stretch checkbox, enable it . uV mapping | uV unwrapping basics | general pipeline 24 What you see now is a colour representation of how much the uV coordinates differ from 3d coordinates . In other words, it shows how much of the stretching occurs on the faces . deep blue colour means that the unwrap is ok, everything shifting from that means potential trouble . It doesn’t mean that we have to unwrap everything with no stretch at all, sometimes you can accept a little stretching, sometimes you can even use it to your ad- vantage . While angle stretch shows exactly what the name states, area stretch is a little more tricky . We’ll check it out by adding a cube within our current object and unwrap it (make sure that you have only the cube selected while using unwrap, we don’t want to mess with sphere uV’s right now) . after doing so, select all uV’s, pack the Islands (ctrl+p) and select area stretch . look at all the colours, it can’t be good, right? Well, the area option shows you stretch of faces in relation to each other . What Blender is telling us at this point is that the Islands are out of scale (one is bigger than the other), let’s hit ctrl+a to average Islands scale and then pack it again . average Islands scale function is quite self ex- planatory, it fixes the scale of selected Islands according to the size of corresponding polygons of the model . In the end it let’s you keep the same texture resolution on whole model . switch back to angle stretch and we’ll look into the uV’s of the sphere . uV mapping | uV unwrapping basics | general pipeline 25 We’ll start with adding some texture for visual confirmation, with Islands selected add a new uV grid image, 1k (1024x1024) resolution will do for now . one more thing we are going to do, is joining back the two split Islands . hit ctrl+taB and pick edge selection, bottom edges of the t shaped Island and hit V, enter . stitch uV’s option allows us to connect the previously separated uV Islands . hide the cubes geometry for now so it won’t get in our way . If we take a closer look at the texture, we can see that the grid is being distorted . It’s not the perspective working against us here, what you can see is the stretching in action . this occurs mostly due to the fact that we didn’t unwrap the sphere yet, if you remember, we unwrapped the cube, subdivided it and left the uV as it was . next step would be checking out how can we fix the unwrap, hover over uV/Image editor and hit e, that will work the same as u, unwrap it in 3d Viewport . It already fixed the problem a little bit, this unwrap would pass in most cases but let’s go a little further . uV mapping | uV unwrapping basics | general pipeline 26 What we can do to improve, without completely splitting every single face, is to introduce few cuts minimizing the stretch . We’ll need to release edges connections occurring next to stretched areas . at this point it would be easier to do it in uV/Image editor . after selecting the edges hit ctrl+e, this will do the same thing as marking the Seams in 3d Viewport . uV mapping | uV unwrapping basics | general pipeline 27 notice that the Seams are now marked on the mesh as well . as a final step select the whole Island and hit e to unwrap it once again . We could go on and introduce some more Seams up to the point where every angle would be perfect but we would end up with Island looking like an elephant head and that would be silly and unprofessional . on the serious note though, very tiny spacing between uV polygons is a tricky thing, and that might cause some bad looking Seams in the end . as well as inability to align the Island on axis . and finally there’s also the fact of the Island taking up more space than step before . general rule of thumb would be: be lazy, the fewer cuts, the better, you want to keep it simple, efficient and “good enough” . uV mapping | uV unwrapping basics | general pipeline 28 there’s one more thing before we go further with some more theory . for this step unhide the cube, select all Islands, hit ctrl+a and ctrl+p to average Islands scale and pack them . as I mentioned before, pack algorithm draws a rectangle around the Island and tries to pack those rectangles the best it can . unfortunately it doesn’t do a great job . since it’s important for the Islands to take up as much uV Space as possible, we would need to pack it manually . put the Islands close together and scale them up (both of them at the same time) as much as you can . that would be it for the basic workflow . now that I’ve shown you through that exercise, you will be able to get your head around the vocabulary and the basic tools . With that knowledge we can go into detail on the above subjects and some more elaborate techniques . uV mapping | uV/Image editor and 3d Viewport functionality | uV/Image editor 29 uV/Image edItor and 3d VIeWport functIonalIty We already used some of the options but there’s more to it! let’s see what other modes and functionalities are available . uV/Image edITor • uV Sculpt (Q) — enters sculpting mode for uV’s . It works like a 2d sculpt with grab, pinch and Relax modes . you can also change basic settings of the brush like Radius, strength, curve and such . to be hon- est I barely use it since I can’t find much difference from it and proportional editing . Just letting you know, it’s there • live unwrap — similar to live unwrap in 3d Viewport, except for… this one doesn’t work in some ver- sions of Blender • unwrap (e) — unwraps geometry selected in 3d Viewport with unwrap algorithm . It might speed up things a little bit, you won’t have to hover over 3d Viewport to unwrap things • pin and unpin (p) — locks/unlocks selected uV vertices to the uV coordinates so if you unwrap them again, pinned vertices along with islands containing them won’t move . this is however ignored if you were to pack Islands • pack Islands (ctrl+p) — draws a rectangular shape around the selected island and tries to pack them in the uV space in most efficient way • average Islands Scale (ctrl+a) — unifies the scale of selected islands • minimise Stretch — algorithm thatwill try to minimise the stretch on the selected uV’s • Stitch (V) — if one geometry is unwrapped into two or more islands, stitch can stitch their geometry back together • mark Seams (ctrl+e) — marks selected edges as Seams so they will be split when next unwrap action occurs • Seams from Islands — will introduce Seams to the mesh according to islands outline . It might be use- ful if you mess up Seams by accident and want to recreate them with help of uV’s • transform (g/r/S/Shift+ctrl+alt+S) — move/Rotate/scale/shear . transforms uV’s, works as in object/ edit modes • mirror (ctrl+m)— mirrors islands over chosen axis • Snap (Shift+S) — snaps cursor and selection • Weld (W) — selection of options allowing welding and alignment of uV’s • proportional editing — works the same as proportional editing in mesh edit mode and in sync with it • Show/hide faces (h/alt+h/Shift+h) — hides and unhides selection • Keep uV and edit mode mesh selection in sync — this is actually quite an interesting option . If you noticed, uV’s are visible only while the mesh corresponding with them is selected . If you unselect mesh, uV’s disappear . this mode allows you to keep the uV’s visible at all times . oh, and it also syncs the selection • uV Select mode (Shift+tab) — lets you choose between different selection modes (edge, vertex, face or island) . In mesh sync mode island selection becomes inactive 3d VIewporT • ctrl+e, mark seam — marks the edge of the mesh as Seam . keep in mind that it can be used in every selection mode (face, vertex, edge) and you have to be smart about using it . for example if you want to mark 32 edged circle without one edge, you rather select edge loop and deselect one edge than go over every single edge . • u — unwrap the mesh with algorithm of your choice . • mesh options panel, options tab, live unwrap checkbox — this is quite handy little option . With this one checked your uV’s will unwrap automatically every time you add a Seam to the mesh (either in 3d Viewport or uV/Image editor window) . It will however do it in unwrap algorithm . I find very useful in situation where it’s difficult to plan the unwrap exactly . • transform panel, Shading shelf — shading mode will be helpful when you want to preview the effect of unwrapping and texturing . multitexture with texture solid checked will display the texture based on uV’s and will be helpful in render wise undemanding situations . like checking your unwrap with uV grid texture . glsl can reveal more advanced shading like specular Intensity, it will however need a source of light to work properly . • transform panel, mesh display shelf while in edit mode — among others you will find seams checkbox that will enable Seams display as red lines on the mesh . unWrap algorIthmS When we last used the unwrap shelf, you might noticed that there was a couple of different options there . those are the unwrap algorithms . they are methods that Blender uses to unwrap the object and they work uV mapping | unwrap algorithms | lightmap pack 30 quite differently . they will be your most basic tool in the process so it’s important to get to know them, so you will be able to pick the best method to unwrap a mesh . I will however focus on the advanced ones and barely mention the basic . let’s take on the basic ones first . don’t mind me being harsh, I’m sure lots of people would use and are using those . I just can’t see the practical appli- cation of them, since more accurate effect can be achieved with advanced tools . lIghTmap paCk splits every face to separate Island . uV mapping | unwrap algorithms | cube projection 31 Cube projeCTIon splits mesh into six separate Islands, like it would be ripped and projected to cube . uV mapping | unwrap algorithms | cylinder projection 32 CylInder projeCTIon projects the uV’s onto cylindrical shape, depends on view or object alignment . sphere projeCTIon almost the same as above, but uv’s are being projected onto sphere . unfortunately those except for cube projection are limited in terms of keeping the Island’s correct ratio and can’t be fixed otherwise than manual correction . presented screens show the mess those algorithms create . now that we got it out of the way, we can focus on the good stuff . the one basic method I find quite useful in the workflow is project from View . uV mapping | unwrap algorithms | project from View 33 projeCT from VIew It copies our current 3d Viewport to the uV space . I avoid using the word ‘unwraps’ here, because there’s no ‘wrapping’ or ‘unwrapping’ in this case . however using this method for the whole geometry is a rabbit hole (with one or two exceptions) it might come in handy in case of unwrapping part of the mesh . sometimes it helps with unwrapping n-gons, which tend to distort in some cases when unwrapped . to fix the above unwrap you can select both n-gons and unwrap them from view, do a regular unwrap on rest of the mesh and finally stitch the whole thing back to single Island . don’t try to recreate this example for now, it presents one more issue that I don’t want to get into right now . as for the n-gons, the unwrap might be easily fixed by dividing it but in case you want to avoid that, project from View comes in handy . on the screenshot below you can see that there are still some issues showing in the uV’s on the bottom part (top was fixed by breaking the n-gon), it won’t affect the texturing tho . now that we are through with the basic methods, you can forget about them . It’s time to move to advanced ones . uV mapping | unwrap algorithms | smart uV project 34 smarT uV projeCT this method is splitting the Islands, although it takes the angle between faces under consideration . It’s quite useful if you need to uV unwrap a huge object and you don’t care much about size of the textures nor their size and you will use external software to texture it . It works best with simple geometrical shapes but in the end it gets the work done if you don’t want to spend too much time unwrapping . however it’s known to produce some distortions, mostly in case of larger Islands coming from geometry with different angles . Image below shows the geometry unwrapped with low angle threshold, the outcome is acceptable, but there are lot of split- ted Islands . If we crank up the split angle, distortions appear . uV mapping | unwrap algorithms | follow active quads 35 still, in cases where we want to produce uV map for large amount of simple geometry, this algorithm can be a huge time saver . follow aCTIVe quads this method is very useful if we want to texture the object with a material that can stretch or do a semi-good unwrap of all kinds of cylindrical shapes . think of the fabric (mesh will get looser or more dense if we stretch it) or ribbed tube . the workflow might be tricky if you don’t know how it works . the name states that unwrap pro- cess ‚follows the active quad’ so we need an unwrapped quad to start with . to achieve a nicely distributed array of quads we might need to fix things a little . lets pick one quad and unwrap it . the shape isn’t regular, so is the unwrapped face . In uV/Image editor hit ctrl+Shift+taB, change to vertex snapping, ctrl+taB for vertex selec- tion and readjust the geometry using axis locking (x,y) to make it square (or don’t if you want an interesting result) . uV mapping | unwrap algorithms | follow active quads 36 In 3d Viewport hit ctrl+l to select the rest of geometry (leaving the unwrapped quad as active), hit u, follow active Quads . length average will be ok for now . now we’ll see what happened . select all Islands in uV/Image editor and pack them into uV space (Island is quite large since it scaled to the quad we selected). Both uV/Image editor and 3d Viewport shows large stretch- es to the texture, but imagine if it was a fabric that was actually stretched, it’s much easier to stretch the texture with uV than to make a texture that looks like that on the regular unwrapped mesh . uV mapping | unwrap algorithms | follow active quads 37 my favourite application for it is however everything that has to do with piping and cables . this technique will give us regular Islands with distortions either very small or just where we want them . greebled cylinder unwrapped with Seam and unwrap (uV above) and follow active Quads (below) . few more important things about this algorithm, it is Seam sensitive so it gives you control over Seams loca- tion, and it works in three modes: uV mapping | unwrap algorithms | follow active quads 38 • length average, we used in examples so far, it takes a measurement of edges length in every loop and uses the average in unwrap . • length uses the actual length of edges . • even uses active quad as a guideline for the rest, no matter their size and proportions (in most meshes causing serious distortion) . uV mapping | unwrapping basic shapes | unwrap 39 unwrap last, but not least, the one to rule them all, the unwrap algorithm . this one will be driven mostly by size and angles of the geometry to return the best approximation of its surface in 2d . When there are too many angled surface, we need to introduce Seams to avoid stretching, just like in the previous examples where we unwrapped subdivided cube . this unwrapping technique is most useful when you need to unwrap bent surfaces and want to avoid texture stretching . It’s also irreplaceable in unwrapping organic models . unwrap operates with two different settings: • angle Based, which is best at unwrapping soft, complicated geometry • conformal, that sometimes can better handle simple, geometric shapes . there’s really a lot of ways you can use unwrap so I won’t multiply examples in this section, we’ll be learning as we go . unWrappIng BaSIc ShapeS this is the part in which we will have to start balancing out few things . uV mapping | unwrapping basic shapes | cube 40 • first of all, we want to keep the object as a single island (or as few as possible) . It’s a good practise since it helps you manage the map of more complex model (by giving you the possibility of selecting whole islands corresponding to the part of the model) . however splitting the object into few islands isn’t a ‘no go’, you don’t want to do it at all cost, just try to split as little as possible . • second would be keeping as little stretch as you can . little uniform stretching is ok, but if your test im- age starts to ‘wave’, you’re in trouble . there will be more to it, but at this point we’re done with rules . Cube We already unwrapped the cube in examples, let’s round it up in one place . for the cube we’ll use unwrap ex- clusively, since it gives us cleanest result and maintains the single Island characteristics . uV mapping | unwrapping basic shapes | sphere (subdivided cube) 41 • t shape, Seams on all vertical edges, two parallel edges on the base and one perpendicular to them on the top . • cross shape, Seams on all vertical edges and three edges on the base or top . sphere (subdIVIded Cube) almost the same as in case of cube but we need to add some additional cuts to release the stretching . uV sphere depending on the stretch we can get away with, we could use different approaches . uV mapping | unwrapping basic shapes | uV sphere 42 • ‘capped cylinder’ method, what you want to do in this case is you want to unwrap as much of the quad geometry in the middle of the sphere with follow active Quads as you can . ‘as much as you can’ meaning avoiding non uniform stretching . In case of default, sixteen ring sphere it will be six middle rings, intro- duce Seams to said loops and a vertical Seam between them . unwrap one of the quads within the area and straighten it . In the 3d Viewport, while in face selection mode use ctrl+l to select linked geometry (you’ll see it selected the polygons between Seams, due to limit by seams option being active by de- fault), use follow active Quads to unwrap the part . select the whole island in the uV/Image editor and pack it . • hit ctrl+I to invert selection and unwrap, realigning geometry with regular angle Based unwrap . select all islands, average their scale and pack them . there’s a little stretch occurring on the bottom and top parts, that can be fixed in uV/Image editor . start scaling edge rings, starting from the centre, until they show nice, deep blue colour . • as a final step we could join the islands together to create a single island but this kind of unwrap will be sufficient (circular islands usually fit nicely in larger maps) . If you want to do that, use uV stitch tool (V) on the edges you want your island to be connected . • there’s also a solution used in projecting maps that’s called interrupted sinusoidal projection . We can start with hiding the ‘bottom’ half of the sphere, selecting every 4th loop and mark them as seem . uV mapping | unwrapping basic shapes | uV sphere 43 • unhide the bottom part and hide the first ring of the top half . select and mark as seem every 4th edge loop but shifted by faces in comparison to top half . • unhide everything, mark Seams joining the existing ones on the equator and unwrap with angle Based method . uV mapping | unwrapping basic shapes | uV sphere 44 • We can also mix the above methods to achieve nicer texture distribution, to do that start with unwrap- ping the middle part just like in the first method . as for the top and bottom parts, introduce Seams on every second edge loop and unwrap them with angle Based method . • go into edge selection mode and select two bottom edges of every triangle, hit V and stitch them to the middle part . uV mapping | unwrapping basic shapes | cone 45 Cone • select the edge loop on the circle and single, vertical edge on the cone . unselect one bottom edge near the vertical edge and mark them as Seam . unwrap with angle Based method . you could mark the whole circle loop if you want to create two separate islands . • If the cone is flat enough, you can try and unwrap it without Seam . Just introduce a cut to the base and unwrap the whole thing . uV mapping | unwrapping basic shapes | cylinder 46 CylInder • select the edge loops along top and bottom caps and one vertical edge, mark them as Seams and un- wrap with angle Based method . • If you want to create single island, after selecting edges unselect one near vertical edge on the top and bottom . proceed as before . uV mapping | unwrapping basic shapes | torus 47 Torus • the easiest way would be approaching the unwrap with follow active Quads . It will leave us with some stretching but we might be able to use them to our advantage . In this case we go with usual workflow, unwrap a single face, straighten it, select the rest of geometry and unwrap with follow active Quads . • for the least distorted unwrap we would need to introduce quite elaborate Seam system . We’ll start with creating a Seam on every edge ring . to do so, select one edge ring and use select, edge Rings from bot- tom menu of 3d Viewport . uV mapping | unwrapping basic shapes | torus 48 • use alt+ctrl+Shift+rmB to deselect edges on two middle outside loops . mark the remaining selection as Seam . • select the horizontal loop near the Seams ending, use select, checker deselect from 3d Viewport bot- tom menu and mark seams . do the same thing on bottom loop, making sure that you start selection from other edge . uV mapping| unwrapping basic shapes | Icosphere 49 • finally mark two vertical Seams on the middle outside loop as Seams . hit unwrap . ICosphere no matter the Icosphere resolution, you can distinguish a certain pattern . add a subdivision level 3 icosphere to the scene and enter the edit mode . If you look at it’s top, you’ll see a certain set of triangles, no matter the resolution . uV mapping | unwrapping basic shapes | Icosphere 50 this geometry flow allows us to mark five lines through its surface, that can be used as seams . first, hide the south hemisphere, and mark the edges starting from top set of triangles, going down in the straight line and changing the flow angle on the second triangle loop from the bottom . mark the selection as seam . uV mapping | unwrapping basic shapes | Icosphere 51 unhide the bottom hemisphere, and do the same thing to the remaining geometry (screen shows the sphere from the low angle) . go to the side view and Remove seams from two triangle loops near equator, except from one connection . hit u, unwrap . uV mapping | unwrapping complex shapes | Icosphere 52 unWrappIng complex ShapeS after I sneaked in a little knowledge we can start playing with some more elaborate examples . for the sake of presentation I’m going to use part of ‘perun’ model by chris kuhn . for starters, add a uV grid in the uV/Image editor and turn on angle stretch . let’s take a look at our model . It’s pretty much a bunch of cylinders, cones, some cubic shapes and a couple of more complex cubic geometries . We’ll start with easy ones that is cylinders and cones . select all round cylinders and cones and hide everything except for those (Shift+h) . few of them are just sim- ple cylinders, some are extruded into different diameters and shapes . We’ll go with the easy ones and mark one of their edges as seam . notice that the longest one is capped on one side, select edge loop around the circle and unselect one edge in proximity of the long edge . also keep in mind, that placing Seams on edges occluded by other parts of the model will help you hide minor errors in texture . mark the selection as seam, hit ctrl+l and unwrap . notice that while small cylinders are looking more or less ok, the long one shows obvious texture stretch (it didn’t show on the stretch tool at all but you can see that the Island is off angle) . uV mapping | unwrapping complex shapes | Icosphere 53 It can sometimes happen in case of very long and thin shapes, that’s why we use uV image for visual confirma- tion . luckily there’s an easy way to fix it , select conformal under unwrap method (either transform panel or f6 right after unwrapping) and unwrap will work nicely . since we’re done with those, hide them . let’s deal with the main cannon . differences in diameters of the cylin- ders, as well as presence of cones, will make the follow active Quads method produce too much of distortions in this case . We will be forced to cut the geometry into few separate Islands . select four edge loops limiting the cones and mark them as seams . uV mapping | unwrapping complex shapes | Icosphere 54 While the ‘back’ cone is flat enough to be unwrapped as it is now, the ‘front’ one has too much of an angle . We’ll need to cut it horizontally to produce a clean unwrap . switch to face selection in 3d Viewport and select both pieces (don’t select the rest of the part just yet) . use unwrap and don’t forget to switch back to angle Based method or the circular shape will get distorted a little . uV mapping | unwrapping complex shapes | Icosphere 55 for part between cones we can easily go with follow active Quads . since the crease in the front is quite small and partially hidden, even if it gets distorted, it won’t be very visible . use one of the bigger quads as a matrix for the unwrap, it’s a regular quad and you won’t need to fix it in uV/Image editor . after unwrapping, pack it nicely into uV space to see the uV grid in more appropriate scale . We don’t need to worry about it’s scale in relation to others just yet . as for the rest of the piece, use the same follow active Quads method to unwrap them . Watch out for the inner piece, the faces there are not regular quads, so you’ll need to do some fixing in uV/Image editor before you un- wrap it . uV mapping | unwrapping complex shapes | Icosphere 56 you can now hide the part . moving forward to the little pistons on top and bottom of the barrel . If we use follow active Quads, it’ll produce little distortions of the flat pieces . since it’s a relatively small part we could get away with that but let’s go ‘by the book’ and fix them . after unwrap- ping the whole part with follow active Quads select the face loops of both circles and use the unwrap . notice, that I didn’t use Seams in this case, since the selection is easy (Seams might make your life easier not only by marking the Seams but also serve as selection limiting tool) and we are using two different methods to unwrap the piece, there’s really no justification for using Seams . uV mapping | unwrapping complex shapes | Icosphere 57 We still need the second piston done, but let’s make our life easier and just duplicate the unwrapped one, move it into place of un-unwrapped one (snapping will help you with that), hide it and delete the un-unwrapped geometry . this way we reproduced previous workflow without actually doing it . We’ll cut the corners and just use follow active Quads on the bottom two pistons and the top one, recreate the step above if you want to make it better . uV mapping | unwrapping complex shapes | Icosphere 58 We’ll need to cut the last part some more, first mark the seams limiting the radiator part and use follow active Quads to unwrap it, this time we’re not even cutting any corners, since the radius differences are causing almost no distortions there . Introducing Seams will again serve as more of a selection limit tool here . select all the flat circles and unwrap them . uV mapping | unwrapping complex shapes | Icosphere 59 use either Seam and unwrap or follow active Quads to unwrap remaining cylinders . not that we have the cylindrical shapes out of the way let’s move to half cylinders . starting with one on the top . you’ll notice that the back wall and the rounded face loop can be easily unwrapped with running Seam along the edge and skipping one to keep them as one Island . as for the front, angled part, we can do pretty much same thing but keep two top edges clean of Seam . this way we’ll get a regular Island with almost none distor- tion . If we wanted to do it in the most clean way possible we would split those parts into separate objects but again, keeping objects within fewer Islands helps us manage things and makes packing easier later on . uV mapping | unwrapping complex shapes | Icosphere 60 part on the front is pretty much the same . do the same thing with part over the barrel, this time you won’t need to worry about the back wall . uV mapping | unwrapping complex shapes | Icosphere 61 hide the unwrapped parts and we’ll move to large oval part in the front . select the largest quad on the middle side and unwrap it . hit ctrl+l to select the whole part, unwrap again using follow active Quads . We’ll investi- gate what’s wrong here . obviously, oval caps on the front and back didn’t unwrap, select both of them (c for circle select works quick in case of triangulated circles, just click in the middle and you’re done) and use unwrap . uV mapping | unwrapping complex shapes | Icosphere 62 as for the faces in the crease, they show significant distortion, but their placement is barely visible so you might leave them as they are . unless you want to be super accurate,than you can unwrap those too . the front face loop will show quite a lot, let’s unwrap it with unwrap . uV mapping | unwrapping complex shapes | Icosphere 63 alee there’s left now is the conical shape in the back, since it has quite a big angle, we’ll need to add a Seam to it, preferably on the bottom edge . select edge loop and use unwrap to lay it out . Just like that the part is done and we can hide it so it won’t get into our way . the flat rounded panels will go next . select the longer one and hit unwrap . unfortunately it stretched the Island quite a bit and some weird angles appeared near the rounded part . uV mapping | unwrapping complex shapes | Icosphere 64 We can fix it by adding two Seams where the long side faces are joined with the rounded cap . It still stretches a little but we can get away with that . If you want to be super correct, mark every edge on the rounded part as seam, this way it’ll unwrap without any distortion . Repeat the process with the part on opposite side . for the smaller part in the front, we’ll need to add two addi- tional Seams in the back . uV mapping | unwrapping complex shapes | Icosphere 65 for the next one we are going to use four Seams in every corner plus additional two Seams on the rounded top . same goes to the part on the opposite side . for the base of the barrel we’ll mark the arch and the edge of the middle of it, than select edge loop around the inset and two edges in the corner of it . uV mapping | unwrapping complex shapes | Icosphere 66 since we managed to uncover the thickened part of the barrel, select both loops with arches, unselect three longest edges and select one perpendicular at the end of the arch (next to one remaining long) . mark selection as seam and unwrap . select the longest face on the barrel, unwrap it, ctrl+l and unwrap as follow active Quads . only the long part and the inside unwrapped properly so let’s hide them and take care of the rest . uV mapping | unwrapping complex shapes | Icosphere 67 select the flat edge loops along with a conical one and unwrap them . add Seams at the bottom of remaining face loops, select what’s left and unwrap . uV mapping | unwrapping complex shapes | Icosphere 68 for the main body, we’ll do some planning . take a closer look at the geometry and try to establish the outer surface of it . We need to use Seams to cut out everything that might interfere with unwrap . In the front should look something like that . Back and bottom . uV mapping | unwrapping complex shapes | Icosphere 69 now we need to exclude the parts that will mess up the unwrap due to their angle . that goes for the large sur- face in the back, we need to cut it away completely, since there’s almost no way we can keep it within the Island without causing distortion, even if we did, the final Island would be irregular and might be hard to pack . continue cutting out the interfering surfaces in the front and add a Seam on the bottom that will allow the Is- land to unwrap . uV mapping | unwrapping complex shapes | Icosphere 70 We can remove one Seam to join two parts so the Island won’t split . When that’s done, switch to face selection and use l or ctrl+l to select the outer shell limited by Seams and unwrap it . It should look like that . uV mapping | unwrapping complex shapes | Icosphere 71 you can notice some irregularities within the Island, this time we’re going to create best possible unwrap, de- spite of the fact this one is ok . so what’s causing problems? It must be the crease so let’s get it out of the picture for now, select the edge loops around the crease and unwrap the main body again . everything is nice and smooth now so the crease was indeed a culprit . to even it out and be able to stitch Islands back together we need the outer edges of the crease to match outer edges of geometry it joins with . I f we are going to unwrap it with follow active Quads, we need to establish the proper length of the first quad . you can see that the mesh is a trapezoid so our unwrap must be made a quad that matches sides with longer edge . uV mapping | unwrapping complex shapes | Icosphere 72 after straightening the quad, use follow active Quads to unwrap the crease, repeat the process for the second side . We’re now ready to stitch the Islands back together, select the remaining main body geometry and average Islands scale . use stitch tool to join the pieces together . you will need to do some manual adjusting to straight- en things up, just move edges around until they stop showing in the stretch preview . uV mapping | unwrapping complex shapes | Icosphere 73 this way we can have a straight Island with almost no distortion . now that we’re done with that, hide the unwrapped geometry and we’re going to proceed with the rest of the part . the inset on the front is quite easy, just use unwrap, ignore the distortion and get it out of the way . uV mapping | unwrapping complex shapes | Icosphere 74 With the top part, marks Seams along the crease edge, we won’t be able to use previous trick in this case since the crease has some sharp angles to it . add more Seams so the crease is joined just with the middle face . We also need two Seams to unwrap the large part properly . Back section will be easy, just use unwrap . uV mapping | unwrapping complex shapes | Icosphere 75 With the inset just add two Seams in the sharp corners and use unwrap . use following Seams to unwrap the bottom part . uV mapping | unwrapping complex shapes | Icosphere 76 the back round shape will unfortunately need three Islands to create a semi decent unwrap . create Seams outside the flat ring and single cuts on the cones . With the panels on the side we’ll need edge loop Seams in every corner . uV mapping | unwrapping complex shapes | Icosphere 77 similar method applies to the smaller panel, this time we’ll need to cut it a little different, so the Islands won’t overlap . We could separate the ring of faces on the side or a single face, but the part is small enough to ignore close proximity between Islands and act in favour of having single Island unwrap . to take care of another one we need to cut out the panel sitting inside our panel . uV mapping | unwrapping complex shapes | Icosphere 78 after doing so, select the corner loops as well and mark all of them as seams . for the next panel we need those marked as Seam . uV mapping | unwrapping complex shapes | Icosphere 79 and the simple unwrap will take care of the rest . or will it, nope there’s some nasty distortion in the cutout area . We’ll need to trick it into working . first mark the selected edges as seams, then Remove two seams from longest edges . uV mapping | unwrapping complex shapes | Icosphere 80 this way those little parts that overlap no matter what you try, will stay connected to some Island . for some reason the faces got distorted in the process, you’ll have to manually adjust vertices to remove the distortion . try to use both stretch view and test texture to get the best result . now we have to take care of that bottom cylinder with array of insets running under angle . honestly it’s one of the most annoying things to unwrap here . We can either run a Seam on every single sharp angle and end up with loads of Islands that are hard to fit or just ignore some distortions . so option one would be this . uV mapping | unwrapping complex shapes | Icosphere 81 and since I hate it so much I’m going to suggest option two . distorted but still better than crapload of Islands . We’ll get rid of the easy stuff first, mark the outer edges and unwrap them
Compartilhar