Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Graphics SpeedTree billboard re-factor / billboard lighting issue

Discussion in '5.2 Beta' started by sqallpl, Jul 2, 2015.

  1. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    1. Can you share more info about that update? What's actually planned?

    2. Would you add a feature that would allow to use billboards with dynamic batching that would be updated dynamically by ambient light (dynamic GI) (light probes like for other dynamic objects or some global input)? I've already reported this issue some time ago. Is this included in this re-factor? (to moderators: it's not some random bugfix request, as its related to thing that's actually listed in the beta's information preview thread, thank you ;))

    At this moment, when the usage of light probes for SpeedTree billboards is turned off (it must be turned off to still use dynamic batching), all SpeedTree billboards use static lighting from the moment when the GI data was baked.

    When the ambient lighting is changed, billboards are not affected. They are always using same, static lighting. In effect you can,for example, have tons of bright billboards on the screen, even if sky is dark, because they still use the input from the moment when the data was baked (in this case it was baked when the sky was bright/daytime).

    In short words: from my tests it looks like it's not possible to have dynamic time of day with SpeedTree billboards (standard, old Unity trees probably too) if you want to use dynamic batching for them (light probes usage turned off).



    It would be nice to have a feature that would just simply add dynamic lighting to the billboards and still allow them to use dynamic batching. Maybe one global light probe for all trees would work? But what about scenes where trees are placed in different environments (lets say caves/underground). They would still be problematic with this approach (global light probe is placed above the ground (daytime) and billboards that are placed underground still use it so they are bright)?

    Maybe there is some way to have dynamically batched billboards that would still use the nearest light probes like other dynamic objects so the ambient input would be correct for them?
     
    Last edited: Jul 2, 2015
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The problem with light probes is that light probes work per mesh, and dynamic batching is effectively creating a mesh, so it would always look incorrect. To work around this they'd have to think about blending them per pixel or per vert, and that would probably get a bit expensive. I'd like to know what the plan is here too.

    Clearly it's an important issue because you know, nobody wants Unity features that can't be used. In my case I'll probably have to remove the light probe contribution from all the lods so that it would at least look consistent.
     
    sqallpl likes this.
  3. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    Billboards that would simply use the actual (dynamic) ambient input would probably work for most scenarios (not all cases anyway) but at this moment lighting is not updated for them when the ambient source is changed. It's just static and not updated dynamically.
     
  4. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    I'm always curious why unity not add some kind of deferred light probe which doesn't need specific mesh to work?
     
  5. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Anyone know if the performance with SpeedTree billboards is any faster? I eventually went back to Unity trees for performance reasons.
     
  6. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    Bump.

    Any chance that it would be fixed/changed in Unity 5.2? Can you tell us more about the billboard re-factor please? Thank you.