Home Contests & Challenges Archives Game Art Workshops

Workshop# 3 - malcolm

polycount sponsor
Offline / Send Message
malcolm polycount sponsor
Starting this a bit late but I finally found some time/motivation to model something for fun. Worked on this for the last couple days I haven't modeled shit in about 4 years so this was quite a challenge, all my sub d modeling skills have completely atrophied at this point.

workshop3ref.jpg

workshop3wip_01.jpg

Replies

  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Finished up the model, I think I'll go back and do a pass on some of the edges and tighten up the loops a bit in some areas, I think some of the bevels are looking a bit soft.

    workshop3wip_02.jpg
  • EarthQuake
    Looking nice man, i would leave the edges as they are. They represent the scale of the model very well, any tighter and it will start to look a lot bigger than it should.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Yeah maybe I'm over thinking it, when I zoom in the edges look a bit blurry on the bolt and that's what got me thinking about tightening up the whole model.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Finished up the low poly and am ready to bake the normal map. 3000 tries on the nose.

    workshop3wip_03.jpg
  • Slum
    Offline / Send Message
    Slum polycounter lvl 18
    Funny how a bunch of cylinders can look so good. Nice job.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Thanks Slum.

    So I guess I need to unwrap the low poly before I can do the bake, ha totally forgot about that part. Do you guys find it's better to leave everything with the exact same texel density or do you scale up parts to fill up the uv map?

    workshop3wip_04.jpg
  • EarthQuake
    I would grab a few of the smaller bits in the mid-section, pack them in with the bits on the right side, and then scale the right 2/3rds sof the UVS all up. You'll have a little less density on largest chunk, but thats an OK sacrifice, you'll keep everything more consistent overall this way.

    [edit] Looking again the largest part already does have more density, i think if you simply A. Scale all other chunks to have the same density as the far left chunk and then B. Try to pack it all together, it will work out fine.


    Heres an image going over some of your mesh work, sorry i actually meant to do this a week ago or so.

    malcomcrit.jpg

    Some of it is pretty nit picky, others not as much, you be the judge of that!
  • EarthQuake
    Oh one more thing, in your UV example, you've strictly enforced straight lines in your uvs, but in one specific spot its not for the best. On the end where you have the bolt that wraps around and comes back inside, all of this is stretched flat, and you actually end up with more UV space given to the inside than the outside. Generally i would put 2 seems here, map the sides of the bolt on one chunk, the very end of the bolt on one chunk, and the inside on one chunk. This results in more seams but less distortion and makes a lot more sense to paint on, imo.

    And dont be afraid to separate chunks off on your uvs, the middle section is one big chunk(i didnt catch this before) but has ample opportunity to split this up a bit where you have natural seams on your highres mesh, to make packing easier.

    If you want to upload an OBJ i will take a look and quickly show you how i would re-arrange.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Hi EQ, thanks for the paint over, what do you mean with the yellow high lite merge into one mesh? The pink stuff I already had to fix, the normal map wouldn't bake properly over that geo I had without some better vertices there. I'll take a 2nd pass at the uv's, I unified the uv shell size but that approach was too arbitrary as all the detail ended up in the inside thanks for pointing that out. I like your technique of matching the uv shell texel density to the part that is most seen rather than the inside of the cylinder some parts will be higher res than they should but I like the alternative better.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    I'm much happier with the 2nd pass uv pack, I've also gone to a rectangular texture as much as I hate working with those, I'm now using 512x2048 the uv shells fit much better in that than they do in a square.

    workshop3wip_05.jpg
  • EarthQuake
    When i say merge, i mean merge that little bit that is intersecting the larger shape there. Generally if something doesn't need to A. animate or B. be exploded off to get a clean bake, i try to merge it in with larger shapes and avoid intersections. You get a better bake result even if its 2 intersecting meshes in the high, because you get the anti-aliasing across the seam. But it can also introduce a few more problems as well.

    UVs look better, more uniform. I'm still not a fan of how you're distorting some areas by trying to keep everything down to so few UV islands, which causes of a bit of inconsistency still but not a real big issue. Having so few uv islands, and not creating uv seams where it generally is "natural"(ie: sharp corners and caps) is going to make it more difficult if you need to use hard edges/smoothing groups at any point, as for every hard edge, you also need a uv split.

    You might want to watch how closely your islands are packed together, right now it doesn't seem like you have enough space to allow for good mipmapping.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    EQ I think I might try putting a couple uv cuts where the threading is and see how that bakes out, will their be normal map seams if I start cutting and adding more uv shells?. How much of a pixel gap do you usually use between uv shells and do you find the texture resolution affects how much of a gap between shells you leave?
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    EQ I'm stuck, I merged in that detail as you suggested but when I bake it the triangulation there is giving me some ugly artifacts. What is the secret to getting rid of these. I've found anywhere on the low poly model that the normals look ugly it will create these artifacts in the normal map? Makes it pretty much impossible to take advantage of the normal map theory since the low poly will have to match the high poly so closely it kind of defeats the purpose.

    Tried baking it in xnormal as well it's even worse there.

    Also tried giving the low poly hard edges around the extrusion and the uv shells are seperated but it looks even worse like that.

    workshop3wip_06.jpg
  • EarthQuake
    I posted this in your other thread, but i'll drop it here too
    This is what i like to call "resolution based smoothing errors". What happens here is a mixture of a few things.

    #1. Maya renders excellent normals, even over extreme angles, because of this, we're less likely to use hard edges.
    #2. Normal maps are limited to the resolution of your texture.
    #3. Small-thin triangles, which also have extreme angle changes resulting in very "gradiated" smoothing(and graduated normal maps as a result to compensate) push the boundaries of what is possible. You simply run out of resolution as your triangles are smaller than your pixel(or smaller than the minimum required to represent a gradient).

    To fix this, you can:
    A. Avoid these long thin triangles
    B. Use hard edges along your uvs seams, if your uv layout is pretty natural this generally just works. There is a maya script that Mop posted somewhere on the boards if your search for it that does this.

    On a related note, this is another reason why chamfering your mesh instead of using smoothing groups isn't always a good idea, as these sorts of long-thin triangles are prone to errors even when your baker/renderer are synched up.
    3 Point Studios - 8ml - Polycount Wiki

    As to your other questions;
    will their be normal map seams if I start cutting and adding more uv shells?

    No, you should never have any normal map seams caused by additional UV seams.
    How much of a pixel gap do you usually use between uv shells and do you find the texture resolution affects how much of a gap between shells you leave?

    I try to leave at the absolute MIN about 4-6 pixels, most areas on my uvs will have more than 4 pixels in-between islands. I think this sort of works at most resolutions. % wise you need more at lower resolutions, but pixel wise i think it stays constant.

    As for your last image, the geo there looks a little messy, like you have a *very* thing ring of polys around the intersection there, that would be better removed, and then just following what i said in the first bit, should sort it out. Adding hard edges there SHOULD help, but if you've added them in the wrong spot they wont.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    EQ I'm not getting the same results as you, any time I add a uv seam there is definately a normal map seam, hence in my unwrap I was creating as few seams as possible. Perhaps this is something specific to the maya normal map baker.
    workshop3wip_07.jpg
  • EarthQuake
    Ok, few points here.

    #1. Uv seams are also limited to resolution in a way, the less resolution you have, the more noticable UV seams will be. This is why uv seams are always real noticable on lower mips. Again if the faces are so small they can barely be represented by pixels, you'll have issues.

    #2. Your uvs need to be relaxed in that area, following the quad loop up to the tip of the cylindrical shape, the uvs get more and more stretched, as if they are planar mapped. So those top two quads are quite distorted, and you run out of resolution.

    #3. Viewed at any sort of reasonable distance, you will never notice that seam. IF you zoom in 10000% you'll always see seams on normal mapped objects, but if you've got everything set up right you should never realistically notice it.


    If you're still having issues, upload an .obj of your low, and an .obj of your high, pre-subd, and i'll take a look and do some test bakes. You can send me a PM with the files if you dont want to post anything here.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Oh yeah shit, totally, I forgot to use the unfold tool on those uv's there's no map space there at all! Thanks I've got it all working now, hardening the edges and making uv seams is working great as well. Working on the first pass bake right now and adjusting uv's and geo as necessary.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Okay I've got my first complete successful bake, fucking rad. Thanks a lot for your help EQ! I've posted my normal map settings from maya as well if anyone is new to that interface or hasn't used this tool in a long time and has completely forgotten what settings to use, such as myself.

    workshop3wip_08.jpg

    normalmapsettingsmaya.jpg
  • EarthQuake
    Bakes look very nice!

    Instead of baking separate maps and combining them, i find it better to create keyframes and explode the mesh in the high and low, then you can bake all in one pass, which should speed things up up a bit.

    Also i would have merged that yellow and blue piece together, generally unless it needs to animate, or if unless its going to cause ray interseciton issues and need to be exploded, i will try and merge stuff. Otherwise you're wasting uv space having to texture areas of the mesh that are unseen.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Yeah thought about making that little bolt one piece but I liked the idea of keeping it separate so it could animate if necessary. You'll need to explain the exploding method of baking the map I'm not sure I follow.
  • EarthQuake
    This goes over the explode baking stuff: http://www.polycount.com/forum/showpost.php?p=817681&postcount=91

    Basically, all you do is this:

    1. Separate your lowpoly into unique objects/chunks for each part you wish to explode.
    2. Set keyframes for all objects in frame 0/1 or 0/10 or 1/10, however you want to do it, just important that you have two distinct keyframes for exploded and un-exploded.
    3. In the later keyframe "offset" each chunk by a common unit, like 5 or 10, can also use grid snapping here to make it easy. Exactly which axis(s) you want to offset and the amount is up to you. We're really just doing this to get the chunks away from other chunks, so there is no ray intersection problems.

    4. Repeat the process with your high, matching up the same offsets etc.

    You can also keep your mesh one and keyframe by verts, but i dont really like to do it that way, because you lose the ability to go back to the numeric input for it.

    One nice thing about maya, is that you can load multiple low's into the surface transfer, and have different envelope % for each, this makes tweaking your bakes simple when one chuck needs a high ray distance for example.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Here's the first pass ao bake. I had to go with xnormal as maya's native ao transfer maps is still broken in 2011. Can't believe they still haven't fixed that, they still don't support spread, and orthogonal reflection is disabled and there is no option to enable it so depending on the camera you are in the bake will look different each time. Also slow as fucking shit even with their new optimize for single object tick box. I used the custom cage for both models in xnormal and tweaked it in their 3d viewer, even tweaked a couple specific verts. The one thing I don't like about xnormal is the maximum spread is locked to 179.50, in mental ray you can use a spread of above one or 180" and I find this gives you a none directional occlusion map that shows all the detail. With xnormal I'm stuck with large white parts of my model and putting in planes to bounce rays back just makes it look like it's directionally lit. Tried a cavity map as well with various settings and found it looked exactly the same as my ao map but took longer to render. One thing I found as well was going above 512 rays didn't make the map look any better, 512-256 looked better but it was nominal and not worth the render time really.

    workshop3wip_09.jpg
  • EarthQuake
    You shouldn't have to triangulate all of your faces in XN, but if you have ngons those will need to be triangulated.

    I follow the same AO workflow with maya, was using maya 2008 for a while and it simply can not bake AO from high to low through surface transfer, just ridiculous.

    I use crazybump for the "detail/cavity" map type stuff, works very well.
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    I did some tests with xnormal vs crazy bump cavity maps for fine detail spec map, worn edges stuff and I'm liking the xnormal normal to cavity map feature. I've posted some examples below for those that are interested. Crazybump gives the same result but blurry and xnormal gives a crisper result. The SPD cavity map feature is interesting as well and could be used to further enhance your ao in areas where it's looking flat such as the rubber handle on my pipe vale. I tried multiplying this on top of my ao, you need to do a bit of masking in photoshop but that's fine. I also tried out the keyframe exploded method of baking the normal map that works great as I needed to move some uv shells and rebake the normal map.

    workshop3wip_10.jpg
  • EarthQuake
    While it would be nice if we could get sharper results out of CB, i generally don't want my detail map to be *too* sharp. I like the larger punchier forms that you have in the CB shot there, i feel they generally give a better sense of scale to the texture. When you get down to that single pixel detailing i think it tends to suggest an object that is larger than what you have here.

    The XN results do seem to have less "shading" artifacts than the CB one tho, so i will have to give that a try.

    Also, i will generally overlay this at about 50% on my spec and diffuse(it goes in with my AO layer group).
  • polygonfreak
    Just a quick question, how did you create the threads on your high poly model?
  • Grimm_Wrecking
    Offline / Send Message
    Grimm_Wrecking polycounter lvl 8
    Poly: I'd suggest checking out Bitmap/Pedro's post. Along with the How you model them shapes FAQ over in tech talk.

    Maybe not the exact way his were made, but I suspect it wasn't too much different.

    Edit:

    Malcom: looking ace. I thought you had finished this ages ago though hah.

    EQ: as usual you've helped me solve a normal map issue without actually telling me what to do hah :thumbup:
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    polygonfreak, the threads are a helix that clip into each other and clip into the sides of the pipe. You're welcome to check out the level 1 .obj file below and separate the elements and smooth to check out the individual pieces the model's made out of.

    http://www.malcolm341.com/misc/workshop3_pipe_malcolm.zip

    Grimm_Wrecking, thanks man still haven't finished this got swamped at work just as I was about to start the textures.
  • tristamus
    Offline / Send Message
    tristamus polycounter lvl 9
    Hey Malcolm, looking good there!

    Have you tried baking out a curvature or convexity map from xNormal to use along with your AO bake? I find it sometimes give really great enhanced detail to the AO when overlayed properly.
Sign In or Register to comment.