Is it possible to transfer Light Probe Baked Data from Blender to Unity?

I much prefer baking lighting in blender due to a higher degree of control and better quality results. However, the main reason I can’t at the moment is because I need light probe data as well, which means lighting will have to be configured in Unity anyway.

However, if there was a way to transfer the captured light probe data from Blender to Unity, then total baking could occur in Blender.

I believe this would be quite difficult, as I think blender uses irradiance maps and Unity uses spherical harmonics, I would be willing to try, but first I’d need to know if it’s even possible to programmatically set those values in a Unity LightProbe?

You mean EEVEE baked lighting?

Isn’t that basically just APV?

Hi! I would like to know answer to this, unity APV doesn’t seem to bake at all and everytime runs out of memory switching to CPU making it incredibly slow.

Eevee baked lighting uses Irridiance volume and unity Light Probes use spherical harmonics (as far as I’m aware!) so it might be tricky to convert one to the other.

APV has similar (and imo better) behavior. It’s worth looking into if you’re using Unity 6.

Unity 6’s New Global Illumination Lighting Features

It is possible to override probe data with whatever you desire via this binding Unity - Scripting API: LightProbes.bakedProbes

I can’t comment on how to extract the data from EEVEE, or which format it is in, as I’ve never used the software, but I can provide details on the probe format expected by Unity if need be.

The quick TL;DR is that Unity expects to be given irradiance projected into the spherical harmonics basis, multiplied by the constant part of each basis function, and divided by PI.

This seems feasible to me in principle, but will probably involve getting your hands dirty.

1 Like