Unreal Engine relies on two things large metaverses don't have - precomputation of entire scenes in the creation tools, and extensive asset reuse. In a real metaverse, there are thousands of creators, all making assets. Second Life has over 60,000 different chairs for sale. Each was created independently. The world is assembled dynamically. There is no external "level editor" for a good metaverse, only object editors. You build the world in the world. Although some of the low-end metaverses, like Decentraland, do make you edit your entire land parcel externally and upload it as a unit.
Epic might eventually offer a more dynamic system. It would involve back-end servers doing much of the optimization that the Unreal Editor does now. Maybe in UE6 or UE7. It's certainly possible, but a big job.
Nanite does not eliminate levels of detail. It just does them within meshes, rather than external to them. In most computer graphics, you have explicit objects which appear more than once. That's called instancing. But within a mesh, there's no optimizing out duplicate submeshes. That's what Nanite does. A Nanite mesh, rather than being big lists of vertices and triangles, is a directed acyclic graph, in which common subsections are combined. So, if you have a huge area of buildings, but not that many different windows, the windows are unduplicated.
Notice that in the UE5 demos, they have lots of dirt and rocks, lots of copies of the same statue, and buildings which have a lot of repetition. That's the key here. Those are all things for which this optimization works. Even then, the download for the Matrix Awakens demo is about 16GB, which expands to about 250GB after decompression.
The instancing is recursive. A good example would be a long chain-link fence. If you zoom in close enough, you can see the bends in the wire and the flaws in the galvanizing. Maybe now and then there's a piece of trash or a leaf stuck in the fence. If you zoom out far enough, you can see kilometers of fence. That can all be one Nanite mesh. And if you need to cut a hole in the fence somewhere, that will work.
The level of detail system is automatic. The mesh representation contains within it level of detail information. Nearer areas go further down the DAG to higher levels of detail. There's a clever geometry trick which makes the transitions look good. In general, the idea is to maintain about one triangle per screen pixel. The key to all this is that there are only so many pixels on the screen, and that controls how much geometry detail needs to be displayed. So there are still levels of detail, at a fine-grained level.
All this, unfortunately, turns out to be badly matched to what GPUs do. So about 60-70% of the rendering is done in the main CPUs. Nanite really needs a new generation of GPUs, ones that are good at chasing around complex data structures with internal links and offsets.
If you want to understand Nanite, here's the 155 page paper.[1] There's a video which goes with that.
It's brilliant, but it's not magic.
Disagree. A good metaverse (not the corporate hellscape metaverse of SnowCrash), requires copyleft, and UE is not it. I was devving in UE since 4 was a paid product, until I realized there are a lot of questionable practices by Epic and TS, and that the license was actually quite bad, and moved into Godot. Are there missing features? Yes, but many features in 4 are quite nice, and not too far behind UE/Unity.
I had been thinking about my version of the metaverse for a long time and even before FB did their changeup, my conclusion was that this is exactly the reason the corporate metaverses will fail in the long run.
Look I'm no lover of Unreal or Unity and adore Godot but...
> Are there missing features? Yes, but many features in 4 are quite nice, and not too far behind UE/Unity.
Godot is about infinitely far behind from Unreal. That doesn't mean it's not useful, but Unreal is borderline research, cutting edge techniques, applied in a production engine. And Godot will continue to lag until they start putting out techniques before Unreal. Unreal has the advantage that they can just hire researchers before their papers are published.
Their business model is sane, sustainable, and pretty flexible.
> until I realized there are a lot of questionable practices by Epic and TS
Such as?
> and that the license was actually quite bad
In what ways? It's about the best commercial license I can imagine.
Most of the stuff people talk about as next gen is more like feature sugar, while the core of Godot has lots of the same core features in a different state. I recompile main branch almost daily, and things like Vulkan are working very well. Of course I'm not saying feature parity, but more to the point that despite the lack thereof, licensing itself is one of the things that does and will make Godot so powerful and why I think it or another FOSS engine like it will become much more than what people assume now.
I won't go too much into Epics lies about the engine and other issues (things like refusing all of the linux editor pr's and a community run one was better maintained, not releasing a launcher, using phone home stuff, to be fair this was UE4 days) TS talking lots shit about linux, pushing more launcher fragmentation via store exclusives, and other things that just showed me repeatedly Epic is not to be trusted... and thats before we even get to the license stuff.
Commercial licenses are bad, copyleft is good. Even for games, and sometimes I miss out on a few features by making almost all of my daily stack gpl-compat, but I also believe that computing is an inherently philosophical choice and I wish, more than anything on the topic, that people would get over their fear of selling copyleft software.
Tron fought for the user. Thats what copyleft does. Commercial licenses do not. Niether do BSD style licenses.
“And so it was that men themselves conjured The Unreal, without hint of irony or foreshadowing, but rather out of boredom on a pretty standard Sunday afternoon.”
I’m curious what Zuckerberg thinks when he sees things like this compared to Meta’s own attempts. The sheer magnitude of the difference has to make him wonder (and if not, shareholders certainly have!)
Mark isn’t stupid. His metaverse is specifically targeting lower end hardware so it can run on stand alone headsets and so eventually those headsets can be cheap.
A lot of the earlier PC Oculus UI was unreal engine anyway.