Home 3D Art Showcase & Critiques

Frankensteins lab

Nosslak
polycounter lvl 12
Offline / Send Message
Nosslak polycounter lvl 12
Hi! I've started a new project and I thought I should post it here. This will be my first Pimping thread, but I've just made a model that I really like and thought it was time to post it for some critics and comments.

So I've based my model on Stephan Martinieres concept for Frankensteins lab:
http://www.martiniere.com/imagepages/vats.htm

I'm more or less finished with the highpoly version but if anyone thinks I can improve it I'm open to suggestions.
Lab3.jpg

I won't incorporate this into any game, this is just a portfolio piece, but I'm not really sure how high of a polycount I should set as maximum if I'd want to export it to UT3. Right now the polycount is around 2300 polygons but I thiink it'll be around 3000 when it's finished.
Lablowpoly.jpgLablowpolywires.jpg
I will add some bubbles and some god-ray like lighting inside the tank also.

My plan is to model and texture this container so that it's completely finished, then I might go on to the table and later the crates. I might also make an octoptus or something and put it in one of these containers (the reason I don't include it in the same model is because I imagine that you would want different models in the different containers).

So what do you guys think?

Replies

  • Ben Apuna
  • feanix
    Options
    Offline / Send Message
    feanix polycounter lvl 7
    Hey, nice to see someone else doing this piece as well! Be interesting to see how you approach it! :D
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    Ben Apuna wrote: »
    This seems to be a popular scene.
    Yeah, I saw a link to that concept somewhere and thought I should make that one day. It seems that place was Polycount.
    Ben Apuna wrote: »
    Some of those skinny rings on the bottom of the tank could be handled with a normal map instead of actual geometry, if you want to be a bit more optimized.
    I acctually considered doing this but I was going to wait until I was mostly done with the modelling phase and then see if it was necessary. Now I know it wasn't a bad idea, thanks.
    Ben Apuna wrote: »
    The top has some odd topology, I would expect once you start going inward from the outermost edge that you'd collapse every other edge so if this thing's 24 edges going around the next loop inward would be 12 then 12 then 12 and finally maybe 6 at the very top.
    Yeah, I see how it could look weird, but that is until you consider how one would texture this thing. As it is right now I can split the model in 8 identical parts and use the same texture on every section of it. I would have the seam start behind those feet-things, run up the bottom, the beams and then along the tops edges that run right above the beams. So i would have to keep the circles vertice count a multiple of 8 all the way.

    Ben Apuna wrote: »
    Yup you would want to keep the contents of the tank separate from the actual tank itself, so you can instance the tank in Unreal and have different contents. It will also help you keep your texture maps and materials from getting overly complex.
    That is more or less exactly what I thought too.
    Ben Apuna wrote: »
    Make sure you are counting triangles not polygons, as that's what game engines are concerned with (among other things...). 3000 triangles is a reasonable amount.
    Yeah, I am counting triangles, but for some reason I always say polygons (I don't know what's wrong with me :D). I just figured out that I might not be able to make it work with just 3000 triangles so I might have to up the estimate to like 3700-4000 or something like that.
  • Ben Apuna
    Options
    Offline / Send Message
    Nosslak wrote: »
    Yeah, I see how it could look weird, but that is until you consider how one would texture this thing. As it is right now I can split the model in 8 identical parts and use the same texture on every section of it. I would have the seam start behind those feet-things, run up the bottom, the beams and then along the tops edges that run right above the beams. So i would have to keep the circles vertice count a multiple of 8 all the way.

    Be sure to do some lighting bake tests in Unreal with your stacked UVs + normal map and a constant specular before you move onto final texturing.

    The last time I tried breakup UVs that much it came out as quite a mess after baking lights, UDK may have made some changes for the better to the way it handles seams with Lightmass.

    Good luck :)
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    I've never worked with Unreal or any other engine so I didn't consider the fact that I would need to bake light to it, but couldn't you just make a second UV set and use that for the lightbaking?

    For the normal map I suppose I will have to use either an object or a world space normal map, or will it work with a regular tangent space map?

    I have no experience whatsoever with Unreal so just correct me if I'm wrong.

    Also I've got a new update for you, guys. It's not a huge update but I feel I should post it anyway:
    Lab5small3.png
    The biggest changes here are the lamps in the tank, the speres at the top and some new bolts and screws.

    I think the top feels way too empty. Do you guys have any idea for what I could add there?
  • feanix
    Options
    Offline / Send Message
    feanix polycounter lvl 7
    Looking good! How many tri's are you at? This is yer high poly, right? :D

    I had a lot of trouble with this particular prop because of the metal tracery EATING all my tris. What approach are you going to take with that?

    Oh yeah, yes, you can just make a 2nd UV map with unique coords for the mapping for unreal. You can even have unreal generate this map for you, but the maps it makes are very wasteful of UV space.
  • Ben Apuna
    Options
    Offline / Send Message
    Looking good,

    About the top, you could make it like a front of an old train with bolts and things.

    Or you could make it into a hatch so it's possible to get things in/out of there.

    Or stick more cables and tubes into it.

    Or you could leave it alone for now and move on to other props in the scene. Some cool design to unify the everything might come to you while working on something else.

    About normal maps and Unreal, I'm pretty sure Unreal only imports tangent space normal maps.

    I just did a test with UDK and a spherically shaped top with split/stacked UVs for texture and unique seamless UVs for the lightmap. It worked great using Lightmass to bake lighting, so disregard my warning about that. Most of my light baking experience comes from the old Unreal Tournament build of Unreal, it's good to know that the issue has been fixed.
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    feanix wrote: »
    Looking good! How many tri's are you at? This is yer high poly, right? :D
    Yup, that is the hipoly one. I took a look at your model and realized that I needed to add more details so I put the lowpoly on hold for now.
    feanix wrote: »
    I had a lot of trouble with this particular prop because of the metal tracery EATING all my tris. What approach are you going to take with that?
    I will try to use floating geometry and fake the smaller rings with the normal map. I will also model the curvy parts that are attached to the glass, I know it takes more polygons but I think it'll be worth it.
    feanix wrote: »
    Oh yeah, yes, you can just make a 2nd UV map with unique coords for the mapping for unreal. You can even have unreal generate this map for you, but the maps it makes are very wasteful of UV space.
    That's awesome, but I think I will unwrap it myself anyway. Do you know if the normal map will work with these stacked UVs?
    Ben Apuna wrote: »
    About the top, you could make it like a front of an old train with bolts and things.

    Or you could make it into a hatch so it's possible to get things in/out of there.

    Or stick more cables and tubes into it.
    Thanks for the suggestions. I had acctually thought about adding a hatch up there myself too, so that is what I'm about to do now. I'll make a hatch that is somewhat reminiscent of a submarine entrance/exit hatch then.
    Ben Apuna wrote: »
    Or you could leave it alone for now and move on to other props in the scene. Some cool design to unify the everything might come to you while working on something else.
    No, I won't do this. I have a tendency to just model my stuff till it looks somewhat good and then just move on. But I really want to finish this one with textures and perhaps lighting as well, so I can't start on another model or I'll just get distracted.
    Ben Apuna wrote: »
    About normal maps and Unreal, I'm pretty sure Unreal only imports tangent space normal maps.
    I guess that'll have to do then. But like I said above will this work with stacked UVs?
    Ben Apuna wrote: »
    I just did a test with UDK and a spherically shaped top with split/stacked UVs for texture and unique seamless UVs for the lightmap. It worked great using Lightmass to bake lighting, so disregard my warning about that. Most of my light baking experience comes from the old Unreal Tournament build of Unreal, it's good to know that the issue has been fixed.
    That is awesome. Thanks for clearing that up, man.

    Oh, and just a quick question; Is it true that normal maps can't simulate objects that are pointing at a 90 degree out from a surface? In other words; will I have to model the big screws at the bottom on the lowpoly one?

    Here's some closeups of my model too:
    Lab5detail1.png
    Lab5detail2.png
  • feanix
    Options
    Offline / Send Message
    feanix polycounter lvl 7
    Nosslak wrote: »
    That's awesome, but I think I will unwrap it myself anyway. Do you know if the normal map will work with these stacked UVs?

    Yes and no. As far as I can tell, the engine won't smoothly shade over UV seams, even on flat surfaces. It will look like you used different smoothing groups for all the different UV islands. You'll also have to be careful about tiling/mirroring your normal map.
    Nosslak wrote: »
    Oh, and just a quick question; Is it true that normal maps can't simulte objects that are point at a 90 degree out from a surface? In other words; will I have to model the big screws at the bottom on the lowpoly one?

    Yep. Normal maps simulate changes in the angle of the surface, not changes in the height. Adding a bevel to your bolts will help a lot.
  • Ben Apuna
    Options
    Offline / Send Message
    Yeah like feanix said bolts (and any surface that goes in or out but and won't be modeled on the low poly) should be modeled like _/¯\_ or ¯\_/¯ not like _|¯|_ or ¯|_|¯ on your high poly if you want any illusion of height to transfer over to the normal map.

    Stacking and mirroring UVs for normal mapped assets can work in Unreal if done correctly. More info from UDN.

    Also related here's a good tutorial on making efficient lightmap UVs, though with the introduction of Lightmass in UDK you don't need to pad the outer border anymore, just between the shells.
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    feanix wrote: »
    Yep. Normal maps simulate changes in the angle of the surface, not changes in the height. Adding a bevel to your bolts will help a lot.
    Ben Apuna wrote: »
    Yeah like feanix said bolts (and any surface that goes in or out but and won't be modeled on the low poly) should be modeled like _/¯_ or ¯_/¯ not like _|¯|_ or ¯|_|¯ on your high poly if you want any illusion of height to transfer over to the normal map.
    I guess I'll have to make some inaccurate screws then :(.
    Ben Apuna wrote: »
    Stacking and mirroring UVs for normal mapped assets can work in Unreal if done correctly. More info from UDN.

    Also related here's a good tutorial on making efficient lightmap UVs, though with the introduction of Lightmass in UDK you don't need to pad the outer border anymore, just between the shells.
    Thanks for the links, man. I think it sounds a bit confusing but I think it'll come to me when I get some practical experience with it later on.

    Before this post I basically had no idea that you needed lighmaps, so thanks a lot. I thought that we had come to a point with technology that all lights were dynamic. So what exactly do a ightmap do? Is it just shadows that get multiplied on top of the regular texture, or what is it? Also what resolution would you recommend for my model?

    Here's a render with the finished hatch (though it turned out more like a lid, because I chose not to include any hinges):
    Lab6small.png
  • Ben Apuna
    Options
    Offline / Send Message
    Lightmaps in Unreal store all lighting and shadow information in a RGB format so you get full color lighting and shadows.

    If you want to go with a full dynamic lighting solution you could use Crytek's Sandbox editor rather than UDK. Check out the Crysis Sandbox Editor - MASTER THREAD on how to get it for free, and my post on how to set it up. Unfortunately that's about all I know about the Sandbox editor, as I haven't played with it much. A lot of people around here love it over Unreal, one of the main reasons being no need for lightmaps.

    As for the lightmap size it depends on weather you want to go with a practical lightmap size or a "it's for portfolio make it as good looking as possible size" light map. It also depends on how much shadow detail will be cast onto it from other objects in the scene. Lightmass will also dynamically up or downres your lightmap a bit during the bake process as well though I'm unsure how it does this exactly. You could unwrap it for a 64 x 64 or 128 x 128 size lightmap and be able to up the actual resolution setting in Unreal to something higher if you discover you need it.

    As for inaccurate screws, it's true they well be inaccurate as far as being a perfect "real world" screws, but they will be perfect for capturing accurate normal map information. All that really matters is the final ingame result IMHO.

    The top is looking good btw, keep it up :)
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    Ben Apuna wrote: »
    Lightmaps in Unreal store all lighting and shadow information in a RGB format so you get full color lighting and shadows.
    So do this include the shading of an object as well, because that'd sound like a serious limitation?
    Ben Apuna wrote: »
    If you want to go with a full dynamic lighting solution you could use Crytek's Sandbox editor rather than UDK. Check out the Crysis Sandbox Editor - MASTER THREAD on how to get it for free, and my post on how to set it up. Unfortunately that's about all I know about the Sandbox editor, as I haven't played with it much. A lot of people around here love it over Unreal, one of the main reasons being no need for lightmaps.
    I think I'll go with the Unreal option, I mean I will need to learn to do proper lightmaps one day anyway, so I can just as well try to learn it today.
    Ben Apuna wrote: »
    As for the lightmap size it depends on weather you want to go with a practical lightmap size or a "it's for portfolio make it as good looking as possible size" light map. It also depends on how much shadow detail will be cast onto it from other objects in the scene. Lightmass will also dynamically up or downres your lightmap a bit during the bake process as well though I'm unsure how it does this exactly. You could unwrap it for a 64 x 64 or 128 x 128 size lightmap and be able to up the actual resolution setting in Unreal to something higher if you discover you need it.
    I think I'll want to make a practical lightmap size, so that I can someday include it in a mod or something. So I'll unwrap it for 64x64 then.
    Ben Apuna wrote: »
    As for inaccurate screws, it's true they well be inaccurate as far as being a perfect "real world" screws, but they will be perfect for capturing accurate normal map information. All that really matters is the final ingame result IMHO.
    Yeah, I guess your right.
    Ben Apuna wrote: »
    The top is looking good btw, keep it up :)
    Thanks a lot!
  • Ben Apuna
    Options
    Offline / Send Message
    What do you mean by "shading of an object"?
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    I mean if you would make a sphere and a circle without a lightmap and then place them next to eachother would you still be able to see which one was the sphere (without rotating the view or anything)?
  • Ben Apuna
    Options
    Offline / Send Message
    The answer for Unreal is yes and no, this should explain it.

    EDIT:

    Silly me, I realized I should've explained this better.

    When you first create a level in Unreal it's empty nothing is there. If you add some objects to the level and attempt to view them in lit mode you will see nothing. Once you add a light to the scene everything is dynamically lit until you do a lighting build, once you do that all static meshes get their lighting baked.

    This picture represents two objects and one directional light in the Unreal editor.

    Unreal_Lighting_Example.jpg
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    Ok, I think I understand. Thanks for explaining.

    In other news; I think I'm done with the highpoly. I couldn't come up with anything more to add to my model so I consider it finished. I'm nearly finished with the lowpoly version as well. So here they are:
    Lablowpoly2jpg.png
    Lab6.png
    I think the polycount may be too high, as of right now I've got 4456 triangles and that is after some heavy optimization. Here's my wires:
    Untitled-1.jpg
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    you could try to normal map the "ribs" around the base, of course they couldn't be as pronounced, but it'd cut out like 300-500 tris.
  • Ben Apuna
    Options
    Offline / Send Message
    I forgot to mention one other thing about normal maps and beveled edges.

    It's good practice to exaggerate any bevels on your high poly model so that they show up better on your normal mapped low poly model. This becomes very evident once things are viewed from a distance in game and the textures are being mip mapped.

    Right now your highpoly model has some very sharp edges, unless you use a gigantic texture any intended normal mapped edge highlights won't show up.

    Then again you might be going for a really sharp look and not want highlights on your edges in which case it's all good.
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    ZacD wrote: »
    you could try to normal map the "ribs" around the base, of course they couldn't be as pronounced, but it'd cut out like 300-500 tris.
    Yeah, you're right, but I'm not ready to remove those altogether, so I just removed faceloop in the middle of each rib as I suspect it'll be possible to just simulate that with the normal map. I also chose to redesign those curvy things at the top the glass so that they'd take less polygons. All in all I saved about 500 polygons so I'm down to about 4000 now. Is 4000 triangles too much for an asset this size?
    Ben Apuna wrote: »
    It's good practice to exaggerate any bevels on your high poly model so that they show up better on your normal mapped low poly model. This becomes very evident once things are viewed from a distance in game and the textures are being mip mapped.

    Right now your highpoly model has some very sharp edges, unless you use a gigantic texture any intended normal mapped edge highlights won't show up.

    Then again you might be going for a really sharp look and not want highlights on your edges in which case it's all good.
    I thought I wanted a really sharp look to it but I just tried to make some smoother bevels and it looks a lot better IMO. So thanks for the suggestion.

    I can't really find anything else to optimize without sacrificing anything significant. So I think I'll just start unwrapping. But if you guys have any suggestions for cutting down the polycount then I'm still open for suggestions.
    Lablowpoly4.png
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    if its the focal point of the scene and there isn't much else that's using many tris its fine.
  • Snader
    Options
    Offline / Send Message
    Snader polycounter lvl 15
    i'm not sure what you want to do with the insides of the tank, but if its a bit hazy, you could probably get away with making the lamps out of lowpoly domes, should save you a decent bunch of triangles. you could opt to make the ribs like _/\_ instead of _| |_. lastly, geospheres on the lamps might save just a wee more tris.
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    ZacD wrote: »
    if its the focal point of the scene and there isn't much else that's using many tris its fine.
    With the help of Snader I've been able to shave off a good 450 triangles, so hopefully I can fill the scene with some more stuff now. My polycounter says 3610 triangles right now.
    Snader wrote: »
    i'm not sure what you want to do with the insides of the tank, but if its a bit hazy, you could probably get away with making the lamps out of lowpoly domes, should save you a decent bunch of triangles. you could opt to make the ribs like _/_ instead of _| |_. lastly, geospheres on the lamps might save just a wee more tris.
    I can't believe I didn't think of using geospheres for the lamps, now the lamps only take 1/3 of the polygons they took before. I tried to make the lamps at the top out of geospheres too but that didn't work out, so I just optimized those a bit more instead. Also I had already optimized the ribs like you're explaining if you just look closer on that last render.

    Here's how it looks at the moment:
    Lablowpoly5.png
  • Ben Apuna
    Options
    Offline / Send Message
    You got the triangle count down that's cool.

    Are you planning to bake ribs on the bottom from a high poly shape like _/¯\_ or _|¯|_ to a low poly shape like _/\_? I don't think the ¯ part will turn out ok. If you really want to optimize it'd probably be better to remove the ribs from the low poly altogether and just bake from _/¯\_ to ____. Though I can't say I've ever tried that exact type of bake before so it might work out ok...
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    Ben Apuna wrote: »
    You got the triangle count down that's cool.

    Are you planning to bake ribs on the bottom from a high poly shape like _/¯_ or _|¯|_ to a low poly shape like _/_? I don't think the ¯ part will turn out ok. If you really want to optimize it'd probably be better to remove the ribs from the low poly altogether and just bake from _/¯_ to ____. Though I can't say I've ever tried that exact type of bake before so it might work out ok...
    Yeah, I think I'll try to bake it to the ribs and if that's not working out I can remove it easily and just go with a flat bottom as I am using floating geometry.
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    Ok, I've got a new update, a small one, as usual. This time I will present the unwrap (for normal, spec and diffuse):
    Laboratory_tube_wires_small.jpg
    I think this is one of my best unwraps as I usually waste a lot of the space on the UV for no reason at all, but I've changed that now.

    I've also made some cylinders for godrays and some planes for bubbles (that will turn towards the player, if possible). Unfortunately this adds to the polycount which is at about 3700 polygons now.

    I've got another pretty quick question again, which texture resolution would you recommend? I'm guessing either 512 or 1024 but I want to do this right, so I'm asking you.

    Oh, and the reason for the delay of updates is because Blender crashed a couple days ago when I worked with the highpoly, which made me realize that I really needed a new processor (Blender usually lags at only 2 or 3 subdiv levels too) so I didn't really feel motivated to make any progress. I'm going to pick up my new processor tomorrow, it'll be awesome.

    That's it for today, folks!
  • Ben Apuna
    Options
    Offline / Send Message
    I recommend keeping the bubbles and godrays as separate objects. They will probably need entirely different types of materials and textures. Bubbles can be made as a particle system to face the camera.

    1024 x 1024 seems like it would be a good texture resolution for this object, you could go larger or smaller if you wanted to. Try to decide on a texture budget for the whole scene then break that down. You want to keep the pixel density in your scene consistent.

    Your UV layout is not horrible, but it could be better.

    Franenstien_UV_Comments_01.jpg

    Here's some general UV tips.

    UV_Tips_01.gif
Sign In or Register to comment.