If you’re curious about what the future of real-time graphics and next-gen consoles are going to look like, Epic Games just announced Unreal Engine 5 (UE5) with an amazing demo, running on a PlayStation 5, that will put many PC games to shame.
A video is worth a million words, so take a look before we dive into just how technically impressive this is. You’ll probably want to turn the quality up to 4K.
If you’d like to read about it, you can view Epic’s full announcement here.
Nanite Puts An End To Polygon Budgets
When designing a virtual game world, there’s one thing you have to consider at all times: performance. Games are designed to run on a wide range of hardware, from $2000 enthusiast gaming PCs to $300 consoles. Because of this, games are optimized around polygon count, or polycount.
Even all these years later, computers still really suck at drawing polygons. Granted, they’re much more powerful than they were a decade ago, and game scenes with polycounts in the millions can be cranked out many times per second. But add too many of them, and your game will slowly start looking like a Powerpoint presentation.
This soft limit of polygons is known as the polygon budget, and everything rendered on the screen must fit into this budget.
Of course, like all things in the game industry, there are hacks to get around this somewhat. Nearly every game nowadays uses some form of Level of Detail scaling, or LOD. Things far away from the camera are swapped out for lower detail models. Usually, this is done fairly smoothly, with 4 or more different models made ahead of time. This way, you don’t need to worry so much about objects far away being over-rendered since only the stuff right next to you (that you’re actually looking at) is rendered at full quality.
LOD 0 is the highest resolution model and is what you’ll be shown if you go right up close and stick your face next to a rock. If you move away a bit, the engine will swap that out for LOD 1, and so on. All of these different LODs usually need to be made by the artist ahead of time, although Unreal Engine 4 has a very good tool for auto-generating them.
But even LOD 0 isn’t the real, full quality mesh. When an artist is working on, for example, a rock, they’re working with meshes that have hundreds of times more polygons, often into the tens of millions for single objects. Of course, a single one of these assets would fill up a good chunk of the polygon budget.
With UE5, Epic Games is adamant that it’s gotten rid of this concept entirely with a new technology called Nanite. The claim is that, with Nanite, there are “no more polygon count budgets, polygon memory budgets, or draw count budgets; there is no need to bake details to normal maps or manually author LODs; and there is no loss in quality.”
In the demo, at 2:20, they show what was the real jaw-dropper for me. Every triangle is rendered with a different color, and there are so many of them that it looks like static on an old CRT. I had to switch the quality to 4K and fullscreen the video, and even then, the YouTube compression algorithm wasn’t able to handle that much detail in motion. In a regular game, we would call this overdraw, where you’re far enough away from an object that the polygons become unnecessary, and you should tweak your LOD settings as it’s usually excessive.
With Nanite, they’re reveling in the excess. You can drop in a full, film quality mesh straight from a 3D modeling program like Zbrush or Maya and not have to worry at all about LOD levels or creating an optimized LOD 0 mesh and bake the extra details into normal maps. The engine handles it all for you, automatically. This leads to insanely realistic games, like the demo, shown that look like scenes straight from a Pixar movie. Perfect quality, all the time.
Under the hood, it’s likely using something similar to LOD levels, since the hardware it’s running on hasn’t improved that much. They still can’t tell your GPU to go and render a billion polygons without it bursting into flames. But, it can convert those billion polygons into something more reasonable, in real-time, and only render what’s actually important, allowing artists to create beautiful scenes with great performance.
Though in practice, you’ll likely still see artists baking gigantic polycount meshes down to something a bit more suitable for Nanite, but the polycount budget seems to be more of a suggestion now rather than a rule.
Of course, with massive assets comes massive file sizes—games of the future will be measured in hundreds of gigabytes. However, since you likely won’t have to store multiple LOD copies of the same asset on disk, the problem won’t be as severe, and with both next-gen consoles coming equipped with fast SSDs, load times likely won’t suffer.
Lumen Is Next-Gen Lighting
Nanite is already crazy enough, but Lumen manages to take the cake here. Games have had good lighting for a while now, using baked lightmaps. These generated (very slowly) in the editor, on the game developer’s PC. When the game runs on a console, it can use these lightmaps to speed up the rendering significantly. A tradeoff of disk space for performance.
There’s one downside—it’s static. Dynamic lighting, where you’re able to move the lights around, is pretty hard to do. Current gen games are of course able to handle it, but with a lot of concessions to be made. It wasn’t until recently, with hardware accelerated raytracing, that fully dynamic lighting became possible.
With Lumen, Epic Games is claiming that it’s replaced the need for static lightmaps entirely. Lumen is a fully dynamic global illumination system that runs in realtime and is presumably fast enough to be more enjoyable than a slideshow.
Take a look at 5:15 in the video. The character walks into a dark corridor, and the lighting on her model smoothly transitions to match the environment. Then, she pulls out a light, and the statues next to her shine with gorgeous metallic reflections. It doesn’t have to be a mirror to benefit from reflections—everything reflects light, and doing it this way ensures that environments will always look true to life.
What you end up with is a lighting system that, much like Nanite, takes the performance headache away from developers worrying about how to properly light their scene.
It also plays very nicely with Nanite. At 5:55, we get a look at an incredibly complex statue, consisting of 33 million polygons, imported directly from Zbrush. Rendered with fully dynamic lighting. Somehow, as if by magic, the PS5 isn’t bursting into flames.
I suspect this is using some form of raytracing under the hood. Both next gen consoles—the PS5 and Xbox Series X—are going to be built on AMD’s upcoming RDNA 2 architecture, which will feature full raytracing support at very fast speeds. Nvidia’s upcoming Ampere lineup of graphics cards will, according to current rumors, be speeding up raytracing performance significantly, a generational leap over the current RTX cards which can barely run raytraced scenes at 60 FPS.
If it is powered by raytracing, you can say goodbye to great performance with it on most of the current gen graphics cards. Games will likely have to fall back to current rendering techniques for users with older (or, more accurately, now outdated) hardware.
Raytracing is certainly the future, and if that wasn’t clear enough already, these next-gen consoles are here to prove it. For PC users, having features come to consoles is a great thing, since it means that PC games will likely be getting these features as well.
Niagara VFX, Chaos Destruction Engine, Epic Online Services
Nanite and Lumen are the two main features announced today and are already generational improvements over UE4. However, they also mention Niagara and Chaos, which are two features already available in UE4 that will run nicely with Nanite and Lumen.
Niagara is a particle system engine that runs on the GPU and handles very complex particle simulations. Particles aren’t limited to smoke or fire; in the video, they use Niagara to simulate the movements of clouds of bats and beetles scuttling along the ground. It’s quite impressive, and a great addition to UE5’s toolkit.
Chaos is a destruction engine that handles everything involving breaking stuff. Presumably, this works very well with the new Nanite technology, apparently without exploding your actual computer. It’s pretty cool, take a look:
The only new feature it’s announcing is, finally, the release of Epic Online Services. These are designed to compete with Steam, including features like friends list and presence, lobbies, matchmaking, P2P connectivity, data storage (save games), leaderboards, and statistics, and with voice chat coming later. It announced this a while ago but didn’t actually end up making it a reality until now.
Unreal Engine 4 Is Now Free for Up To A Million Dollars In Revenue
Currently, Epic Games charges a 5% royalty for using Unreal, a price that is well worth it for (in my slightly biased opinion) the best 3D game engine out there. However, starting retroactively on January 1st of this year, UE4 is now entirely free to use for the first $1,000,000 in revenue, which should make it a much more alluring choice for Indie developers.
It’s not clear if this pricing model is the same for UE5, but judging from Epic Game’s current direction, that’s likely the case. The transition from UE4 to UE5 is supposed to be fairly streamlined, so there shouldn’t be much reason not to make the switch.
Source: Epic Games