BACK TO TEACHING HOMEPAGE

BACK TO COURSE HOMEPAGE

   

MAA 1134: Principles of 3d Modeling

Through critical analysis, the student will apply basic design principles to the solution of visual problems using elements of 3D design. The student will conceptualize 3D coordinate systems, construct 3D models, and perform mathematical computations as they apply to geometric construction.

 
JUMP TO A SPECIFIC WEEK:

 

 

Week 6: UVing the Kleinymon Papercraft

The Assignment for the week will be to take a look at UVing. The process we use in class will actually be a little bit backwards from how UVing is normally done (in this case we have an already created texture and are UVing the model to match that texture) but will serve the exact same purpose: to look at how UVs are created, why they are needed to match the texture to the model, and the associated rules for UVing. We will use a model I have already made based on Papercraft to UV. Here is a look at the finished version of the mesh with the texture applied, and also a look at the texture itself which you will be UVing your model to match:

 

In the real world, here's how it would work. The model itself is built out of "paperthin" polygon geomety (see image on left). If we take that geomety and flatten it out we get an unfolded version (see image on the right). In 3d software like Maya, this process is done through a series of projections where the angle the camera "looks" at the surface determines how it gets flattened out. From there the UVs end up in the UV texture editor window (analgous to the table seen in the right image below). Tools such as the Move and Sew UV edges tool (the tape) and the cut UV edges tool (the scissors) can be found among many others which allow you to reform your surface.

UVs are an additional component that coordinates 3d space with a 2d representation of that space onto a map (known as a UV map). Very simply, there will be a UV point wherever we find a vertex (at the intersection of multiple edges/at the corners of a face).Think of UVs like the city of San Francisco represtented on a Globe. There it is an identifiable place in 3d space and that is the Vertex. If there was a sudden Volcanic erruption underneath the city and it rose up off the globe due to the volcano underneath, we would have to manipulate the vertex since it has moved in 3d space. However the UV is like a representation of San Francisco on a map such as a Mercator or Robinson map. Even though the map is different between these two types, the city itself has not moved based on the way we draw the map. UV mapping will be discussed more in Materials and Lighting. The UVs define space differently from verticies in that that vertex points are manipulated in X,Y,and Z space (think of earth in terms of the larger galaxy), and UVs are manipulated in UV or local space (east-west and north-south).

The process is done in 4 main parts:

  1. Projection.
    In this phase parts of the model are selected and either planar, spherical, cylindrical, or automatic projections are used. This gets initial UVs layed out, but there may be overlap.

  2. Cutting.
    In this phase, parts of the model are Cut and maybe even sewn back together to break off distinct sides to prepare for flattening. After this phase, you may need to create new projections from the assoicated selections before moving on to phase 3.

  3. Unfolding.
    Here the UVs are unfolded so that the faces have the same proportions in 2d as they do in 3d. This can be done with automatic tools such as Unfold or Layour, or Smooth UV, or by hand.

  4. Packing.
    In this final stage, the UVs are packed so that they fit into the 0-1 space as tightly as possible. Think of it like a boring game of Tetris where no one is keeping score.

 

Their are 5 main rules to UVing:

  1. Minimize Distorion- Make sure the UV shells have the same proportions as the the faces of the model do in 3d
  2. Minimize Border Edges- Make sure that there are as few UV shells as possible, and that on those shells they have as few open seams as possible
  3. Keep Everything in the 0-1 Space- For Unique, non-tiling textures, everything must be packed into the 0-1 space at the end of the process to avoid repeating textures
  4. Control Your Overlapping- Overlapping should only be used where the textures need to repeat
  5. Maximize Space- Pack your UVs so they don't waste UV space


Image by Roy Havens

Image by Jonathan Ignacio

Image by Isaac Chandler

Image by Glen Miles

Image by Diana Wi

Image by Andrew Li


Image by Trevor Gudmundsen


Image by Jet Otanes

Image by Candice Inch

Image by Bryan Hitchen


Image by Kelsey Copeland


Image by Kira Rasure

Image by Mckenna Thayn


Image by Seth Haynes

Image by Jonathan Raney

Image by Eddie Contreras

Image by Austin Anchor
 

 


Textures are created by the artist to give extra detail to the model, beyond what can be done with polygons alone. Some textures are meant to make the model look like it has thousands more polygons, while others act to simply add coloration. Textures are painted onto flat "maps" created through an interface known as UVs. These flattened maps can be painted in programs like Adobe Photoshop.

Here is a model of a truck with no textures. This model was created by Andrew Klein and used in Sony Home's game-lobby for Farcry 2:


Here is the same model with textures applied... Big difference right?????


Several textures are used here to give this truck it's final look.

The texture in the upper left corner is a Specularity map. It controls how shinny the surface gets. White= more shinny, darker= less shinny. In this map, the windows, and metal parts have a HIGHER SPECULARITY.

