Home 3D Art Showcase & Critiques

Nobility Ship (image heavy)

So it took me forever to get to this point because I've been working on this in my spare time. This ship is part of the Gothic City Scene I'm doing, and it turned into it's own project, so I thought it should have a separate thread.

The back story is that this ship is for Nobility and dignitaries. It has a military escort with it at all times, hens not having many guns. All the windows will be stained glass. It's at dock, so that's why the sails are all rolled up, the anchor is dropped, and the side panel is open for transport of goods and people.

I think I'm done with the modeling, and just need to unwrap, and texture. This thing is going to be a bootch to unwrap, so I would appreciate letting me know if something looks weird or any other suggestions before I start. I think I might see a few places where I may need to smooth the mesh out. Tweek some rigging, but I think it's close.

This high poly is currently at around 700,000 tris (mostly from all the ropes), and the Scale Ninjas are littering the boat (not my model), just to check proportions.

Help a brotha out with some comments and crits.










  • badmouse
    Offline / Send Message
    badmouse polycounter lvl 8
    looks great! i can't wait to see it with textures. how log takes you model it? any wire render to show us?
  • Barnstable
    Thanks badmouse.

    I don't know how long it took me because I was just working on it here and there after work. If I had to guess, I would say around 100 hours maybe... I think... But a lot of that was just trial and error because I didn't have a concept drawing, so I would try a design, decide it didn't work, and try something else. That process took up a lot of time, so I'm not sure how long it would have taken if I had just modeled a fleshed out concept.

    I'll post some wire frames tomorrow night.
  • fabio brasilien
    Offline / Send Message
    fabio brasilien polycounter lvl 11
    WOW that is insane! :)
    Great work so far!
  • Purplepaint
    Offline / Send Message
    Purplepaint polycounter lvl 8
    This is great, good job.

    I'm very excited to see the wires, and see it all finished and incorporated into your scene textured etc.

    Again, awesome :D
  • MEK
    I am without words... just... freakin awesome man. seriously. Get this baby textured and call yourself king!
  • brandoom
    Offline / Send Message
    brandoom polycounter lvl 13
    I believe this constitutes as Epic.

    great job.
  • ParoXum
    Offline / Send Message
    ParoXum polycounter lvl 9
    Having done a similar detailed pirate ship not long ago, I must say this is impressive!

    But!! Only 6 canons?
  • Der Hollander
    Way cool. The only thing I noticed was the rigging only having ropes going one way, but I'm not a sailor. This is a freakin' fantastic model, though. Best of luck on the unwrapping and baking, This is indeed hitting epic scale.
  • Grey
    Wow! Great attention to detail. Love the Sea Horse theme youve put into it. The rigging and ropes look pretty natural too. Great job!
    Offline / Send Message
    ENODMI polycounter lvl 13
    Really nice work, I especially like the seahorse! I don't know anything about ships, so I guess thats all I have to say:)
  • shinobix
    Offline / Send Message
    shinobix polycounter lvl 15
    Awesome job Barnstable! Do you have any pics of the rest of the gothic scene you're working on? I'd really like to see it.
  • PatJS
    Offline / Send Message
    PatJS polycounter lvl 9
    Excellent! I don't envy you the task of unwrapping this!
  • Barnstable
    Wow, Thanks for all the love guys.

    @Der Hollander: I cheated on a lot of the rigging, just because in every pic I see, there is just a mass of ropes and you can't really tell what the heck is happening. I went light on the rigging just so I didn't go crazy, but I might have to reevaluate it if the end effect doesn't seem convincing.

    @shinobix: This is the other thread where I was working on the scene http://www.polycount.com/forum/showthread.php?t=75592
    I hope to get back to the rest of it soon, but my priority is to get things finished to add to my portfolio, so I can get a job. That scene will take a long time to finish, so it has to be on the back burner.

    I know that I'm a stronger modeler than texturer, so could some of you chime in, and let me know if this work flow plan sounds right? I plan to use a diffuse, normal, and spec map at 2048x2048 each, and resize all the elements to cram the whole ship into that 1x1 area. After it's textured, I would take it into Topogun to bake it, and resurface to create the low poly. I then take them into UDK where I light the textured low poly, and high poly, and render them. Does that sound about right? I'm hoping for the texture to be pretty high rez, does 2048x2048 sound big enough?... or too big.
  • Simmo
    Offline / Send Message
    Simmo polycounter lvl 12
    This is incredible! Great work, I can't wait to see it textured! :D I love tall ships

    The only thing that's glaring (to me) is that the ratlines (the bits sailors would climb up) need more length ways ropes. They're generally gridlike:


    But other than that it's fantastic :)

    EDIT: Looking at it again, it seems you have the ratlines attached to the wrong place, they should come from those sets of four blocks that come out of the side of the hull there! You already have them there, just need to switch some of the rigging. Not a big deal but I can't not notice it now. :P
  • PatJS
    Offline / Send Message
    PatJS polycounter lvl 9
    I'm kind of confused about what you're talking about. Are you saying that you are going to UV unwrap and texture your high poly, and then take it into topogun for retopology? Also, what do you mean by take both your low and your high into UDK?
  • ParoXum
    Offline / Send Message
    ParoXum polycounter lvl 9
    Don't unwrap your HP boat; Just model your LP boat objects and make a massive use of instancing, you should use multiple tiling textures for a boat, it'll make you save plenty of texel ratio compared to an unique unwrap, and the first fact is the hull, you want to have a tiling wood texture there, ropes => tiling tex, trims => tiling tex, none of which you can do with a unique texture easily.

    And if you want to add the unique feeling over all the tiling textures, do a second uv unwrap of the full ship and bake an AO for it, then multiply that in a shader later on, same process for grimes on the boat/decals.
  • Barnstable
    @Simmo: This was one of my refernces for setting up the rigging:


    I didn't set it up exactly like this image because the boat is kind of pieced together from different reference, but that is the reason why it has separate ratlines, and those other ropes as rigging. But still, let me know if the current setup still doesn't make sense.

    @PatJS: Yes that is what I was going to do. Is that not right? And yes I was going to take both low and high poly models into UDK to render, but wasn't sure if UDK could handle the high poly. I would guess my post was confusing because the answer is that it can't.

    @ParoXum: I will have to investigate a bit to understand what you're describing. Do you know of any tutorials that explain that process more? I have used tiling textures before, but I don't think I've done it in the way you describe. If it'll save me time, and produce good results, I'm all for it.
  • PatJS
    Offline / Send Message
    PatJS polycounter lvl 9
    Oh I see, you were going to do beauty shots of the high poly in UDK. Sorry, I didn't understand. Honestly, I can't say I've ever tried to put a multi-million tri mesh into a game engine, but there are usually upper limits on complexity. For instance, I believe that the Source engine limits you to 32767 vertices.

    As for work flow, usually you don't do any texturing on the high poly because it's generally only used to capture surface normal information for use on a low poly model. Exceptions I can think of are transferring procedural textures, transferring color maps or selection maps, and transferring polypainted stuff. What I'm confused about is the part where you say you're going to take the textured high poly into topogun and bake it, and then make the low poly. What are you baking?
  • ParoXum
    Offline / Send Message
    ParoXum polycounter lvl 9
    I doubt you'll be able to import more than 60k into the UDK using ASE file format, as far as I remember, I tested that some years ago with previous builds and the model was pretty sick after import.

    And 60K might be optimistic already.
  • Barnstable
    Thanks guys, this is the kind of info I need.

    @PatJS: I don't know if I'm just mistaken in the terminology, or the procedures. I'm use to the workflow in a movie where I'm building a high poly in Maya, texturing it in there, and then rendering in mental ray. If I understand how it works for games, you take the surface information that defines the form of the high poly and transfer that to the low poly to give the impression that there is more detail than is actually present in the low poly. That's what baking does correct? Maybe I'm confused as to where the bake info is stored to apply to the low poly? Is it stored as it's own map, or are you saying the info from the bake creates a normal map? The process I used in the movie I worked on had me create the normal from the diffuse.

    Could anyone be so kind as to give me a step by step explanation of what to do in which program for what model ( high poly, or low poly) to texture it for games? I'm using Maya, Crazybump, UDK, and probably Topogun (though I haven't bought it yet). I thought I had a grasp on the workflow for game texturing, but I'm getting confused again.
  • PatJS
    Offline / Send Message
    PatJS polycounter lvl 9
    The baked information is stored as a separate image, the normal map. This is like the diffuse and specular maps in that it gets mapped to the model according to the UV unwrap you did. It's generated by comparing the difference in surface normal between the high poly and low poly model, and storing it as a vector, which can be conveniently stored in a 3-channel RGB image.

    If you want, I typed a big ass post up that started from the beginning (like, how does a normal map work on a technical level? how does baking one work?) and can post it, but I don't know how much you know about normal maps and game models and I didn't want to seem patronizing since you obviously know how to model, and well.

    As for what programs to use, I do all my high poly work in XSI with subdivision surfaces; sometimes I refactor high poly surfaces in topogun, creating a new cage for a form. I also use ZBrush occasionally to ding up metal stuff or do more organic work. The low poly is done primarily in Topogun, but also in XSI. I unwrap in XSI, and I bake in Topogun. A lot of people use xnormal, so check that program out. I texture everything in photoshop. UDK or another game engine is going to be your final environment, where you show off your model.

    I highly recommend checking out the polycount wiki, especially the normal mapping page.

    Edit: I have occaisonally baked textures from my high poly to my low, but usually just for very simple procedurals. For example, the vintorez on my website has a scope with a crazy mottled surface, and would have been a huge pain in the ass to hand texture and fix seams for, so I created a fractal noise material, applied it to my high poly model and baked the surface color to the low poly model wiht UV.
  • Barnstable
    Ah, I think I'm beginning to understand. I've used normal maps generated in Crazybump, but they were created off of the diffuse map I had already created for the high poly model to give the surface more texture and depth. I had never created one to take the polygonal geometry information from a high poly and then apply that to a low poly model before.

    I'd love to see that big post you typed on normal maps and baking. Please do post it if you can. I wouldn't take it as patronizing at all. I know I have a lot to learn about creating models for games. I've only had one class that had us do more than just add a shader to a model, so my texturing workflow knowledge is really lacking. I know how to get things done, and I can make it look pretty good, but that's different than knowing the best way to do it for games and a given game engine.

    I'll check out the polycount wiki as well. I always forget about that. Thank you for taking the time to explain all this PatJS.
  • IronHawk
    Offline / Send Message
    IronHawk polycounter lvl 10
    Good detail on the rigging and sails.

    Honestly I would say push it further on the deck areas. You have some nice large, medium and small details up top but the ship itself is lacking some smaller bits to give it a good sense of scale. There are some areas that look like they could use some trimming to give more depth to the deck.
  • Barnstable
    ^I was looking at some of the renders, and thinking the same thing. I was intending to include a lot of detailing in the textures, but I think it could still use a bit more small details in the geometry on the deck. I also noticed a rolled up sail that shouldn't be there anymore (I thought I had already deleted it, lol) so I'll get on that ASAP.
  • InProgress
    Offline / Send Message
    InProgress polycounter lvl 14
    That just looks splendid. Great job!
  • PatJS
    Offline / Send Message
    PatJS polycounter lvl 9
    Here's the big ass post:

    From the beginning:

    When you make a model for a game, it's necessarily lower in detail than the actual object in real life, due to limitations in real-time render speeds. For example, a barrel might have 24 sides in a game. If the game model were lit in a completely accurate manner (flat shading), it would look very faceted, because it is made out of 24 flat surfaces. However, we don't want accurate, because that barrel is supposed to be round! So, a smoothing technique such as the one used in gouraud shading is used. The gist of it is that surface normal values are interpolated between vertices, based on "vertex normals" -- the average normal value of all surrounding faces. Because of this, a 24 facet cylinder looks round because there are smooth transitions in luminosity between edges. This applies to all continuous geometry in a game mesh.

    The thing about gouraud shading though is that it can only show as much lighting information as can be calculated from actual 3d detail in the mesh. This means that extra details must be painted in, with fake lighting. To get around this, you use normal mapping. A normal map is a method of modifying the shading by changing the surface normal perceived by the lighting engine on a per-texel basis. A common way to generate normal maps is to bake details from a high poly mesh to a low poly mesh. How this works is that a normal map baker shoots rays out from the low poly, in the same direction as the surface normal at that particular pixel on the UV map of the low poly mesh. As soon as it hits a surface on your high poly model, it finds out the difference in surface normal between the high poly model and the low poly model, and stores it as a vector. It's convenient that a standard image has three channels, red, green and blue, and so that's where this difference is stored. Red corresponds to left/right differences, green to up/down. Blue points "outward" away from the mesh. You can actually check this out yourself in photoshop: go open up a normal map with features you can recognize, and look at the red, green, and blue channels individually. Quite educational! When lighting is calculated in game, the surface direction used to calculate luminosity is taken from the interpolated surface normal (gouraud style) modified by the normal map.
    (note that I'm talking about tangent space normal maps. An object space normal map doesn't do this "modification", because it stores the exact surface normal at each texel. It's faster to render, but it means that you can't mirror or duplicate things. Most games use tangent space maps.)

    Normal maps don't hold up well at extreme viewing angles, because they are simulating surface angle, not actually modifying it, so you need to make sure that your low poly model can hold up a proper silhouette. The kinds of details that you can completely ignore in the low poly generally small details, like rivets, panels, vents, etc. If you want to see normal mapping done in the extreme, take a look at Doom 3. That game had really really low polycounts, so they pushed their normal maps to the max. You'll be able to see how they hold up the silhouette, and where they fail (not many places).

    There is quite a bit of technique when modeling for normal maps, and you're really just going to have to make a lot of things and read a lot of stuff about them in order to make low poly models that bake well.


    Taking a closer look at your model, it doesn't look like it's actually "high poly", which is to say that although it has loads of polygons, it doesn't look like it's making use of subdivision surfaces or NURBS or anything (for example, the hexagonal lanterns in the back). I don't know what you are going to be baking. It looks to me as if most things are already pretty much game resolution, with the exception of the statues and the rigging. I'm saying this assuming that you'd play this as a first person character and the ship is a whole level, by the way.
  • Barnstable
    ^Thank you for that explanation Pat. I've been sick the last couple of days so I haven't felt to reply until now, but I read it before, and I appreciate the effort. I think I understand it a bit better now since reading that post, the Polycount Wiki, and I bought a book on game texturing.

    I tried to keep the model as low poly as possible while I modeled, so I didn't use any sub divisions, or smoothing or anything. There are still quite a few areas where I can see baking a normal to a low poly could greatly reduce the polys. I bought Topogun, and I'm going to try to create that low poly and bake, and see what happens. I'll also post wire frames as soon as I can. Thanks
Sign In or Register to comment.