Difference between revisions of "HowTo:FullUnwrap6Seams"

From VsWiki
Jump to: navigation, search
Line 278: Line 278:
 
I also added longitudinal seams along the hull. I forgot to do that when we started with the hull. To get a cylindrical unwrap, you need at least one seam. We'd rather have two, so that we can organize our texture with two distinct sides to the ship.
 
I also added longitudinal seams along the hull. I forgot to do that when we started with the hull. To get a cylindrical unwrap, you need at least one seam. We'd rather have two, so that we can organize our texture with two distinct sides to the ship.
  
 
+
(continued in Placing Seams (Part 2))
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
(Last step: Align vertices near x=0 to x=0, apply X-axis mirroring, and place the central seam.)
 

Revision as of 22:21, 9 May 2007

Placing Seams

So, what are "seams"? Seams are kind of like "cuts". But these cuts don't affect your geometry. Seams are NOT "sharp edges" by any stretch of the imagination, though often sharp edges make good choices for places to run seams. Seams are "texture cuts". If you have contiguous and non-split polygons A and B, the unwrapping tools will try to put them next to each other on the texture. But a texture being flat, doing so with all polygons would be unsustainable. So, Blender gives you a way to decide how you want to cut up your mesh when it comes to texturing. Naturally, a bad place to place a seam is through the middle of a section of mesh that will show a picture of the Mona Lisa. You'd have to put part of her picture in one place, and another part in another...

Good choices of places for seams are:

  1. Lines where there's a sharp change of material.
  2. Lines along perfectly featureless coloration.
  3. Lines out of sight and in dark or semi-hidden areas.

But you also need to think about how are you going to unwrap each part of the object. No sense placing a seam in a place where none is needed, regardless how good a place it may be. One wants to be frugal with seams. The more pieces you break your texture mapping, the more objects you end up having to sort out and organize in the UV window.

It's always easier to start planning from the biggest parts, to the smallest. Our biggest part is the fat fuselage. The fact that it is almost round, tells me that the best way to go with it will be using "Cylindrical Unwrap. That is, once we get to UV unwrapping, we'll look at the ship from the front, and then, from the Unwrap menu choose Cylindrical. This will roll the hull out like a tape. Of course, this wouldn't work too well for the tower and the wings, so we're going to "cut them off" (texturing-wise only), by placing seams right along their welds. To place a seam, you have to be in Edit mode, Line Select; so you select a line along edges (Alt-right-click and Shift-Alt-right-click are often useful here) and Ctrl-E -> Mark Seam. By default, seams look brown in the edit window.

Note that you don't need to place seams along split edges. Split edges already "imply" a seam. So, if you did a thorough job of splitting your smooth groups, you won't need too many seams.

So, let's start by splitting off the wing. (Note: I'm assuming you know about the Mirror attribute, and that your model is mirrored in X so that you only have to work on one side of the ship, and the other side automatically mirrors what you do. If you don't know what I'm talking about, you really need to do a bunch of beginners' Blender tutorials first...). Okay, let's see... Problem! The engines are in the way! How are we going to draw the seam?


blender_shot_3.jpg


If the engines were a separate object, we could move them to another layer, but now the whole ship is one object! Well, there are other ways. This should be obvious, but I'll spell it out just in case. We made the material of our engines "Stainless", so we can just do a selection by material...


blender_shot_4.jpg

blender_shot_5.jpg


... and press H to Hide it...


blender_shot_6.jpg


Avra Kadavra! The way to Reveal things we hide will be the subject of a future tutorial... :D

Allright, so let's get started: Top edge of the wing's weld:


blender_shot_7.jpg


You might ask "why do we pick *that* line, and not, say, the one below?". Well, there's a reason: the strip of quads below the line is the actual 45 degree bevel strip. I prefer to leave that bevel strip as part of the wing, rather than as part of the hull. Why? Because, either way, we'll have to LSCM the strip so its projection doesn't get compressed. So the narrow projection of the strip will kind of flare out a bit as we flatten it. But while this is okay to do at the edge of the wing's unwrap; it's not so clean if it's part of the hull, because when we take the wing out of the hull it leaves a rectangular hole; but if we have bent edges around the hole that need to stretch out, they'll actually stretche "in" --into the hole in the hull, which means that their lengths will have to decrease for their widths to increase. Often LSCM goes nuts when you try to make it do that. So, try to only catch polys that will map fairly straight, when you're seaming the boundaries of a big piece by cutting smaller parts out of it. Leave the troublesome parts for later. Procrastinate.

Here's my cut at the front end of the wing:


blender_shot_8.jpg