The texture in the upper right corner is a Normal map, which is one type of map that shows surface difference. Normal maps allow you to fake extra slopes on a surface to trick the eye into thinking there is more detail than there really is.

The texture map in the lower left corner is the diffuse color map, it is the flat painted color of each object and shows dust and dirt along with texture and pattern.

The texture map in the lower right corner is an Alpha (transparency) map. It's job is to specificy what parts of the surface are transparent. Here white=solid, black=invisible. This allows the artist to create frayed edges on the fabric, and semi-transparent windows.


THERE ARE MANY MORE TYPES OF TEXTURE MAPS TOO!!!!!



To paint a unique texture for a part of a model, your UVS CANNOT OVERLAP!! It is our job to create a map that has little to no overlapping.

 

Play the UV mapping game from Planarity.net

 

  1. Lets look at how to lay out the UVs for our Airplane to allow us to create texture maps:

    First, lets select the plane, and as shown, create a planar map of it from the Y-axis (looking downward)


  2. Then, lets open up the UV Texture editor window, which will allow us to edit our map


  3. Here is a look at the UV texture editor window, with some buttons you might want to know:

    0 to 1 space-This quadrant of the graph that we see in the UV texture editor window is in the top right corner. It represents the positive space on the graph, and is where your UVs should be placed to prevent texture repeat. The other quadrants, as well as the area outside of the 0-1 space can be used to store UVs temporarily while laying them out, and then must be moved back inside the first quadrant of the graph.

    cut uvs-This function is used to seperate UVs that have been sewn together so that the faces adjoining them can be independantly positioned and moved.

    sew uvs-This option is used to connect two parts of the same uv that have been seperated by the cut uvs function or by mapping.

    relax uvs-To automatically untangle and even out UVs distribution based on the geometry and the UV borders. Selecting target UVs (one sample is enough) and click the tool (Check Options!) to relax UVs. You may need to repeat this action to see the desirable result. Under the options, make sure to set Edge Weights to World Space instead of Uniform.

    move an sew uvs-To merge UVs by selecting polygon components edges, vertices, faces, or UVs. To avoid un-necessary stretching caused by Sew UVs, use Move and Sew UVs instead. Number of vertices does not equal to number of UVs. Be conservative with the amount of UVs for game models. Sew as many overlapping UVs as possible.

    align uvs-To align / straighten a roll of UVs. Selecting target UVs (minimum 2) and click the tool (Check Options!) to align UVs.

    split selected uvs-Will split all selected UVs into one UV for each connected edge.

    rotate uvs-Will rotate selected UVs clockwise or counter-clockwise. Select the target UVs, and click the tool.

    flip uvs-Use these options to flip the UVs of the selected faces either horizontally or vertically. Horizontal is the default Direction. Open the option window (click the box beside Flip UVs) and leave it open. Select your UVs and choose the axis which you wish to flip by.

    UV Snapshot -When you're finished laying out your UV map, you need to make a snapshot to use as reference for painting the actual image. Make sure all UVs are within the top right corner boundaries of the UV Editor and then (see 0 to 1 space) , in the UV Editor, click "Polygons > UV Snapshot". Define the output location, the resolution you'd prefer (256, 512, 1024, resolutions with the multiples of 2) and the file type. You should have a nice wireframe image in the output directory after you perform the operation.


  4. Lets cut this plane in half. Select a continuous loop that bisects the wingsby double-clicking





  5. You may need to manually edit the edges that you have selected:


  6. Then, so we can see what is going on, lets display our Texture Border Edges:





  7. Cut your selected edges:



  8. In the UV texture editor, we can now select a UV by right-clicking and choosing UV from the marking menu. Select 1 point.



  9. We can then convert that 1 point into the whole UV shell:


  10. When we move the shell outward with the Move tool (w), the shells no longer overlap. Now we can paint Unique textures on the top and bottom. But there is still plenty of parts that are hard to paint on, like the tail fin, and the air intake on the bottom of the plane. Their UVs are pretty smashed up.



  11. Lets use the Unfold tool to create less of a mash-up. Select the Unfold tool, and use the slider that pops up when uvs are selected to relax our the UVs. Here is a video of how the tool works:


  12. If the tool doesn't work properly, your UVs might be flipped. We can enable the Colorize shells feature to see this. If a shell is flipped, simply select all the UVs and choose the Flip command:



  13. Now we can Unfold:


  14. The faces in the tail fin aren't really ready to be painted on yet. Since we are looking down on them and not at them from the side, our texture projection won't look right. We are going to have to remap these individually:




  15. Project from the X-axis:


  16. The Fin is purple because we mapped straight through both sides. Lets select the center edges and cut the UVs so that we can move them out for Unique texture application:






  17. We're going to also have to create a unique unwrap for the inside of this air-intake on the bottom of the plane:





  18. Now that everything is layed out, I can pack it into the 0-1 space. Problem is... When I pack this airplane, there is a lot of wasted texture space. This is parts of the map that will have to load into memory but won't be used. Its like buying extra groceries that you know you won't eat and will have to throw out. We need to optimize this layout for maximum efficiency. To do that, I'm going to cut off the wings.



  19. I double click to select these edgeloops that wrap around the wings, and again, cut my UV edges.



  20. Now when I rotate my shells and re-pack, things are looking much cleaner with much less wasted space.



  21. Still need to UV the propeller though. So I select the nose cone (blades are parented to it, but won't map right away).....


  22. And I create a planar map from the Z-axis (straight ahead, looking back)



  23. After I unfold it:



  24. I treat the first blade the same way:

    ts ok that the shells are purple and overlapping here, since they will be symetrical from front to back. If you plan on creating an normal map here however, you cannot have this type of overlap.


  25. But why UV each blade individually... that will take up time and waste space. Instead, lets transfer the UVs from one blade to the other:



  26. Now we need to Delete our History so that Maya forgets we did all this mapping and transferring, making our scene more managable.


  27. Lets take a look at the shells right now:


    ....and move them into place, fitting nice and snug.



  28. Lastly, lets take a UV snapshot so that we can have a guide to paint ontop of (or under):





    And with that, the UVing step is done. We can now load this map into Photoshop and paint right ontop of it to create a texture!!!!





When you create textures, there are a few rules which should be followed:

Texture File Size Issues:
RULE 1:
When working with our textures, we will want to keep our files as small as possible since the larger the texture file we reference into our material, the longer our scene with that material present will take to render.
RULE 2a:
Our UV layout (which we will discuss in week 2) SHOULD maintain a square format (with a few exceptions which will not be discussed just yet).
RULE 2b:
Furthermore, the size of this square texture file SHOULD be built in powers of 2 (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, etc...). This is because the computer's architecture is designed to read files of these pixel sizes the fastest.
Now, according to rule 2, we have only a few Quantum sizes available to us, and (from rule 1), we will want to choose the The smallest file size possible that still gives us the texture complexity that we need.

SMALL FILE SIZES
32x32 Textures: These sized textures should only be used for backround objects that take up less than 10% of the screen, are barely seen due to speed, or are in an online gaming enviornment as a prop or bg object.
64x64 Textures: These sized textures, while twice as big, are still really only to be used for objects with very little screen or render prominence. These are also suitable for props of distant background objects, but are also very useful for small foreground objects in a real-time enviornment.
MEDIUM FILE SIZES
128x128 Textures: We now enter file sizes suitable for displaying more prominently on the screen. 128s should still not be full character textures, but may be used for objects that take up 20-25% of the screen, need more visible detail, or are more complicated props for a real-time environment.
256x256 Textures: This size is suitable for backround characters or parts of characters that have multiple UV regions for a real-time enviornment, either online or local. This size is also suitable for props and bg objects that get rendered, but may be too big a file size now for most gaming enviornments.
512x512 Textures: This size is perfect for most objects or props that are getting rendered, or a Main Character in an online game that is featured most of the time on roughly 40% of the screen. This size is FAR TOO BIG now for every single background object in a Last-Gen console or current online game.
LARGE FILE SIZES
1024x1024 Textures: This is the first of the larger sized texures. 1024x1024 textures should only be used in Last-Gen console or current online games if they are featured on the Main Character or for a whole enviornment, with some possible exceptions. A 1024 texture might also be useful for a Head Texture that is to be rendered.
2048x2048 Textures: This file size is mostly too large for real-time enviornments of previous generations, but is still suitable for PS3 and XBOX 360 development for primary characters. Usefull for more detailed single hand or head textures in a rendered animation.
4096x4096 Textures: This should be the largest file size we would work at in the current itteration of Maya. After 4096, it really is to the benefit of the user to break our character up into UV regions and apply multiple smaller maps. There are Games in development or just released for the next-gens which use 4k maps such as Kameo: Elements of Power, or Resistance: Fall of Man. This size is capable of excellent detail for full characters, or extreme detail (down to pores) if used for just a human head.



Texturing the Plane (in steps):

  1. First off, Here is my UV snapshot from before:


  2. Ontop of the that, I will lay down some base colors:


  3. From there, I will paint on some textural detail:



  4. Using some circles and lines and the bevel and emboss feature, I lay in some structrual details:



  5. Using some decal sheets, I copy and paste on some insignias and decals:



  6. I use 2 techniques here to get some battle damage onto the plane.
    First, I make some dark squiggle lines and use a motion blur to get some charring of the hull.
    Next, for shrapnel damage i make small dots with a stipple brush and bevel and emboss down.




  7. by selectively desaturating layers, I can create a height (bump) map that shows surface relief. Here White=higher, dark=lower



  8. Here are my maps, applied to plane!!!
 
JUMP TO A SPECIFIC WEEK: