I keep seeing that it’s a ‘high priority’ fix from posts months and months ago. Is there any ETA? (or work around or solution)
The issue : If you have some static objects and some dynamic objects, and your directional light is set to Mixed, the dynamic objects do not cast shadows.
Also when will mixed mode and painted on trees on the terrain baking shadows going to be fixed. We want the dual lightmaps the way beast did it but to be working with the enlighten system. There’s no way to do VAST landscapes in unity 5 with all real-time shadows, just kills fps. We desperately need the terrain to bake in shadows while using mixed mode which is supposed to mimic the way dual lightmaps worked in beast, so we dictate the realtime shadow distance. Please Unity at ETA on this working or how it will work some of us are still using 4.6 and can’t switch over until this works completely.
For really huge landscapes, could you perhaps try with very simplified separate shadowcasters on the Lod versions of the larger assets? And use layer culling on the camera for all the smaller assets(or lod). Layer culling is really quick to setup though. Then set the shadow range really far back. Depends on the type of scene, but maybe worth a try while waiting for another solution from unity?
I’m not sure how’s that gonna work.What you propose appears to be completely unrelated to mixed mode shadows issue.
As far as I can tell, unity draws shadows properly. It doesn’t paint BLACK over the scene, but instead doesn’t add lighting in the shaded region. So there’s no shadowcaster without a light source.
The issue here is that in mixed mode dynamic and baked lighting doesn’t mix as it should. Baked lighting work, but there’s no dynamic shadows. So, no matter how pretty your baked scene is, it will look very old school, because there’s no shadow under character and it floats mid-air. (That’s despite the fact that the scene probably required 48-core CPU, 80 gigabytes of RAM and 15hours to bake it.)
As far as I can tell, short of replacing ENTIRE lighting pipeline with some other solution, this is completely unfixable. In some pointy-and-clicky top-down action game you could employ technology from the 1990s…2000s and draw a “blob” below the character. But in 3rd person game with any semblance of high quality that won’t be acceptable.
The first mention of this issue originate from March. Is anybody even working on it?
Yeah, its a pretty critical problem. And also, mixed light should only work for directional lights. Quite limiting.
The whole situation is quite problematic for mobile and large scenes. The shadow caster only “solution” wouldn’t fix the mixed light problem, but it might enable you to get shadows from objects further away. Bake local lights that doesnt affect the character (much), as well as the sky + ambient occlusion.
There are so many issues with lighting, many serious issues that should not have been there at launch, and for sure not now, so long after.
It seems they are quite overwhelmed in many ways and since Enlighten is not done by unity, well that probably makes it even more timeconsuming/complicated to fix or add things.
Sigh. That’s bad news to me. Can link to official documentation reference that proves that statement, if you don’t mind?
On the side note it would be great if that tool had some sort of GPU acceleration. I have GPU with CUDA support and the fact that it is doing nothing useful during 9 hour long baking process is kinda ticking me off.
Nothing in official documentation as far as I know, it was only confirmed by Kasper Engelstoft in this forum post: Unity 5 - How to light large scenes. - Unity Engine - Unity Discussions
I asked about the same thing, mixed lights not working etc… This was back in march, and they would give us a fix “soon”.
Oh well…
I think gpu acceleration is on the roadmap(as well as LAN building of lightmaps), but it’s not set to a specific release. Great stuff, but we can’t know when it will be finished. And I have to admit I would prefer them to fix serious bugs first, like mixed, broken gamma, broken probes and so on…
Hi! We have experimented with distributed baking, but not CUDA. Deterministic output is very important and executing on the CPU makes it a lot easier to ensure deterministic output (and we don’t have to force people to buy a specific GPU).
Yes, we are focusing on bugfixing: light probes, gamma/linear consistency and mixed mode lighting is getting all our attention before we will resume work on the LAN baking hackweek project.
IIRC modern GPUs are at least supposed to confirm to IEEE spec regarding floating point processing, might be wrong about it. I believe output should be deterministic.
When there’s no GPU, CUDA falls back to CPU. Aside from CUDA there’s also OpenCL.
In addition to that there’s ocelot project distributed under BSD license which is supposed to allow CUDA code to run on ATI hardware. Not sure about project status though.
In any case aside from mixed baking issue the whole baking framework desperately needs at least dedicated standalone “baker” software or at least some way to distribute the load across several machines, even if there’s no CUDA support. That’s mostly because baking process is incredibly resource hungry, and can easily allocate 20GB of RAM (saw reports of 80GB of Ram being used) and hit the swap on machine that has less. Hitting the swap usually means that computer will be unusable for anything else for a while.
Of course, that’s unless you can make the baking process less resource hungry through some sort of algorithmic optimization.
I have some experience with OpenCL from a previous job and even though the hardware we used were compliant, we still got undeterministic output across different driver versions. It wasn’t stable enough so we went back to a CPU implementation.
We do have some algorithmic improvements coming with our upgrade to Enlighten 3.02, which means that precompute and light transport will be faster in Unity 5.3.
I’d also like to know if for unity terrains when in directional specular mode if painted on trees will have baked shadows finally. Been waiting on this since unity 5 was in beta.
Hmm. There’s still CUDA+Project ocelot option. In addition to that Unity already claims to support compute shaders. So it looks like you have part of the required framework in place. Might be wrong about it, haven’t seen engine source. I’m not entirely sure if it is even necessary to have fully identical output as long as results are close enough to each other without causing too much hassle. I mean, I think some of the rendering techniques used in 3D (photon mapping) are not necessarily deterministic either, the renderer just keeps working till results are good enough.
My point was that this task is computationally expensive and it would be nice to have an option to speed things up with hardware. I offered OpenCL as alternative known option (haven’t had much experience with it).
Also, would be nice to know ETA for the next releases.