Download

Whats Wrong with Epic? Dynamic Lighting, GI and Shadows!!

Hi folks, I’m new at forum but I have been working with Unreal Engine 4 for 2 years and I have a Question: Whats Wrong with Epic? Acording to this article Epic Games have been working on a Dynamic Lighting/GI solution since 2013 but there is not any Dynamic Lighting/GI solution (except old LPV tech which is still in development and has a bad peformance) I have worked with Cryengine3 for 2 years before Unreal, when I changed engine I was really happy with Unreal 4 because of a lot of advantages. But I’m developing a open world Survive game with Unreal now and I have teribble moments with Unreal. Some examples:
1- Dynamic Cascade Shadows are really unstable and low quality with a huge performance cost also there is many bugs in shadows about shadow bias and blur.
2- LPV. I know LPV is not best solution but LPV effects Performance as much as VXGI!! According to my experimence there is just 10-15% performance difference betwen edited high quality LPV and optimized VXGI. And as you know VXGI is too expensive.
3- Performance is really big problem with Dynamic Lighting. When I turn off directional light fps increas significantly. Epic Games please handle it.
I want to a logical explanation this “dynamic lighting” situation from a member or Epic staff. Can you believe that we CAN NOT develop our game becasue of these stupid problems. Please these problems will be solved with 4.16.

Do it yourself. It’s open source.

MASSIVE Can, It may be a little hard to accept but Seehr is right i think. Dynamic lighting is always hard in large scale scenes, you have to deal wih performance vs quality. There is also so many documents, tutorials, tips on web as you know. Good luck with your scene.

I find it extremely hard to believe that you literally cannot develop your game based off a couple lighting performance issues. There are countless ways to optimize, fake, or work around issues that present themselves. Start digging into some of the GDC presentations for the games of Horizon Zero Dawn, Star Wars Battlefront, Ghost Recon Wildlands, and look at what they encountered and how they got around them.

Coming onto the board and just creating a flame post about how horrible you think the engine is wont help you. Why not provide specific examples of what your working on and scenes where you are encountering issues so we can help you work them out?

Epic hasn’t done it yet because it’s hard, computationally one of the most expensive rendering things you can do and Epic have to create a solution that scales probably at least to PS4. If you want GI now, use VXGI and scale it down and make modifications. Daniel Wright started working on an implementation of DFGI / Surfel GI a year or so ago, but had to put it on hold because of other priorities. Epic aren’t that huge in terms of staff who are able to develop that kind of tech.

Believe it or not, the requirement for DGI actually applies to a very small (but apparently vocal) percentage of the engines overall user base.

Nah

Situationally

I’d say implementation peculiarities, but generally, yes.

I’m among those, who think that efforts put into distance fields development would have been better allocated in something else, like LPV but frankly, real-time GI is overrated. Or to be more precise, number of projects, where it would be beneficial is overrated.

Pretty sure that if your team is up for development of open world game with dynamic lighting conditions, tossing in some workhours into dynamic lighting optimization would not hurt you. I don’t think that problems, that you mentioned, can realistically stop development of game. Complicate-maybe. Stop-no.

This is a flippant comment and I don’t think that it adds anything to the discussion. I’ve noticed more and more of these types of responses on the forum lately.

The point of an engine is to take care of these types of technical issues so that we can make games, not tech. Therefore, I think that the OP has a valid point, though his frustration is clearly showing. While the current lighting system is suitable and excellent for many styles of games, it is not suitable for many new types of games that are emerging, such as those with very large dynamic worlds or even procedurally generated worlds. Deathrey is certainly right, the number of projects that would benefit from it is overstated.

The fact is, Unity has a semi-dynamic solution for this with Enlighten and Crytek has conquered this years ago. VXGI is pretty good, but those other implementations are better.

It might not be in Epic’s interest to pursue dynamic GI given the types of projects people develop with Unreal, but there is clearly a strong desire by many for it. I personally think that there is a large number of projects that are being held back without it.

I personally think that there is not a real solution in the market about Dynamic GI at this moment, most of them are just demos in the siggraph hehe, you can watch that beautiful demos from NVIDIA about cool particles and bla bla, but nobody use that in your games, because is unreal for production, the most advanced solution until now, “I guest”,comes from games like GTA5 or Assassin creed, but hey!, that companies have armies as developers and they have their own engines

