To be able to work like a tank over the holidays, you would have to isolate yourself from all friends and family, and that is just not healthy in any way. But I still feel like I am cheating a bit by not working through whole days during the holidays.
Yesterday, I was texturing my door that I showed earlier and made a couple of mistakes. Some of the UV work had been skewed in a way so that the textures would seem to stretch a bit on one axis and that is rarely a good thing. If you want to maintain the pixel to texel ratio between all items on your object even, you would have to dedicate the same cover area for that particular item in the color map. Not to mention all the wasted memory and space for all those solid colors that stretch across a wide area. To make this super optimal, you could start to treat this as a painting with a fixed color palette and try to model the thing with regards to where the shades change and use the palette along with vertex colors only.
There are some very odd rules of thumb in the games industry and how you utilize textures, geometry and the combination of all of those to minimize memory. Some approaches are just out right wrong, people don’t questions why and just steam on forward in wasteful ways because they just want one general rule that applies to all. A work procedure that works in most cases and should give the best results.
Here is a minor example. Say you have a simple object that you need to model and give a color map.
The object is around 5k polygon with around 2.5k vertices. Depending on the size of the vertex, you are looking at a memory footprint of around 60 – 100 k bytes. A 1024×1024 color map for this object will be around 25 MB without an alpha mask. But the general rule of thumb is to add all the detail into the textures because adding it into the geometry will take up too much memory. A piece of geometry that would match that texture in memory would be around 500.000 vertices. Embedding all the color and detail into the geometry could be wasteful, just as embedding all the color and detail into the a few different maps would be. You should be very conscious about where it is better to store the data in a texture map or in the geometry itself. But when the actual accumulated memory footprint of the pixels in the maps covering the geometry is surpassing the memory footprint of a vertex that could be lying underneath to store that same data, you have officially nullified the performance benefits of current work procedures.
This old rule of thumb has just been utilized without much question to see where the actual cut-off point is and when to utilize one method over the other. Memory used to be very expensive and we needed ways to minimize it in all ways possible. But as machines grow and get more powerful, we still swing our hammers in the same way.
Just like with any formula we apply to other types of labor, they are still kept in place years after they have been shown to be counter productive and actually more wasteful than the problems than they were originally set out to solve.
Why we work this way is because of the tools we had at some point were very lacking. Photoshop and photo editing software was a lot more powerful than some 3D sculpting and painting package that could produce the same thing, but the effects of applying images to squares was a lot better than introducing control points, tangents and other data into the visual set you had to be add to be able to achieve the same effect. Times have changed and I encourage you to actually look around and see what can be improved than to continuously bash your 15 year old hammer into the same set of nails. But, in the case were you are dealing with multiple types of targets, you will have to pick the method that works “best” across all platforms.
But, aside from my rant on this observation I finally got the final pieces for my little motion capture setup here at home. I don’t really have any content that I need to make using this as of yet, but I do have other game and prototype ideas that will require it. Plus, I could also utilize this to create lots of motion capture content to sell on the asset store for unity if that seems like a good idea. But, this will also give me the option to add some sort of a humanoid thing into my game without having to worry too much about the animation of it.
The work over the holidays will still remain a little slow, but it is only a week of alternate activities that are also a little important to the sanity and health of this particular workaholic.