Search Unity

Light Probes and Dynamic Batching

Discussion in 'General Graphics' started by skateborden, Oct 30, 2015.

  1. skateborden

    skateborden

    Joined:
    Apr 1, 2009
    Posts:
    35
    I have objects that use the same material and are lit by light probes, but are not dynamically batching. If I uncheck "use Light Probes" on their Mesh Renderers they dynamically batch.

    Maybe this is the intended behavior. I can't find any information about it anywhere. Lighting information is being applied to each individual object, so maybe they have to be drawn separately. It sure would be nice if they could be lit by light probes and dynamically batch though.
     
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    This is the intended behaviour for now. Because currently light probes require an origin to function, and the origin of a batched mesh is never going to be what you want.

    Probes will have 3D textures at some point, Unity is working on it, which will fix these issues as well as increase quality. Mostly, increase quality. Also, instancing is coming. I can't say more because the roadmap will show things closer to date and this is Unity staff's area.

    TLDR: intended behaviour for now.
     
    big_march and theANMATOR2b like this.
  3. skateborden

    skateborden

    Joined:
    Apr 1, 2009
    Posts:
    35
    Good to know, thanks.
     
  4. big_march

    big_march

    Joined:
    Mar 2, 2015
    Posts:
    38
    I'v spend several hours on this issue until found this.
    Unity 5.6.3 this still exist.
    It's better to add this "intended behaviour" to the document "Draw Call Batching".
    Thanks for the answer.
     
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hi, you probably can file a bug report for misleading docs etc if that isn't clear in any way. I believe they use a 3D texture with baked probe data to get around this limitation now in 5.4 - have a look to see if it meets your needs.
     
  6. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,342
    They can use a 3D texture, referred to as a Light Probe Proxy Volume, to get around this limitation.
    https://blogs.unity3d.com/2016/02/03/light-probe-proxy-volume-5-4-feature-showcase/
    https://docs.unity3d.com/Manual/class-LightProbeProxyVolume.html

    You can create a LightProbeProxyVolume on a parent object and place all of the objects you want to be effected as children, or set the LightProbeProxyVolume to use custom bounds and use the Proxy Volume Override. Unfortunately it's not as automatic as just using light probes, and you still need light probes to be placed for the Proxy Volumes to get their lighting from.
     
  7. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    Alos we need set anchor override to somewhere for every object. Same for all object that need to be batching.
     
    Martin_H likes this.