Search Unity

Dealing with these types of textures

Discussion in 'World Building' started by N1warhead, Sep 19, 2019.

  1. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    Howdy everyone, hope you're all doing good!

    I'm kind of stumped on how to handle texturing something like in this image. (Credit Assassin's Creed)
    upload_2019-9-19_12-45-26.png

    The part I can't quite get past is - tiled textures wouldn't work, unwrapped models wouldn't work, vertex colors wouldn't work, tri-planar I suppose could work.

    The question doesn't include modeling - I can model the cliffs and such.
    I know certainly one wouldn't make that a single model, but at the same time, I can't see it being 50,000 rock models either, but onto the case of Tri-Planar mapping - you'd still see a noticeable tiling effect on the models which comes back to the point of how one would handle texturing these types of assets.

    I've thought about decals, but that would bring up another set of issues - 1 performance, 2 - either the decal is big, or it is small. If it is small = bad performance if I have a lot of them. 2 - big ones would bring about bad normal map details up close.

    So there has to be some happy median way to handle this.

    I'd say the higher areas I wouldn't need good normal map details, but my game will have VTOL aircraft in it, and yeah they could hover next to a cliff if they wanted and jump out and walk on the a rock if they wanted.

    (Perhaps I'm just tired), so maybe a mixture of the things I mentioned above could work if I mix them all in a certain way.

    So yeah, any advice you guys could give would make me extremely grateful.

    Thank you everyone, David.
    (Heading to sleep now, so i'll respond when I wake up if there's any replies).

    P.S. - I'm not asking for the exact sciences involved. Just perhaps (potential - ways this could be handled).
    But on that note - I do know it's more than one rock asset on there, it's probably just in the front face like 30-40 rocks (don't care about the ruins at the bottom). Just the cliff. But there has to be a good way to handle the low, medium and high frequency textures and breaking up the repetitiveness to the repeating patterns in a meaningful and optimized way.
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I would certainly use triplanar mapping for that (and did exactly that, in QuiVr for Oculus Go). It should look fine, because your rocks are not flat; the texture mixes in two or three dimensions and tends to hide the tiling.

    If the tiling is still too obvious, then use a shader that takes two sets of triplanar textures and mixes them, and make sure they have different scales, where one is not a simple multiple of the other (e.g. use prime numbers). This should completely eliminate any noticeable tiling.
     
  3. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    Good points, thanks mate!
     
  4. wyattt_

    wyattt_

    Unity Technologies

    Joined:
    May 9, 2018
    Posts:
    424
    There also might be another step on top of what @JoeStrout mentioned, which is extracting the mesh geometry of the terrain in those areas and tessellating / subdividing the mesh and applying noise either along the surface normal or along the horizontal plane just to push it away from the terrain. The noise could be a map / texture that drives the tessellation / displacement. There might also be some mesh <==> terrain blending happening