Monday, November 28, 2016

Still alive...

Treehaus wood blocks with the Anker Stone material textures
It's been awhile again since I posted any progress on the game, and the expected new playable version still isn't ready to go, but I figured some news was better than nothing.  I've had some time off work over the Thanksgiving holiday, and I used that to get back to work on Blockitect.  The main thing I've been having difficulties with since my last post has been the texturing for the wood blocks.  Mostly because it's very tedious, which led to me losing motivation/ambition.

The process involves scanning all the sides of the blocks in gray scale, cropping out the edges so I have clean textures with no rough corners, etc..  I then have to size them and put them into a texture atlas, which is a single image with all the block's sides arranged in a specific layout.  Then to implement that onto the block in Unity, I have to very carefully map the faces of the 3d model onto that texture image so the faces are correct (a process called UV unwrapping), get all the wood grain to line up from one side to the next, and lastly I have to tweak the color shading to get it looking accurate to the real blocks.

Wood textures mapped onto the same 3d shapes (easily selectable in-game)
This use of a texture atlas has been an improvement over my earlier methods however, both for the game's performance, and it should also ease some of the difficulty and time as I continue to scan in additional textures to allow for multiple versions of every block.  Previously I was creating a separate texture and material for each individual side of the block, which while it has some extra flexibility, is much more tedious than even the above described method.  With the atlas method I just have the one texture, and once UV work is completed for a block shape, I can make additional texture atlases for that same block and they are going to automatically map correctly onto the 3d model.
 
Texture atlas

Just to be clear, the texture for the Anker Stone blocks is incredibly easy by comparison.  I use a single texture that tiles perfectly, meaning it repeats seamlessly.  I just have to create the 3d model and make minor tweaks to get a nice and realistic looking textured block.  Wood is just too chaotic and distinct to work like this, at least if you want it to look realistic.  The hardest blocks to texture are ones with round sides, because I use a flatbed scanner to get the textures into the computer.  This requires a lot more scans, gradually turning the block for each scan.  Then I have to stitch these scans together, taking just the in-focus part of each to make a single image of the entire outer surface of the curved face (the way the scanner works it only gets a clear image on the part of the block that is touching the glass).

I hope to continue with the progress I've made over the last week or so, to be able to get the new version ready, and get a new video to along with it.  The blocks that remain to be implemented are mostly the round ones, which I've put off for last due to the extra challenges they create.
Freestyle build

No comments:

Post a Comment