CG Sketchbook , notes and tutorials

Cape Horn Ships

eendracht1 Ahoy!, I’ve worked on 2 more ships for Rob Tuytel and the Golden Age project.

This time  i got to do them from scratch : including lowpoly model from histrorical references, baking hi to low poly and texturing, all in Blender and Gimp.

The workflow was conceptually the same as previous ship , but this time i didn’t use DDO, just Blender !  i used the same kind of operations and filters based on processing the NM, AO and cavity maps , but all was done in blender nodes.

First step is making a cavity from normal (with compositor nodes) , step 2 is making generic base “dirtmaps” : one similar to ddo’s “acid” effect (for generic discoloration effects) , a classic one for crevices and areas that gather dust or rust , and  similar one but for exposed thin edges (last 2 could be 1 but it’s easier and more accurate this way). I bake this equal for all the model , later use them differently based on the material of the individual piece.

Step 3 is assembling a material in cycles nodes : there i do the remaining blending and mixing to recreate dirt effects (i.e. i take the crevices map , blend it with a tileable rust texture, or add the acid effect mask just picking the right color and opacity for it )   to define different materials for pieces of the same model , i use a color id map (just like ddo workflow) that i baked previously during the hi to low bake (so materials are assigned to hipoly indipendently from lowpoly topology)

Baking was done as usual, relying mostly on splitting the model into many (30-40) pieces to avoid interferences with normals baking  rather than using complex cages.

To manage the process and the many pairs of lo/hi objects i used an addon called “meltdown”  great script ! maybe a bit over-scripted lots of features but very easy to break (if you have multiple scenes it really necessary to make a copy of everything to bake? ) i had just started writing the same on my own when i found it done already ,  and with plenty of features , i’ll need to read the python and investigate.

It’s a great thing about Blender that with such features/addons you have good chances of being able to contact directly the author and discuss it .. too bad i almost never get around to do that ! (on my list besides meltdown and texture atlas , fbx export and normal edits )


Last piece is the island , this is still wip (half day sculpting on a simple basemesh , with another half it could hold up for close ups).

I got the base mesh from Nasa SRTM project ( they have the whole earth as elevation maps for free, with a resolution of about 30m/pixel )  imported into blender (.HGT is a bitmap with georeferencing and height infos) , refined the coastline using open street maps contours, then sculpted the rest from photo.

Another useful tool for this was Meshlab : the quadric edge collapse decimation filter is  better than blender’s (including planar decimation) and comparable to Zbrush decimation master. It got the 3 million tris sculpt down to 60k tris keeping uvs (in screenshot, with normal map)

So the ingame island is a static mesh, not using terrain  system because it’s used for a flyover and background.

This was more efficient and detailed, i guess the rule is: terrain systems are for when you really need to walk on it , in any point with same detail , otherwise it’s easier to manually put detail where needed , in this case about 10x tris density in the front cliff compared to the back of the island)

Note this screenshot and the ones with all boats and the sea are from Unity 5 , the rest are rendered in Marmoset toolbag.

Unity 5 uses PBR too, so it’s about the same .. but i find Marmoset still a bit better, temporal AA is a lifesaver if you have thin stuff like rigging ropes!

In particular, low glossiness materials (like wood) seem to work a bit better in Marmoset .. i get the feeling they still show nice and correct highlights even when gloss and spec values are very low. While in Unity .. they look just diffuse, so you bump the values up a bit but then they risk looking metallic in light setups with strong highlights.



3 responses

  1. Oh wow,looks amazing! *___*

    June 26, 2015 at 11:43 am

  2. Nice article and art.
    I think MeltDown is pretty old. There is no need to create additional scene imho. Need to rewrite this addon.

    July 7, 2015 at 4:30 pm

  3. Hi, Thanks,
    @Paul Geraskin : glad you mentioned Meltdown .. my comment in the post was very hurried. To clarify , by “need to create a new scene” i don’t mean the user has to do that, i mean that the script creates a temp scene in the background to have a clean and controlled baking env with only the stuff you specified, great feature, except that breaks the script when the blendfile has multiple scenes already ( i mean that there’s some other scene intentionally created by user )
    That should be possible to fix, i had a look but never got around to do it with my limited python skills.

    The comment also suggested that maybe the addon is “overscripted” in the sense that i could live with something simpler , with no controls on the rest of scene objects (if they’re included in bake or not) but that is more robust… Of course , since there’s already a nicely full featured addon done ..fixing that makes lots of sense.

    If you decide to work on it would be awesome ! I’ll follow your posts anyway , i see some really nice addon stuff on your G+ !

    Btw , on the comment that Meltdown is old .. Are you the original author or you meant you want to revise it ? i see a different name on the github (and last commit from 6 months ago) i hope to contact the dev when i have some time and i get to think of scripting custom passes like cavity .. i should really work on that.

    Also .. Do you know other / more recent baking scripts that do the same ? maybe better ? there’s a few cool baking scripts but afaik none using on the workflow of multiple hi-low pairs to put in a single texture..

    In any case, i’ll revise the workflow for next ship bake in a few days, i’ll post if have news.

    July 8, 2015 at 1:49 am