And NOW I realise I have too many bloody polygons around this area... We'll place the seams first; I'll come back to this later...

Here's my cut under the wing:


blender_shot_9.jpg


And here's my cut at the back of the wing:


blender_shot10.jpg


Now, verify in transparent mode that the loop is closed, then Ctrl-E -> Mark Seam:


blender_shot11.jpg


Same thing for the tower:


blender_shot12.jpg


Now we cut out the front-facing part of the hull:


blender_shot13.jpg


We have to, as a cylindrical unwrap of the main hull would miss a front-facing plane entirely. But you might ask, didn't I say I didn't want to catch 45 degree strips into the main hull? Well, in the case of the wings and the towers that is so, because when we cut them out, we leave holes in the hull unwrap. But in the case of the front plane we don't have to worry about strips flaring inwards into a hole, because the edges adjacent to the front plane will all be on the left side of the texture, lining up vertically. And I'd rather have those 45 degree strips with the hull, because I will probably put impacts and scraches there that should smear or fudge or fade backwards along the sides of the hull; and if I put those bevels elsewhere in the texture it would be pretty hard to match a scratch begining in one island and continuing in another.

Additionally, if you look at the paint, you'll see that my seam goes along the edges of the paint. This will allow me to better separate and group islands by material.

And what are those extra seams making V-signs at the corners?

Those are there so that when the bevel strips flare out they don't have to stretch like contortionists. They are "relief cuts".

Let's do the bottom tower:


blender_shot14.jpg


Note that the towers and the front, not to speak of the wings, will need further seams. We'll add more seams when we get to them; right now we're not working on the towers or wings or anything other than the main hull. One thing at a time... Now the back:


blender_shot15.jpg


Done with the main hull. What?! Yes; we don't need to put seams for the boxes at the top and bottom because they are already split. We don't need seams for the inside surfaces of the intakes, because they are also split already. Smooth groups, remember? Ahh, but we do need a couple more seams; hold on... Here:


blender_shot16.jpg


The reason we need those there is that the surface going in there is continuous with the hull. Only the upside-down surfaces are split. So, those parts inside the "vents" need to be put elsewhere on the texture; otherwise they'd overlap with the outside of the vent, in the cylindrical unwrap.

Now we're really done with the hull. What's next? We said we'd start with the biggest parts first. I'm not sure what's the next-biggest part... Probably the wings.

Different people have different ways of doing things. Most Blenderheads swear by LSCM. Me, I don't like LSCM, --at all. Why? Because I like my things aligned, sort of. Specially the front-to-back direction on the ship, I want it to align horizontally in the texture. LSCM is an "obsessed algorithm", IMO; that only cares for surface equalization, and for which everything else is secondary. For me, front-back alignment is a primary concern; and surface area equalization is kind of the last item in my long list of priorities. The way I work is I use Unwrap -> From View. Naturally, therefore, that's how we'll do this tutorial. If I tried to teach the way someone else works, I probably wouldn't do it right, anyways.

There are 6 views that interest us: Front, back, top, bottom, left and right. As such, prepairing the seams is easy. Here I've seamed up the wing:


blender_shot17.jpg


Ehmm... Yes, if it looks like I've made a major clean-up of the mesh, it's because I have; and I'm not quite done with it either. Expect to see more polygon reduction crackdowns as we proceed... And, by the way, what I did to display titanium parts only, was to select them (by material), then menu Select -> Inverse, so that everything that's NOT made of titanium is selected, and then H to hide. And as I did that I discovered many little polygons floating in the middle of nowhere... Facets that I meant to assign a different material to them, bot missed them. Cleaning up the mesh is a job that's never done... I'll fix that next, won't re-upload the pic above; better for the garbage to show there, for the record. So, I realize now that this is something that should be done in a systematic way. Select one material at a time, inverse selection, hide; and then visually verify that everything that's there should be there. Otherwise select the mis-materialized pieces, assign the correct materia to them, and hide them. Then Reveal everything, and do the same in the next material in the list. Alright, let me do just that...


blender_shot18.jpg


Okay, done cleaning up the titanium family. I even found floating edges without faces "made of titanium". Meshes are like white socks; --never perfectly clean. I'll do the other materials later.