Reduce the shadow distance and use far shadow cascades. Disable objects that don’t need to be casting shadows, especially far shadows (anything underneath a larger object already casting a shadow, for instance). Optimize for your target platform. Use contact shadows to kick up the detail in some missing spaces. Be glad you’re not making a game for the PS2, or the PS1.

Pixar did not have enough money nor the technology available to put indirect lighting in Finding Nemo, and that was rendered by one of the world’s largest supercomputers owned by ILM. Now you want this tech running in realtime in a video game on 4-year-old relatively inexpensive consumer-level hardware. We’re not there yet. Patience. Use direct lighting with skylights and ambient occlusion to provide local shadowing. If you want something better than that we have precomputed solutions. Static lights allow you to set the mood of any environment, so you can fill the world with lights to your heart’s content. Otherwise, you’ll just have to wait. I imagine Epic made the decision to focus more on broadening the engine’s reach and less on dynamic lighting. Even the most powerful graphics cards are brought to their knees with dynamic lighting. Games are just starting to feature this sort of technology, and it’s still a child in terms of development. I am making a game right now that has been optimized to hell and back and I still can’t get it to run 60 FPS 1080p with LPV, and this is on a GTX 1070. I am always moments away from making the decision to kick it in the sand and go back to direct lighting.

saywhat2.png

Agreed on most points, however I have to say that shadow cascades still have some serious problems for medium and wide shots, they lose their quality and detail quickly, the option is there to readjust the quality per scene on a fixed camera but not when things are moving and this issue further becomes a problem when you are dealing with long lenses.

I would love to have GI but these days it is unrealistic with performance, plus I haven’t seen good GI solutions running on any available engine, half baked solutions mostly.

And I have yet to see GI run in an open world game running on a console.

For interior exterior lighting in real time, other solutions could be developed to address the problem.

It’s funny how every time someone points their fingers towards some long time ignored issues they get “workaround”, “do it yourself” type of replies. Yes there are workarounds and do it yourself ways of helping an issue but that doesn’t address the main concern -> it shouldn’t require tons of workarounds and shouldn’t require bunch of sacrifices in visuals to make up for the performance bottlenecks that can be avoided in the first place.

We’re game developers here, we’re not engine developers with as much resources to make modifications to the engine and make it suitable for open world needs and maintain it from then on.

Regarding real time G.I, unlike what most people in this and other threads say IS NOT unrealistic and impossible. Almost every game being developed on Cryengine is now taking advantage of SVOTI which is production ready and runs pretty butter smooth. But as long as you close your eyes on that it seems unrealistic and impossible because you’re still carrying your very old perceptions about real time G.I with you.

However, is real time G.I realistic thing to expect from Epic? definitely not. It’s a new addition to UE4’s lighting, while the base dynamic lighting itself still needs massive performance improvements before any other fancy features get added to it i.e open world games with dynamic directional light suffer major performance issues, and then volumetric lighting and fog only adds to that performance loss.

Lastly, there are countless threads like this. These type of conversations aren’t productive without Epic rendering engineers jumping in to engage the community and collect feedback with the intention of making improvements but not stickies that fall off the table after months or years.

You can continue the discussion hoping someone from Epic will jump in and flip the card in your favor.

Half baked solution is the best solution at the moment for open world games made in UE4.
We choose this solution after almost 1.5 year of studying and researching.
Cascade shadow lighting is unstable in certain situations, for example in our interior the external directional light is not culled correctly and we still have Shadow Depths killing our framerate.
If you optimize your assets with all the tool the engine gives, you can achieve 60 fps on a gtx 970 with some nice graphics.
Unreal Engine is not 100% ready for open world games, but it’s near to it every day and every update that comes to us, so let’s just have patience and remember that it’s free and open source, however it doesn’t mean that answers like “do it yourself” are acceptable, imho.

It’s free only if you are a hobbyist, not when you produce a game with it (with the rightful and well deserved percentage to Epic).

Yes the staff at Epic are probably stretched thin, If only they stopped trying to please everybody with the engine and less VR editing features as well : ). But as someone pointed out lots of the dynamic light and shadow issues/performance need fixing first before any GI implementations.

