Greetings, I'm making a car asset for use with game engines. Currently, I have a 256x256 texture map assigned, to give the car model a pixel art look. The car is meant to have a LOD variation model, and a separate interior view model. It will also have different paintjob options.
The entirety of the car model is already UV mapped and painted, but I ended up only using a bit more than 1/4th of the the whole 256x256 map (which means I can't fit it on a 128x128 map to save performance and data size). I know it is good practice to fill up a texture map as much as possible, but since the car has a pixel art style, I've already used the amount of space I need for its texel density. What is the correct path to take here now?
1) Should I spend long hours trying to cram the texture and rearranging the UVs to fit in a 128x128 map no matter what? In truth I'd rather avoid doing this long menial work that I'm not even certain would work out in the end.
1.1) In relation to this, when it comes to saving UV space, if I have multiple faces all of a single solid color, can I shrink their UV to a single pixel on the UV map, or are there any issues with doing this?
2) Considering that the car model is supposed to have a separate model of its interior (for the interior dashboard view), should I fill the rest of the texture map, by modelling the dashboard view in the same Blender file, and texturing it with the same 256x256 texture material as the car exterior? I can imagine that this would be a bit repetitive considering the car is meant to have multiple paintjobs, so the interior texture would end up being needlessly repeated across each different paintjob texture.
3) Should I fill the leftover space with the textures for the LOD model instead?
4) Should i just paint the rest of the texture space with a single solid color and call it a day? Doing this feels somewhat unprofessional though, which I'd like to avoid.
Replies
It's not a bad idea to leave some free space for possible future changes. Obviously not that much, but I've often come to regret it when I left no space at all.
Since not all parts of the car will change with different paint jobs, you probably could add three more paintjobs (if that's about more than simply changing color, otherwise you could use vertex colors or shaders) to the texture and shift/transform the UVs of the body in shader to switch color. Might be a bit of a hassle, though.
A rectangular map might also be an option.
All of that is more about sport, though, or demonstrating what you can do. Unless you have uncounted different cars, none of that should really matter in regards to performance or storage/memory with that resolution even on today's smartphones. So leaving it as is should be perfectly fine. But it does sound like you want to showcase the texture. In that case, some more optimization can't hurt and I'd do at least the packing part manually. Rebaking it should work as gnoop suggested, but might still result in some minor pixel shifting depending on the new UVs.
Not sure what you mean with the LODs, unless you need to add detail that now is in geometry. Depends on how much that is actually needed/visible.
Also yes, you've got me figured. My plan was to sell this as a game asset on asset shops, so I would like to maintain a level of professionalism. Even if such resolution sizes are irrelevant nowadays, I don't want the asset to look sloppy.
I'd urge against scaling bits down to a single pixel since the people buying your asset might want to modify the textures or add things like damage/patterns
I'd also recommend just keeping everything very simple - anything clever you do can work against the person who buys it when they need to do something clever but different
The rebaking gnoop suggested was in regards to not having to move the texture elements around manually and reducing impacts from filtering + advice for normals just in case.