JesOb
December 27, 2013, 12:05pm
1
Umbra abel to stream level occlusion data and stay in memory budget.
sTreaming yOUr wOrld In modern games, you rarely
want to have a single static world. For our project, we
needed the ability to build a large base world, and then
efficiently create local variations on top of that. This is where
Umbra 3’s Tile model came in handy; we can have multiple
versions of a Tile for any given location, so we only have
to load the ones needed at runtime. Note that combining
an arbitrary set of neighboring Tiles does add some
computation overhead to loading, but you can of course
cache all permutations if necessary.
The Tiles that the Optimizer generates are then combined
into a Tome, which is then used for occlusion queries. For our
typical scenes, building a Tome from a couple thousand Tiles
(with a final size of approximately a megabyte) takes less than
a second without caching. For us, the typical case is to unload
Tiles from one far end of the world, and then load them in from
another. In such cases, a simple runtime cache is enough to
provide good speedup without any preprocessing. You can handle
all these computations in a background thread while using the
previous Tome, and you can have multiple Tomes loaded at any
given time and use them as you like. Implementing content
streaming on top of this means making some modifications to
the engine, and might cause delay for getting updated occlusion
results, but if you handle these computations in the background, you
can keep your framerate smooth
So When Unity give this feature to us?
Ostwind
December 27, 2013, 1:35pm
2
What makes you think they will ever give it to us? Having a full Umbra feature set is not actually that cheap to license when its not that for a single games either (compared to Unity Pro price)