Anyways, back to the seams in the wing: There's always the question of which view gets the bevel strips. I gave the top-bottom views the top priority; side-view second; and front/back views last. Why? Front and back views should always have the last priority, for the reason I stated earlier: Part of the texturing will be to represent impacts and scrathes. Some of those impacts should begin at a partially front-facing bevel and then fade towards the back. To represent the fading of such impacts, we can use linear blurs in Gimp, but Gimp knows nothing about the UV-mapping; --i.e.: it couldn't begin a blur in one island and continue it on another. So what we want is for such bevels to be already on the left edge, and part of, an island in the texture. Then an impact is basically a dot within the bevel strip, in the texture, and we can just motion-blur or smudge the dot towards the right, and the smudge will proceed towards the right in the texture; --over polys that follow behind, in the mesh. As for whether the top/bottom views should get priority vis a vis the side view, or viceversa, over which gets the longitudinal bevel strips, this is a matter of taste. I usually give that priority to whichever are the larger pieces, but it's just a matter of personal preference, and more for the sake of having a rule I follow, than any technical consideration.

Still proceeding from largest to smallest pieces, next in the list would be the dockings. Here we have a bit of descision to make: What do we do with the inclined surfaces facing towards the engines? If we unwrap them from top or bottom view, the rectangles for those areas in the UV-map will be compressed. If we unwrap them from side-views, the'll be compressed also. If we LSCM them, they will get deformed, like parallelograms probably; and we'll have to fix them by hand. Or else we could turn the view until we see them flat, and unwrap them from that view... I'm going to unwrap them from top and bottom views; because, in this case at least, I don't care about a texture stretch at a place that's so hidden from view and probably featureless anyhow. So, same general method as with the wing:


blender_shot19.jpg


And as with titanium, selecting the green paint parts uncovered things that were green that shouldn't be, and another clean-up took place. I've been fixing so many things, from blotched normals to unneeded vertices to wrong material assignments, that I couldn't hel make a new render to see how those fixes so far affect the final result...


Cutter43.jpg

Cutter44.jpg


Looking nicer and cleaner, as expected.


Proceeding from largest to smallest parts, I think what comes next is the front and back facing sections of the hull.

The front is just a matter of separating the battering ram. I ate my words and jumped to the occasion to seam up the ram itself. No seams are needed around the opening because that edge is already split.


blender_shot20.jpg


The back actually doesn't need almost anything done to it, because it's already all split up by smooth-grouping, including the Apollo/Soyuz dock. All those rings have sharp edges all around, which means they are split from each other. All that needs to be done to it is a few cuts to be able to unroll the cylindrical items; plus the little boxes...


blender_shot21.jpg

blender_shot22.jpg


Those little cube boxes have no backs, so where the seam lines end, that's the edge. I will just unwrap them from view first, pin down the camera facing square, and LSCM the seam-cut sides, let them flare out like an asterisk ('*'). Why? Well, for something so small I can't bother myself with separating it into views. The sticks attached to the squares are actually U-shaped, with no backs, so no need for seam cuts there.

Next item in the size-sorted list ought to be the engines... Being that the engines are pretty much cylindrical, it would be ludicrous to use any kind of unwrapping other than cylindrical. But not every part of the engines, of course. The front-facing parts should stay front-facing. The back-facing parts should stay back-facing. And then there's the question of how to handle the spherical front end, the pipes, the superconducting coil (ring), and the exhaust interior... Let's begin with the easy stuff, tho: The main cylindrical skin will unroll in one piece. We just need one seam cut for each engine. Where? I'd say we put the cut at the line nearest the wing. That's the least visible area, and that's always a good choice for seams ;-) So, select by material Stainless, invert selection, and H-ide; then put those seams:


blender_shot23.jpg


I just turned the ship on the side, so as to get screenshots that are wider than tall.

Unfortunately, we missed the red strips, since those are a different "material". And not just those strips... What about those dark outer segments of the nozzles? Their material I called "Hot", because it will be pitch black, but slightly emissive in red, to give a hint of being pretty hot. Anyways, we can jump to the occasion and unwrap those using the same cylindrical projection.

You can select more than one material: First bring back hidden things by pressing the Reveal button (in F9 panel). Be sure to have nothing selected by pressing A. Find one material, Stainless, select. Find another material: Red paint, select. Find material "Hot", select. Each selection adds to the previous. Now menu Select, Invert; then H for hide. And complete the seams:


blender_shot24.jpg


But now comes a hard question: What do we do with the injector pipes?

(stay tuned... (while I think, and eat...) )

Okay, I have thought. I think the thing to do with those pipes is to trim the invisible polys (make them into U-shapes), unwrap them together with the engine skin, in cylindrical projection, pin down their middles, and then LSCM their sides. If you don't know what I mean, just wait; we'll get to the unwrap one of these days... So, here's the pipes (they are made of "aluminium" so I just hid all other materials).


blender_shot25.jpg


