Hi all -
Running into a little bit of a texel density issue and I'm not sure the best way to go about it. I understand texel density as I've made good amount of scenes, but this new scene I'm working on has a texel density of 10.24 per meter, whereas I'm used to working with 5.12 per meter (and lower) in the past. The issue comes with tiling textures. I'm working on a floor tile material thats just standard square ceramic tiles. Similar to something like this:
https://www.expressflooring.com/blog/wp-content/uploads/2015/05/Granite-Tile-1024x668.jpgEach of my floor modular pieces are 4x4 meters, meaning a 4k texture would tile perfectly. But I don't want to use a 4k texture for the floor, rather I want to use a standard 2k. But tiling the 2k texture over the 4x4m ground mesh would cause the texture to repeat 4 times, making the tiles small. If I make the tiles bigger in Designer to offset this, then I have way less variation and you can notice it repeating way more.
What's a way around this?
Replies
If you have a module that is longer/larger than your delegated texel density, it'll just have to tile - you don't NEED to have all textures/modules fit perfectly within the edge of a texture.
It's the same thing as having a 2x2 meter floor module. it'll fit with your 2048x2048, right? but then you'll have to duplicate those modules to fit the space of 4x4 meters..therefore tiling.
If my texel density is 5.12 per meter, the 2K texture of the floor tiles i made in designer that has 9x9 tiles, looks great on my 4x4 floor mesh piece. But once I up my texel density to 10.24 per meter, that texture now tiles 4 times, therefor making that 4x4 floor piece have 18x18 floor tiles and they look really physically small in the game world. The only solution is to lessen the tiles in designer, but now I have way less variation but the physical size of the floor tiles is correct.
If my texel density is 10.24 per meter, and I have a 4x4 meter piece, does that mean I need to have a 4K tiling texture on that piece for it to be accurate?
lets say I have a 2.56 texel density, does that mean that I need a 1024 texture on a 4x4 in order for it to be accurate?
having a 4k texture on a 4x4 meter piece with 10.24 texel density seems crazy. How do you get around this? Just use masks for grunge, decals, whatever else to cover up the low texel density?
ugh. Maybe I’m not understanding some things and it’s really driving me crazy. I understand texel density as a whole, but when it comes to tiling textures there’s something that isn’t clicking.
The issue you may run into is that say the scale of your floor accommodates 16x16 bathroom tiles, and you have a 4k texture that has 16x16 bathroom tiles you can't simply resize that 4k texture to a 1k and tile it 4 times, because now that 4x4meter floor piece would have 64x64 bathroom tiles on it and scale would be off. In this case you would need to author a texture that has 4x4 tiles that 1k resolution so when you tile that 1k texture 4 times, you end up with 16x16 bathroom tiles like you intended.
To compensate for the repetition you get with this, games tend to use vertex blending shaders, decals or even just clever prop placement make it less noticeable
I would recommend experimenting with shader creation in something like UE4.
If you need 9x9 tiles on a 4x4m floor and you want to use a texture covering a quarter of that floor, that texture has to contain a quarter of the tiles, 4.5x4.5 tiles in this case.
Now the texel density defines how large the texture for the 4.5x4.5 tiles needs to be.
If you have a specific real world pattern you need to recreate, which doesn't fit exactly into your texel grid (e.g. 1.1x1.1m), you either need to adjust the texel density (preferably) or squeeze the pattern into your grid.
To break tiling, vertex paint, decals, layered shader, combinations of these things.
Any studio that gives a toss about presentation will have texel density guidelines for various subsets of assets and will enforce them.
OP : make the texture bigger or do something in a shader to increase perceived texel density using lower res maps (eg, detail map)
I don't have an issue breaking convention in certain cases, but it is just a guideline so everyone is on the same page. It is almost like if there wasn't a style guide for a project, assets would just end up looking off when they are put together in a scene.
If you're working on things in isolation this sort of stuff doesn't matter at all but when you've got 50 or 60 people working on hundreds of things you can very easily end up with a horrible mess.
There's an optimisation angle as well. If you know a subset of assets are going to be a minimum distance from the player at all times you can work out the optimal texel density - ie. The closest to 1 texel per pixel - and ensure people aren't pissing memory away by going higher.
I'm not saying that its all bullshit and you shouldn't care either, but these days, artists tend to see the importance of this a little bit exaggerated. I'm not a gamer but I work in the fields of 3d and games for many years, and after some time I came to the conclusion that the overall feel and quality of the whole image is more important than small technicalities, unless something is very off. So off that it falls off from the image as we say around here. Long story short, in my honest opinion, you have some leeway to play with this and in some cases, I would rather scale things up to better fill the texture space and have better resolution on my little child. And half filled texture in a portfolio piece because of strict texel density decision is rather damaging.
In the context of a racing game it makes perfect sense to pick different densities for different classes of asset egg. the road, car interior, road markings, off track assets, background assets etc. And you absolutely should come up with standards that use the minimum resolution required.
Within a given class, assets really need to be pretty consistent among themselves though or you end up with things not bedding in and connecting properly and that's what I'm talking about