Home Technical Talk

Unwrapping tyre treads

Hi all

I'm modelling a car and I've come to the point where I'm unwrapping it, though I'm not too experienced at it all. I'm unwrapping one of the tyres as a separate object and have got to the point where it's all done apart from the treads.

I'm using Modo, and as you can see in the screenshot I've highlighted the outer edges and cut it at 2 points across the width in the hope that Modo will separate those sections and lay out a nice flat tread UV for me, but it won't work. I originally tried it with 1 cut across the width so I wouldn't have two seams, but that didn't work so well either.

What you can't see in the image is that within the messy UV's on the left a lot of them are overlapping too. I can relax it but then the UV's get even more spread out and wonky looking, anyone know what I should be doing to unwrap this correctly?

Thanks

tyreissue.jpg

Replies

  • igi
    Options
    Offline / Send Message
    igi polycounter lvl 12
    I'd apply a cylindric uv mapping and then tweak the uv scale manually to get desired result instead of picking seams and apply an uv unwrap modifier.For the sides you probably will get some distortion but it's possible to fix that at a point by moving the edges in uv window.Apply a checker material to see stretching effect on your model while unwrapping.

    Are you sure want to unwrap this high poly model?Don't you intend to bake a low-poly?Unwrapping that kind of detailed tire seems a bit pointless to me.
  • DEElekgolo
    Options
    Offline / Send Message
    DEElekgolo interpolator
  • PHaynes888
    Options
    Offline / Send Message
    It's tyre if you're British, which I am :)

    Anyway, thanks for the reply igi, I've been asked a few times if I intend to make a low poly and I've said no as this is just for modelling practice and not for a game or anything. Beginning to reconsider though if it's going to make unwrapping and texturing harder in the long run...

    Am I missing something though, even if I bake normals off this high poly onto a low poly, do I not still need to unwrap the high poly first?
  • AlexLeighton
    Options
    Offline / Send Message
    The high poly doesn't need to be unwrapped to bake onto a low poly, as it's just looking at the actual polies of the high poly to generate the bakes. And yeah, seriously, don't unwrap the high poly, you're never going to get the grooves in the tread to flatten out, so there'll be distortion in there if you're adding dirt or whatever.
  • igi
    Options
    Offline / Send Message
    igi polycounter lvl 12
    That's what I'm talking about.Unwrapping a hi-poly mesh makes no sense since we're only using polygonal data of hipoly when baking onto low poly mesh to generate normal maps.
    Also I'm highly suspect that you get hard surface modeling wrong..Do you use 'tab' key during your modeling process?Because I don't see any subdivision enabled.
  • PHaynes888
    Options
    Offline / Send Message
    There is no subdivision enabled in that shot no, was just testing unwrapping without for practice, during renders I've been applying the turbo smooth modifier to the tyres and the car I'm working on. I guess the idea is to collapse the turbo smooth modifier into the high poly before baking out the normals to make it super high res?

    Looks like I'm going to make a low poly version of the car and the tyres anyway, seems the best way to go
  • SpeCter
    Options
    Offline / Send Message
    SpeCter polycounter lvl 14
    No need to collapse it for rendering, just make sure if has enough subdivisions for rendering(there are 2 subdivision parameters, one for rendering and one for realtime)
  • PHaynes888
    Options
    Offline / Send Message
    Thanks for the reply, not sure I understand properly though, where are those subdivision parameters stored? Or do you mean that max automatically applies extra subdivisions when rendering?

    Also, is it correct to subdivide my mesh to an even higher level before baking the normals? Is there any issue with it becoming too high poly and creating a messy/bad normal map?
  • SpeCter
    Options
    Offline / Send Message
    SpeCter polycounter lvl 14
    There are 2 options:
    Iterations and
    Render Iter

    If you want to work with lower iterations for speed you can just use a higher render iteration amount to get a smoother bake.

    If you subdivide too much, the rendering will take too long,most of the time there is almost no visual difference between 3 and higher subdivision levels ;)
  • EarthQuake
    Options
    Offline / Send Message
    In max its generally:

    Iterations(viewport)
    and (click to enable)Render Iterations - this is the one you set for your bake.

    This allows you to set iterations to 1 or 0 for fast viewport response but set render iterations to 2.

    [edit] Doh, too slow

    And no, there is no reason to UV the high if you're baking.
  • PHaynes888
    Options
    Offline / Send Message
    Ok, so I made a low poly version of the tyre which encompasses the high poly. I unwrapped this and following Ben Mathis' tutorial I'm trying to create the normal map for it within Max.

    I've got an issue though, the normal map comes out like this:

    normalt.jpg

    I've made sure the cage isn't too large, images of the low and high poly + cage are below:

    lohighpoly.jpg

    Anyone know what I've done wrong? If you guys need to see any of my render options or anything let me know and I'll post images of them too
  • Eric Chadwick
    Options
    Offline / Send Message
    The image you see while it is baking is not the normal map. Render To Texture is showing you what the scanline renderer sees, which is the unlit model. Look for the normal map that was saved to your hard drive.
  • PHaynes888
    Options
    Offline / Send Message
    Great, thanks Eric :)

    Now my issue is that the normal map is appearing totally blue. I have made sure the high poly is picked in the projection modifier...so not sure what the issue is. A friend has recommended I try the Xnormal tool so going to give that a go...
  • PHaynes888
    Options
    Offline / Send Message
    Ok Xnormal also doesn't seem to work...i've re-checked the UV's for the low poly and they seem fine so I don't know where all these crazy triangles are coming from

    I didn't think getting some normal maps from a high to low poly would be this complicated :) I seem to have the midas touch with this sort of thing, any more help would be appreciated

    lowpolynormalsxnormal.jpg
  • Eric Chadwick
    Options
    Offline / Send Message
    Ah, looks like overlapping UVs. Some guidelines here
    http://wiki.polycount.com/NormalMap#UV_Coordinates

    Also, it looks like the treads in your highpoly model are perfectly vertical. If so, the sides won't be picked up in the bake. Make sure the sides of the treads are sloped instead of vertical cliffs.

    Page 3 of this tut shows why.
    http://wiki.polycount.com/3DTutorials/Modeling%20High-Low%20Poly%20Models%20for%20Next%20Gen%20Games
  • PHaynes888
    Options
    Offline / Send Message
    The vertical sides issue is going to be a bit of a pain, i think that's going to be a common problem around the rest of my car mesh as well, so that could be a few months work down the drain unless there's an easy fix :\ I didn't know about the 'bevel rather than extrude' rule tbh

    As for the UV's, these are the ones from my low poly mesh, doesn't seem to be any overlapping. The high poly mesh UV's aren't used, right?

    One thing I've noticed is that I have some text in my high poly which doesn't exist in the low poly, so there are no Uvs for it, would this be an issue?

    83981394.jpg
  • McGreed
    Options
    Offline / Send Message
    McGreed polycounter lvl 15
    Yeah, you will need a turbosmooth or something to create some edges, or else you will never see it, same principle as with floating geometry bakes. Either bevel/chamfer your edges or make it so you can apply a turbosmooth on it, shouldn't be too much work, just center your pivot, select all the sections except one, modify it, and circular copy it and vertex weld modifer should do it.
  • PHaynes888
    Options
    Offline / Send Message
    Ah, thanks, in that case I might be ok, the whole mesh is set up to work with turbosmooth already with all the necessary edges added in. I'll just collapse the modifier into the high poly before I bake.

    There's still the issue of those overlapping UV's though and where they are coming from, which I'm a bit stumped about if anyone can shed any light on that (if that is the actual issue)?
  • ZacD
    Options
    Online / Send Message
    ZacD ngon master
    I'd export the geo and an obj and reimport it.
  • McGreed
    Options
    Offline / Send Message
    McGreed polycounter lvl 15
    Or a trick I used before with some other issues is to just create a new box, convert it to a editable poly, use the attach inside the edit poly to add the tire, and then delete the box polygons afterwards.
  • PHaynes888
    Options
    Offline / Send Message
    Not quite sure what you mean, create a new edit poly box over the low poly then attach it to the low poly or the high poly? Then delete it again, presumably afterre rendering the normals? How will this fix the overlap issue? Not meaning to sound rude at all by the way I jut don't understand it, if you wouldn't mind explaining further? :) cheers!
  • ZacD
    Options
    Online / Send Message
    ZacD ngon master
    Max and maya sometimes just have errors baking things for no real reason, merging clears the history and max will treat it as a new object.

    AKA MAGIC FIX, that sometimes works when you have errors for no reason.
  • Eric Chadwick
    Options
    Offline / Send Message
    3ds Max will sometimes accumulate corrupted data in a model. There are a couple ways to reset the model. One way is to attach your existing model to a fresh primitive.
    1. Create any type of primitive, a Box for example.
    2. Collapse the modifier stack into an Editable Poly.
    3. In the Editable Poly, use the Attach button and choose your low-poly tyre model.
    4. Select and delete the primitive element, the box for example.

    Another way to do it is to export your low-poly tyre model to a format that cannot preserve the hidden corrupted data, for example OBJ, then re-import it from the OBJ file. This cleanses more thoroughly than the Attach method, but may lose some data, like multiple UV channels, or anything else not supported by the export format.

    In either case, any modifiers on your original model will be lost. For example the Projection modifier. UVs are typically OK, since they're stored in the mesh itself.
  • PHaynes888
    Options
    Offline / Send Message
    Well, the magic trick didn't seem to work in Max, but in Xnormal it produced a more normal looking normal map.

    Now, I'm no normal map expert, but it seems a bit off, like quite busy in places where it shouldn't be? Any tips on how to improve it?

    I don't mind that the two circular shapes on the right (top two) are a bit wrong, they're hidden inside the tyre so that's probably why the normals are off. It's mainly the tyre treads on the left and the rim on the bottom right that I need to look good.

    This, by the way was created from a turbosmoothed high poly version of the tyre which hopefully fixed some of those vertical edges

    lowpolynormalsxnormalno.jpg

    Thanks for your continued help so far guys!
  • ZacD
    Options
    Online / Send Message
    ZacD ngon master
    It looks like the UV's may of been stretched. Can you take a textured screen shot in max with just a checker board texture?
  • PHaynes888
    Options
    Offline / Send Message
    Ah ok, pic is here:

    62212848.jpg

    I did manually edit the tyre tread UV's as when I applied the checker texture the checks on the side of the tyre were wider than the ones across the width, even though they were part of the same UV. I therefore re-spaced that whole UV section to try and get the checkers to be more the same size around the tyre, maybe I messed it up somewhere along the way
  • McGreed
    Options
    Offline / Send Message
    McGreed polycounter lvl 15
    Yeah, that doesn't look right, might want to consider to cut the tire up in two halves and place one of them +1 in the uv-space, giving it more room in the compressed direction (in this case the up/down part of the UV).
    Should always aim towards getting as average checker size in both direction to be the just about the same, obviously its not completely possible because the inner and outer part will be different sizes, but try get some kind of compromise.
  • PHaynes888
    Options
    Offline / Send Message
    Alright cool I'll give that a go after work tomorrow and see how it goes, thanks
  • Eric Chadwick
    Options
    Offline / Send Message
    I would think about tiling the tread area, instead of using unique UVs for the whole circumference. This will give you a lot more resolution.
  • PHaynes888
    Options
    Offline / Send Message
    Might give that a shot then, probably need a bit of clarification on the process for doing that though...I'd *guess* it would involve unwrapping the whole tyre, separating out a section of the tread and moving the rest out of the UV area, then scaling the tread section up, baking the normals on to it, then taking the high detail tread section, scaling it down and re-combining it with the other UV's? Then copying it around the circumference?
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    PHaynes888 wrote: »
    Might give that a shot then, probably need a bit of clarification on the process for doing that though...I'd *guess* it would involve unwrapping the whole tyre, separating out a section of the tread and moving the rest out of the UV area, then scaling the tread section up, baking the normals on to it, then taking the high detail tread section, scaling it down and re-combining it with the other UV's? Then copying it around the circumference?

    Well you wouldn't have to do that.

    I'd suggest simply mirroring the tyre tread into quarters or halves. It does depend on what kind of specs you're working to. Chasing high texture resolution sometimes isn't worth it if it causes visible seams all over your model.
  • PHaynes888
    Options
    Offline / Send Message
    Ok, so i deleted half of the treads and am just unwrapping one half, so that, as you guys say I can get more definition and detail in. The normal map now looks like this:

    http://img859.imageshack.us/img859/8900/lowpolynormalsxnormalno.jpg

    Looking at the two main elements on it (left hand side and bottom right) I can see some artifacts on the inside of the tyre rim, not sure if the tyre tread looks good or bad though? You guys will have to tell me that...

    I rendered out the low poly with the normal map applied. It seems that the treads may be inverted and in general the normal map is a bit wavy. I assume the wavyness is because I didn't straighten out my UV's before baking? Which I can do easily if need be. How would I go about properly flipping these inverted treads though?

    http://img217.imageshack.us/img217/2391/tyrenormal.jpg

    Cheers!
  • ZacD
    Options
    Online / Send Message
    ZacD ngon master
    Invert the green chanel of the normalmap.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    PHaynes888 wrote: »
    I rendered out the low poly with the normal map applied. It seems that the treads may be inverted and in general the normal map is a bit wavy. I assume the wavyness is because I didn't straighten out my UV's before baking? Which I can do easily if need be. How would I go about properly flipping these inverted treads though?


    the wavyness is because you're projecting a cylinder onto a series of planes. It's not possible to get rid of it altogether.

    There's a whole thread about it:
    http://www.polycount.com/forum/showthread.php?t=81154
  • PHaynes888
    Options
    Offline / Send Message
    Ok, so following the advice of that thread above (cheers sprunghunt) I got rid of some of the wavyness, I think I may need to subdivide my low poly up a little more to get rid of some of the existing kinks. This is how it's looking currently:

    http://img718.imageshack.us/img718/8900/lowpolynormalsxnormalno.jpg

    http://img100.imageshack.us/img100/3751/treads.jpg

    I have some more questions...

    - There are obvious artifacts on the normal map and therefore on the mesh, would the next step therefore be to actually paint some of these out in Photoshop?

    - How would I increase the apparent depth of the treads? They don't seem to stick out much at the moment, at least nowhere near as much as the high poly ones

    Thanks!
  • ParoXum
    Options
    Offline / Send Message
    ParoXum polycounter lvl 9
    To better make the threads stick out is a matter of getting used to work with nmaps. When you know it's going to bake, you tend to exaggerate a lot of the shapes angles to work even on a flat surface. It's the kingdom of the 45 degree angle.

    Baking an AO in you case will also help selling that little more depth.

    Also, don't paint over your normal map unless you know what you're doing.
  • EarthQuake
    Options
    Offline / Send Message
    PHaynes888 wrote: »
    Ok, so following the advice of that thread above (cheers sprunghunt) I got rid of some of the wavyness, I think I may need to subdivide my low poly up a little more to get rid of some of the existing kinks. This is how it's looking currently:

    lowpolynormalsxnormalno.jpg

    treads.jpg

    I have some more questions...

    - There are obvious artifacts on the normal map and therefore on the mesh, would the next step therefore be to actually paint some of these out in Photoshop?

    - How would I increase the apparent depth of the treads? They don't seem to stick out much at the moment, at least nowhere near as much as the high poly ones

    Thanks!

    Did you do something weird here like add in more segments to your low after you baked your normals? You shouldn't be getting noticeable waviness on an object with that many sides.

    Waviness etc: http://www.polycount.com/forum/showthread.php?t=81154
  • PHaynes888
    Options
    Offline / Send Message
    Nope, I added more segments to the low poly before I rebamed the normals though. Looking at the waviness it seems to be kinked at every poly along the outer rim on the low poly which is weird
  • EarthQuake
    Options
    Offline / Send Message
    what do the low wires look like?

    Care to upload objs of the low and high? Something doesn't really seem quite right, you shouldn't get that sort of waviness with the amount of geometry you have there.

    Also it looks like you might have your normal map loaded as a bump map or something, the shading doesn't seem quite right. Make sure the material type is "normal bump" and that you're not loading a normal map directly into the bump slot.
  • PHaynes888
    Options
    Offline / Send Message
    You're right, I've added it as a bump map, good spot :) I've just read up on this and saw this on a tutorial:

    Now go to 3dsmax and open the Material Editor (M). Select a new slot and go to the Bump slot. First set the amount to 100 (the default is 30). Click on the None button and from the window that apperars select Normal Bump. Click the Normal slot and from the window that appears select Bitmap. Load the .psd file you just saved. There is one more thing you need to do to see the normal map in the viewport. In the Material Editor check the DX Display of Standard Material in the DirectX Manager section.


    So i'll try that tonight

    I'l also try to send you the OBJ files after work later or upload them here, cheers
  • PHaynes888
    Options
    Offline / Send Message
    So tonight I made some changes to the low poly, re-baked the normals and baked an AO map, also I fixed the bump/normal bump issue - somewhere along the line the waviness disappeared. So everything is coming together, think I'm about done with the normals for this now so thanks for the help everyone! Render is below, I realise the low poly isn't the lowest poly tyre ever, however as I only needed the low poly to help me unwrap the tyre (and I'm not trying to fit it into any kind of game budget) I'm happy enough with it:

    tyrerender.jpg

    Of course, if I do have any more related questions, I'll post again :)
  • ZacD
    Options
    Online / Send Message
    ZacD ngon master
    There's a lot of extra edge looks you could easily remove without causing any issues. But that last bake came out really well.
  • PHaynes888
    Options
    Offline / Send Message
    Yeah you're right, I actually added a lot of edges to get rid of the waviness and some of the fifty-pending around the outside, I'm happy with how the tyres look now and as I said I'm not working to a budget so I might just leave them in
  • EarthQuake
    Options
    Offline / Send Message
    I think there is a lot you can optimize here and still get a nice bake. I think a big reason why you were still getting the waviness was that you added in more geometry, but it wasn't actually more round in some of the areas here. Remodeling it from a cylinder with a higher # of sides would probably help.

    Also how you're doing the rim is rather strange, that should be welded and flow into the tire.

    You should be baking with the entire lowpoly model there too, not deleting the mirror section. Just offset the UVS exactly 1 unit off the grid(will still work and you don't need to move them back). Otherwise you will get seams there when you copy in the other section.

    I would still be happy/curious to take a whack at the low here, I think there are a lot of little things that you can really improve upon still, and if you keep doing them the same way in other models you're going to run into problems/unneeded headaches.
  • Eric Chadwick
    Options
    Offline / Send Message
    You should take EarthQuake up on his offer. He's always given solid info, especially with modeling and normal mapping. The guy knows what he's doing, and is willing to share.
  • PHaynes888
    Options
    Offline / Send Message
    Yep, I e-mailed him the files he needs a little while ago :)
  • EarthQuake
    Options
    Offline / Send Message
    Ok so, sorry it took so long to post, but I had a whack at the lowpoly here.

    A couple notes: by simply starting with an appropriate amount of sides to the cylinder you shouldn't have any noticeable waviness. I think the waviness problem you had was from adding extra geometry, but not round geometry, to your mesh. I used 24 sides here which seems to do a great job, but you could bump it up to 32 if you really needed to view the tires up close, and still be way below the triangle count of your previous version.

    24 or 32 are good numbers, because when you do LODS 24 becomes 12, then 6. 32 becomes 16 then 8. I always try to stick to easily divisible #s for cylinders.

    I merged everything into one seamless mesh, you had two bits intersecting here wasting a lot of tris on things that wouldn't be seen, and creating extra uv seams/bake issues where the two objects intersect. You also had a random little detail modeled into the lowpoly(not sure what its called) along the edge of the rim which I removed, the normal map can represent this just fine.

    I unwrapped the main chunk of the tire that would face the player onto on seamless island, this helps while texturing and helps UV distortion as well. I offset the mirror section which in this case is simply the treads by exactly 1 UV unit, this helps the object bake correctly as mention previously. Getting even UV detail is really important for consistency as well.

    tyre_01.jpg
    tyre_02.jpg
    tyre_03.jpg

    Low OBJ: http://dl.dropbox.com/u/499159/tyre_low.obj

    This was baked in Maya but should look more or less the same in Max. You may need to add a little more geometry to the inner rim details to avoid smoothing errors in max.
  • PHaynes888
    Options
    Offline / Send Message
    Awesome, thanks very much for taking the time to do this, it looks really good :). I'll download the .obj tonight and check it out. Do you mind if i use your low poly as my final low poly? I intend to attempt to learn from it and apply what I learn to the low poly for the rest of the car but I might as well not waste what you've done here, if that's ok?

    I didn't realise i would be able to remove that metal clip from the tyre rim, I assumed that any geometry like this would have to represented in the low poly in a basic form, good to know!
  • EarthQuake
    Options
    Offline / Send Message
    PHaynes888 wrote: »
    Awesome, thanks very much for taking the time to do this, it looks really good :). I'll download the .obj tonight and check it out. Do you mind if i use your low poly as my final low poly? I intend to attempt to learn from it and apply what I learn to the low poly for the rest of the car but I might as well not waste what you've done here, if that's ok?

    I didn't realise i would be able to remove that metal clip from the tyre rim, I assumed that any geometry like this would have to represented in the low poly in a basic form, good to know!

    No I do not mind at all, infarct I think its probably a good idea to look at them closely side by side to take in the differences.

    With the little detail there, that sort of stuff is really what normal maps do best. Represent small shapes and details where there isn't much/any silhouette change. What you really need to model in is your larger forms, shapes, curves etc that affect the silhouette, because a normal map can't fake that.
Sign In or Register to comment.