Search Unity

Disgusting Shadow Seams with Precomp. Realtime GI

Discussion in 'Global Illumination' started by S-Miyahon, Nov 28, 2016.

  1. S-Miyahon

    S-Miyahon

    Joined:
    Jun 30, 2016
    Posts:
    12
    My assets without realtime GI or lightmap

    My assets with realtime GI enabled


    My question: How do I get rid of these seams?
    It seems that some parts of the meshes are simply ignored by the GI. No amount of fiddling with the GI parameters would let me fix it.
    This is intolerable. Nobody can make games in Unity under these circumstances.
     
    Last edited: Nov 28, 2016
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,795
    Are hard edges there? How do your lightmap UVs look? If those rocks are pretty small (can't tell from the screenshots) maybe don't have them as lightmap static and have them use light probes?
     
  3. S-Miyahon

    S-Miyahon

    Joined:
    Jun 30, 2016
    Posts:
    12
    There are no hard edges on these models.
    However, the GI light seams are exactly where my UV seams for the diffuse texture are on the UV0 channel. I'm unsure what the connection is here, since, as far as I know, Realtime GI only uses auto-generated UV data that Unity automatically stores in UV2.

    Should Unity's Realtime GI, contrary to what everybody says, somehow be using data from UV0, then I'd guess that some of those UV islands/shells simply aren't receiving enough GI data to be lit properly.
    In that case, the question would be: Why? And which slider in the GI Parameters window fixes this?

    You must mean those that are usually stored on UV1. Well, they don't exist, since they're not needed for Realtime GI and I'm not baking any lightmaps.

    That would be my very last option. But it's a really dirty workaround that I want to avoid at all costs.
     
  4. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,795
    I don't think that's true. Yes, unity repacks, stretches and sometimes splits and sometimes merges the UVs, but they are still based on the UVs you supply it.

    So this makes sense now, no?
     
  5. Ysgramor

    Ysgramor

    Joined:
    Jan 23, 2014
    Posts:
    69
    try to use ligt probe proxy volume
     
  6. S-Miyahon

    S-Miyahon

    Joined:
    Jun 30, 2016
    Posts:
    12
    @AcidArrow
    When you activate Realtime GI, whatever is on your UV2 channel is completely ignored and replaced with something that Unity generates automatically, similar to what happens to the UV1 channel if you activate "Generate Lighmap UVs" on a model.
    Not at all. Realtime GI shouldn't be using the UV0 unwrap.

    @Ysgramor
    That's only useful for skinned meshes or particle systems according to the documentation. My meshes are completely static. But I'll gladly experiment a bit more with this.

    I'm thinking these black spots may have something to do with the Irradiance Budget, Irradiance Quality and/or Backface Tolerance of the GI. Sadly, nobody except the Unity tech guys seem to even understand what these sliders really do.
     
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,795
    What I'm telling you is that's not exactly right.

    It bases the UVs it makes on your UV1, or UV0. It splits, merges, stretches and repacks stuff, sure, but it's still based on what you supply to it. Especially if you have preserve UVs ticked.

    If what you are saying is true and it generates UVs from scratch, then it should work even if you delete UV0 (so your model has no UVs at all), right? Try that please.
     
  8. Ysgramor

    Ysgramor

    Joined:
    Jan 23, 2014
    Posts:
    69
    try it , coz someone solved that wrong gi even with static object, dont forget to add proxy volume as affecting probe for that object