On a sidenote: While some devs have all the right to ask for GI implementations, I would say that by having GI in the level doesn’t necessarily or magically make a scene look better, you can achieve good results without GI if lighting is setup correctly. Some examples like Horizon Zero Dawn or even The Witcher in some instances come to mind. Open world games are already a huge production (unless you are creating something very very simplistic or stylised) which is why you probably don’t see large studios using UE4 complaining here, because if they can afford to do open world games they will afford to build their own GI for it if they need to and wouldn’t bother waiting for Epic. The rest of us here who need good GI are at Epic’s mercy.

I am more interested to see a GI/indirect lighting hybrid that would work well for moving objects characters/faces, i think it is still very tough to get good looking character under just skylighting without direct contribution from a light source especially to have sss react to it and reflective areas to work under proper shading.

There aren’t many games that use full-scale dynamic shadow rendering without issues. Everyone has to compromise. I think Lightmass is stable enough now that you can combine baked shadows with a short cascade up front so the cost isn’t that bad for scenes with many objects (in the past, foliage shadowing was too buggy). Polycount reduction and LOD/culling can certainly help. You can disable dynamic shadows on objects that really don’t need it (like landscapes) and that would be a viable method if you don’t have a dynamic scene.

SVOTI/SVOGI would be pretty cool, as this was initially UE4’s greatest planned feature. It would be nice if Epic revisited it for higher end hardware. But I can also see how complicated this will be not only in terms of quality and performance, but also regarding the breadth of material and rendering options as well. Epic wants a solution that works on all hardware and all platforms so the same game that runs on a PC can also run on the PS4. It would be a feat of engineering if it actually does pan out.

It shouldn’t be necessarily running on “all hardware and all platforms”. It can be optional feature people can simply disable in game settings, same way as they disable tessellation and parallax on poor PCs. As for consoles, the new consoles that are coming out are actually more powerful than my PC so if I can get ~100 frames with SVOTI on my mainstream PC that means there’s no limitations for having real time G.I enabled on consoles as well. Still, capping PC to what consoles can do is a big mistake as PC is still collectively generating the most profits every year.

I was thinking exactly the same while reading…
Also “SVOTI” is the best real-time sht I’ve ever seen and takes something like only 3ms to render; crazy!

I agree with Maximum-Dev on this one - not every feature has to run on every platform. There isn’t a multiplatform game on earth that’s like that with 100% feature parity. You might cut subsurface scattering for one, or kill some dynamic shadows on another, turn off tessellation or POM, run at a lower resolution, or turn off antialiasing. The entire point of an options menu is to give the developer the ability to use higher end features without worrying about making the game unplayable for anyone on mid/low spec machines.

Not every game on Unreal is even targeting multiple platforms to begin with. For every project that even has a license to develop for console, there are 100 others that are just focusing on PC that could really benefit from at least having the option. And, if you -are- targeting consoles, there ARE console games currently that have dynamic global illumination. They’re few and far between, but they exist, and with the PS4 Pro and Project Scorpio both going to be available by the end of the year, it’s going to become a lot more common since you have all this extra power.

And, I know I’ve made this point quite a few times in the past, dynamic GI is useful for more than just the finished game. Even if you’re making a 100% baked lighting scene, there is still incredible value in being able to preview what the baked lighting might look like as you work and just bake it all down when you’re finished. For lighting, it’s a great thing to have there to work with, and potentially saves a lot of time if you end up having a lot of iterations. So even -if- I agreed with you that it’s not viable for a finished game in the end, it would still very much have a place in the editor.

I’ve not seen a Dev commenting on realtime GI ever since RyanB was forced to abandon his work on it and by now that’s 2 decades ago. There hasn’t been a trace of vapor on Trello either. Instead we get VR update heaven for people running around with nerdy glasses and 2 controllers making a level the masochistic way cause Mike loves that. Somehow to me that feels like a very strange set of priorities but what do I know.

Don’t worry about that, we have worse problems to deal with. i.e SSS under Skylight is broken and the ticket for fixing it is backlogged. :wink:
@ginwakeup, The engine is not free. Epic charges 5% for anything you release. Which despite being open source, makes it valid for users to expect Epic to do something for them once they have an issue they can’t address on their own.

The SSS thing is extremely worrying.