The pipes are hexagonal. We're going to delete the two inner strips and leave the outer four. Not sure how long people take to figure out Blender tricks, but here's how I do it: In Edge select mode, Alt-right click on an inner edge of the first pipe; then Shift-Alt-right click on the inner edges of the other pipes...


blender_shot26.jpg


This is not necessary, but just to make clearer how the trick works, switch to Vertex selection mode...


blender_shot27.jpg


Now press X and answer Vertices:


blender_shot28.jpg


Two rows of polygons gone from each pipe. And, come to think of it, might as well get the the ring too. I select by material, "copper", Select -> Inverse, H-ide... Do I change my mind too much, too often? I just don't like rushing things that I know are going to take longer later if rushed. One has to have a pretty good idea of how to unwrap an item, before deciding where to place the seams. I just realized that I don't need to unwrap the black, hot material things together with the rest of the engine in cylindrical fashion. Why? Because I can overlap all those areas and stick them in a corner of the texture, and shrink them to a single pixel. Why? Because... It's a bit of a long story...

The story begins with energy efficiency, thermodynamics, the problem of getting rid of excess heat in space where there's no air, and all heat must be radiated... But that's too long a story. Let me just say that I planned for a few areas in the ship to have heat radiating materials that are "perfect black body materials". That is, this "Hot" material is black in diffuse, black in specular, and only emmits a bit of red light.


Cutter45.jpg


If it reflects no light whatsoever, it doesn't need radiosity baking (ambient occlusion) data. Which means that I can take the ambient baking and overpaint these things with black. And they have no "texture" if they reflect no light, so they need no resolution at all. So I can overlap them and shrink them (scale them) to zero size in the UV map, and stick them in a little corner. And this means that the holes in the cylindrical unwrap of the engine can be used for something else. Part of that something else filling those holes will be the aluminium pipes; and part of it will be the ring; --the coil.

The section of the coil is square, or "diamond shaped" if you prefer.


blender_shot29.jpg


And one strip is hardly possible to see: the inner one in the pic. We're going to delete it, so as to allow the ring to open out without putting a seam. It's good to think of ways to save polys when possible... So, copper... Here's another Blender trick: In Edge select mode, Shift-Alt-right click the lines adjacent to a row of polys you want to select...


blender_shot30.jpg


Switch to Vertex select mode:


blender_shot31.jpg


Switch to Face select mode:


blender_shot32.jpg


And X -> Faces. You don't even have to switch to face mode; just to show how it works. Anyways, from a really shallow angle, we can see that the pipes and coil are missing parts, but from most angles that matter they will look just fine.


blender_shot33.jpg


The back-facing walls the pipes come out of we'll map from a back view. We don't need seams for them, as they are already split. The sphere at the front I'll map it flat from the front; since I was planning to make it featureless, anyways. Maybe I'll pin down the center and the perimeter, and then LSCM the rest of it. And as for the interior of the exhaust nozzle, I'll map it from view from the back, since I have no need for high resolution inside it; --just an inner glow fading back. So, we're basically done. I'll remove the seam I put in two of those black things, but won't bother to take a screenshot for that.

Next in our descending size list would be the 6 boxes, --3 on the top, 3 on the bottom of the hull. "Would be" is the keyword, because they are already totally smooth group split, so there's nothing to do for them.

My hand rails and bars along the plankways were all smooth-shaded, though; but I couldn't face the prospect of putting seams in all of them, so I spent about 2 hours walking the walk and splitting smooth groups for all the sticks, so now they are all split and square...


blender_shot34.jpg


So, now we won't need any seams for rails, posts or plankways.

Those pipes are going to be a bit of work to unwrap, by the way. What's next in size? The inner rooms for dockings are all smooth group split already. I think the next thing in size is the towers. What would be a good way to unwrap them?


Cutter47.jpg


Splitting them into front and side views would be terrible; it would put seams in very visible spots and where scratches and marks should be passing through... A vertical axis, cylindrical projection would be no good; it wouldn't play well with our motion blurs for scratches and such. I think the most logical way to unwrap them is from view, from the sides; then pin the middle parts, and LSCM the front and back sections. If so, all we need is seams along the center line...

Now, the top tower is easy because the ceiling is already split, so, just two seam lines: one at the front, one at the back. The bottom tower has a rounded bottom, non-split; so we'll need a seam for it...


blender_shot35.jpg


I also added longitudinal seams along the hull. I forgot to do that when we started with the hull. To get a cylindrical unwrap, you need at least one seam. We'd rather have two, so that we can organize our texture with two distinct sides to the ship.

(continued in Placing Seams (Part 2))