Home Technical Talk

Doubts about what to do with a texture/UV map that still has a lot of room left

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

  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Increase the size of 256x256  to 2kx2k using nearest  pixel resampling .  Make new UV set (channel)  re-pack UV islands using automatic packer   to new scale.  if you already have  normal maps switch of islands rotation  .  Bake into 1k x 1k    . Downsize the texture  to 128x128 using nearest .   Ask chat GPT  to make you a Python script for Blender  or whatever soft your prefer( chat works best for Blender although)  that does it.    Process your whole project .
     If your 256x256 already takes only a half  or  quarter of uv space  just multiply UV accordingly  an crop the textures .
  • Noren
    Offline / Send Message
    Noren polycounter lvl 19
    1.1) Yes. With some padding.

    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.
  • BatteringBam
    I've packed the UVs manually, since pixel art textures on models that aren't pixel perfect need require a lot of precision and fine-tuning, which is why if possible I would rather not mess with the uvs. I have not baked the texture, I don't think it was necessary on such a low-poly / flat shaded (of sorts) pixel-painted model (tho I could be wrong? I'm still learning quite a lot)

    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. 
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    just use a rectangular map

    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
  • Noren
    Offline / Send Message
    Noren polycounter lvl 19
    Agreed about the selling aspect (or other people having to work with the texture down the line in general). 

    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.
Sign In or Register to comment.