Home Technical Talk

Texel density between two separated meshes.

node
Offline / Send Message
Rhav node
Hey guys, i have a question regarding texel density.
I do undestand how texel density work with a single mesh, but i'm quite confused on how it works with two or more separated meshes.

Let's say i have 3 cubes with their default texel density. If i put a 1024x1024 UV grid texture on all the cubes the result would be obvious.
The "Squares" are of different size. Now, looking at the UV, we can obviously see that they are of the SAME size instead (In the image you can see the UVs of all the cubes at the same time).
To actually get them to have the same texel density we would have to calculate the texel density of the bigger square and set it to all the others, like so.
.
The squares are now of the same size, but the UVs aren't.
But know the Uvs are overlapping, so let's pack them properly ( to do this quickly, i simply let blender do this).
Now the UVs are packed, but the size of the squares on the textures is a bit changed.
Now, if these three cubes were, let's say, a gun for a videogame, i would then join them, texture them and then export them to the desired engine, and they would techincally speaking, look correct, but here's comes my question. 
Let's say the cube A was a Prop and cube B a wall, they would then be separeted static meshes.If i put them i a videogame, wouldn't the difference in texel density be percieved by the player? If it is, then how can i solve this? If i set the texel density of Cube B for Cube A then i would have a correct wall, but a low quality prop, also the prop's UVs would be inefficient, since it would scale them down leaving a lot of unused space. If i set the texel density of Cube A onto Cube B then the UVs of the wall would be too big for the UV space.

So my final question is, how do i make a consistant texel density between all objects on scene, while also having space efficient UVs?

Replies

  • Rhav
    Options
    Offline / Send Message
    Rhav node
    I also thought about changing the resolution of one of the objects' texture to a higher or lower one, but that would mean working with multiple textures with multiple resolutions, and i think that's not the solution.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    you can't have it both ways

    if you want a consistent texel density then you adjust texture sizes to fit.
    if you want consistent texture sizes then you adjust texel density to fit.

    I think things are better if you stick to a consistent density (or set of predetermined densities based on asset usage)  This ensures that textures can be shared across assets without scale getting borked and also helps a lot with consistency when applying effects such as detail-maps in your materials. 

    There can be an efficiency loss in terms of wasted space but that does not impact performance or negatively affect the fidelity of your textures when seen in game. Texel density is met so fidelity must be fine, and you're not making a texture bigger than it needs to be. 

    You have some flexibility in density (10% ish) before its visible to the player and it's totally fine to selectively increase density for specific things (eg text) 


  • Rhav
    Options
    Offline / Send Message
    Rhav node
    thank you very much for your aswer, it helped me a lot in clearing some confusion. I suspected that i couldn't have it both ways, but you confirmed it.
    So i guess sometimes it's about finding a sort of balance (?) Thank you again.
  • okidoki
    Options
    Offline / Send Message
    okidoki polycounter lvl 2
    I think that's the reason why texel density is for example 512 pixels / meter.. ( <-- in real world measures ). It's used with the same value for everthing which is in a specific range.. ( often background, midground, foreground).. so for example a decal which is 10x10 cm  (here 51x51 pixel) and then put wherever on the texture will be the same size within those ranges..
    ( Have a look at the PolyCountWiki: Texel .. )
Sign In or Register to comment.