top | item 33762791

(no title)

synergyS | 3 years ago

Unreal is the platform for the metaverse

discuss

order

Animats|3 years ago

If only.

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.

[1] https://advances.realtimerendering.com/s2021/Karis_Nanite_SI...

AstralStorm|3 years ago

The return of the raycasting renderer, with a vengeance. ;)

arminiusreturns|3 years ago

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.

xyzzy_plugh|3 years ago

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.

afarviral|3 years ago

Its already a cooler name _for_ the metaverse if you think about it. Welcome to the unreal.

RamRodification|3 years ago

Wow, yes! "The Unreal". That's really good.

MR4D|3 years ago

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!)

whywhywhywhy|3 years ago

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.

andybak|3 years ago

Unreal is a platform for creating applications. The Meta product you refer to is an application built on such platforms (not Unreal in this case).

Meta's app has to run on what is essentially a mobile phone. You can barely run Nanite in VR on desktop let along on a mobile phone.

Not saying Meta's product couldn't be better but we are talking "better like Rec Room" not "better like UE5's best efforts"