visual problem with texture tiling

Started by
3 comments, last by phil_t 8 years, 1 month ago

Hello, i have a problem with terrain texturing, I want to make it natural but when I used tiling textures it looks like that:

10ncpyd.jpg

How can I improve visual effect? I read about random rotating UV's but I have no idea how it works.

Advertisement

This is a well know issue.

One solution would be to flesh out the terrain more, i.e. blend with other textures (A patch of grass that fades into the sand texture?), add supportive meshes (A cactus, a palm tree, a decrepit colonist cart partially devoured by the sand dune, and some ram skulls for good measure ;) )

Another one that can be used in conjunction with the previous solution is to use Google! no, haha sorry. But seriously, upon searching your issue in google I found something called Multi-UV mixing which appears to be the result of sampling your base texture with a replica texture at a larger resolution in your shader (I may have butchered that). The results based upon a few articles that I glanced over seem to be something worth looking into

(I'll include the link in the case I completely butchered the idea behind the technique)

http://forum.unity3d.com/threads/improved-terrain-texture-tiling.116509/

http://polycount.com/discussion/116254/terrain-tiling-reduction-multi-uv-mixing

Marcus

yeah, I know about multi UV, but u know it work great on short distance but when you have large amounts of open land this work partially.

But today i found this: http://forum.unity3d.com/threads/random-tiling-mask-shader.367166/

It operates on a similar principle but randomly turns UV (90,180,270)[that means that texture must be seamless horizontal and vertical :/] and multiplying by the basic (not rotated) texture. I'll see if anything will come of this but until tomorrow. If anyone has any other ways to fix this I'm looking forward. PS: Is there any sense in using textures bigger than 2048x2048?


PS: Is there any sense in using textures bigger than 2048x2048

You should use a texture size that fits your needs. It's unlikely that you'll ever be viewing a complete 4096x4096 texture in a given frame since most people's monitors aren't capable of displaying that and they're going to be looking at a lower mip level. However, if it is likely that they'll be viewing different parts of it very quickly from frame to frame, it does make sense to keep it in memory rather than paging parts in and parts out since 16 megs of texture probably isn't going to break the bank so long as you don't have a ton of them.

You can use debugging tools or a custom shader to inspect the mip level you're looking at of various textures. If you're never or rarely hitting mip 0 on a large texture, it could probably stand to be dropped.

There are many ways to mitigate this. There's no magic solution, it will take some creativity and compromises.

- Use good artwork that doesn't have too many high-frequency details

- Blend with another texture that tiles at a different frequency

- Use a blend map to blend between different variations of the tiling textures

I liked this article (from GPU Pro 2): http://www.crcnetbase.com/doi/abs/10.1201/b11325-9

But there are many ways to go about this... you'll need good source textures though. Here's an example of what my terrain looks like using this technique: https://mtnphil.files.wordpress.com/2012/09/grid.jpg

- Add color variation and more in-world objects to make the repetition less noticeable

This topic is closed to new replies.

Advertisement