GI: Deprecated the directional specular lightmap mode in Unity 5.5, since it will disappear in Unity 5.6 (as part of the lighting modes functionality).
Directional specular lightmap is very important for my game and I dont see alternative for it in Lighting window preview 2
The alternative is to rely more on reflection probes/SSR and switch some of those lights to stationary (as they are called in the new 5.6 beta) so you can get “real” speculars.
I have the same question as OP.
Reflective probes and SSRR are on expensive side in deferred pipeline. I assume that if OP use baked lighting that means that performance is a bottleneck.
And regarding stationary lights. It’s a cool addition. I’ve been waiting for such functionality for very long time. But again. If performance is a bottleneck than stationary lights wouldn’t help. For example. Forward rendering pipeline gives good performance and we could get more or less good lightmaps with directional specular approach. But now we would need to use stationary lights. But there is a limit for number of pixel lights. And pixel light = more performance cost. Reflection probes works OK in forward rendering if there is one probe per room and rooms are separated objects. And rooms should have simple shape.
So it looks like that we have to find a workaround get specularity back without big performance hit.
I’d love to know official solution.
Because right now it looks like:
Oh, we’ve deprecated this feature in new update and we don’t have any alternatives for you. Good luck.
UPDATE:
It looks like that I’ve missed the update of Reflection probes for forward rendering path. They work just fine now. But deferred probes are broken
Forward rendering, box projections:
Deferred rendering, box projections:
Nah, sorry, probe blending issue is still there in forward rendering path:
Also, if graphics performance is a bottleneck, you shouldn’t be using Directional Specular in the first place, since it was quite expensive.
Means if you want some specularity, you can add a couple of realtime lights without shadows and you will have proper speculars and be on par performance wise.
I agree, it’s more expensive. But wouldn’t it be more expensive to use only reflection probes and realtime lights for specularity? I mean there would be way more than just 1-2 reflection probes/lights for scene like de_dust2 or similar, wouldn’t it?
And regarding adding lights it really depends on level setup. Night street with street lights. There probably would be a bit more than 2 lights.
But anyway, I’ve got your point. Unfortunately reflection probe isn’t a silver bullet.
Directional Specular wasn’t a silver bullet either though, I mean I experimented with it a lot early on and it was messing things too often to be usable (you sort of had to design the lighting around it, since if the scene had multiple strong sources of light, it would mess things up, and that was very restrictive, for me at least).
And the impact of lights, at least in deferred and without shadows, is only for the pixels they actually affect, so if they are out of view, they don’t impact performance at all. And reflection probes, when they are not realtime and not box projected, are pretty cheap.
In short, it’s kind of a bummer that Directional Specular worked for you and that’s it’s not available any more, but it was a deeply flawed method. And I think between adding some realtime lights and using reflection probes, you can get better results with similar performance.
I see your points.
I’ve tried to work with deferred rendering in my current project. It has it’s pros and cons. And at this point in time cons overweight pros for me.
But I dont have “a couple of realtime lights”, I have hundreds and it works great (really, 60 fps) even on very slow notebook with Directional Specular. I have a ship with up to 100 separated rooms (several point lights in each) and you can see all rooms at one time. Look at this screenshot, here is only 10 rooms (~50-150 point lights), but you can zoom out and see whole ship and hundreds of rooms,
Also you can zoom in and see only one room on full screen. And I cant switch off the shadows of point lights, because light of neighbour room will affect central room and it will work very slowly (hundreds of point lights, remember?)
And now, in Unity 5.4 it works fast (60 fps) even on low-end devices, I have beautiful shadows and beautiful reflections.
Try to use Shadowmask approach. Not Distance Shadowmask. I’ve got quite good results in terms of performance and visual quality with Shadowmask approach. If it fits in your performance budget try to use deferred rendering.
I use forward rendering + reflection probes + emissive materials. One main light + multiple emissive materials as secondary lights + reflection probes. If I remember correctly, realtime shadows are true resource hogs especially for point lights. So having possibility to bake those shadows is a big win.
Anyway good luck and keep up the good work.
P.S. I’ve experimented with fully baked lighting some time ago. The issue with baked light sources is that they aren’t added to reflection probes so get flat image without any specularity. Try to add emissive sphere to separated layer which would be ignored by the camera but not reflection probe. Here is a short video.
The main problem, that in 5.6 version I can get only bad and slow result while 5.4 version gives me cheap and beautiful result.
Shadowmask approach is bad because of “Shadows are handled with realtime shadows”. I have hundreds of point light, its very slow. And it renders the similar picture.
I have similar concerns to @TheShock . We’re creating an atmospheric VR game, lighting, shadows and spec so important the get the atmospheric tone right. We are satisfied with Directional Specular, we have 10 plus lights in our scene and can run at a stable 90fps.
So, is the solution to bake all our lights as Directional then duplicate the lights as non-shadow casters? Aren’t all those lights going to destroy performance especially considering we’re forward rendering?