Home Technical Talk

Terrain tiling reduction/Multi UV-mixing

Hey.

I'm very interested in asset development, and have been teaching myself about textures for some time. However, I've never found a good middleway between a good looking close-up and a good looking medium/distance view. The slightest apparent tiling always becomes obvious and unpleasing. I knew there had to be a good way to solve the problem, and I found the solution in a Unreal Engine 3 documentation, where it seemed quite easy to do.

http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Multi-UV%20Mixing:%20Reducing%20tiling%20through%20scalar%20mixing

This is what I want to achieve in Cryengine 3. Is there an equivalent method that I can use? Or is there any other and perhaps better way to make terrain look good from any range? I can't find any tutorial or topic about this.

Replies

  • e-freak
    Options
    Offline / Send Message
    http://freesdk.crydev.net/display/SDKDOC2/Painting+Terrain
    http://freesdk.crydev.net/display/SDKDOC3/Unified+Detail+Mapping

    Not sure what your exact question is though? Can you briefly, in your own words, explain what you want to achieve from the Unreal Doc?
  • Gnur
    Options
    Offline / Send Message
    This terrain here, for example (from the UDK documentation) looks very obviously and badly tiled. The texture might look good on 1 or 2 close-up tiles, but as soon as the texture tiles more than that, you see this very obvious pattern. You see every image of the texture, being repeated over and over again.
    DGMultiuvOff.jpg

    UDK explains something called Multi UV-mixing or scalar mixing. The way they explain it, they can within the same material mix the texture with itself at two different sizes.

    "The advantage of using the same texture twice is that when compiled it requires only one Texture Sampler. So while this technique does increase the shader instructions a small amount, it does not require additional Texture Samplers which are often the resource that you may run out of first."

    Here is the same texture, but with this method applied:

    DGMultiuvOn.jpg


    I can make pretty good textures in photoshop, but no matter how much I tweak, it will to some extent either be obviously repetitive from a distance, or it will look reduced at a close range, stripped of details and "soul"... or realism for that matter.

    I was wondering since UDK seems to have this method available, if there was an equivalent way of doing this in Cryengine :)

    Often such tiling is covered up by vegetation and other details, but sometimes there can't be that much grass to cover it up, on some terrains. Great naked plains, even though there could be a tiny bit of grass some places, the detail texture should look good, not obviously tiled. That's why I find this scalar mixing method interesting, the way it looks on the images. I'm also quite sure I've seen this in many other games.


    Here, I've managed to make a texture that looks okay from a distance...
    https://dl.dropbox.com/u/58757568/terraintiles.jpg

    But up-close, it loses a lot of its former glory, due to too much photoshop tweaking...
    https://dl.dropbox.com/u/58757568/terraintiles2.jpg
  • SlyRipper
    Options
    Offline / Send Message
    SlyRipper polycounter lvl 6
    I don't think it's basically added to the CryEngine, but you're able to create new Materials with new effects, so maybe you can realize this..

    As far as I know they just use several other textures that just get overlayed to create a random look like terrain. Another option would be decals, to brake the tiling. Aside the usual ways like adding vegetation, rock formations and other stuff to intertupt the tiling (pretend big areas without anything where you're able to see the tiling).

    I guess the only trick is to work with just one material, as every other materials loads into the resources (also if it uses the same textures). Maybe there's some random turn function for the brush and you can paint the material over it to get something new. As long it's the same material it won't need extra drawcalls (if that was the word ^^).
  • Gnur
    Options
    Offline / Send Message
    There is a rotator and some options for the material, but it affects the entire texture and doesn't make any smart changes. I tried simulating the effect, just for testing, by using two different materials (but the same texture), where one was at 50% opacity and with a different tile size, but it didn't reduce tiling. I think there are other things that come into play as well - the UDN site linked in my first post describes a much more advanced process.

    UE3MultiuvMaterial.gif
  • iniside
    Options
    Offline / Send Message
    iniside polycounter lvl 6
    It's not possible. You can just blend detail texture with color texture. And that's all.
Sign In or Register to comment.