Large Terrains -- Chunking or Streaming?

Discussion in 'General Discussion' started by Pequisto, Nov 13, 2015.

1. Pequisto

Joined:
Apr 21, 2015
Posts:
66
Hello,

I'm currently in the planning stage of my Unity project and am looking to understand more about the differences between chunking and streaming.

This project is an interactive first-person adventure and I'd like to use an extremely large terrain (anywhere from 10km x 10km to 64km x 64km). The issue I'm faced with is that I don't quite understand whether terrain streaming or chunking would be a better fit with regards to performance. Think: lots of trees, lots of details, active weather / time, etc.

My apologies if I'm not posting in the correct forum.

Thank you!

2. Carve_Online

Joined:
Jun 28, 2014
Posts:
552
I´d be curious to see if there are real definitions for the two.

For me the bigger difference is how you handle the problem with your floating point errors. With a 10km x 10km world, you can get away with having a static origin. Once you go above 10kmx10km, you are going to have to have the origin be on your player. Dunno, maybe that decision is the difference between the two.

Pequisto and darkhog like this.
3. darkhog

Joined:
Dec 4, 2012
Posts:
2,219
You can also change world's scale so player is technically a dwarf, but everything is scaled down appropriately so there's no visible changes. You can get few extra km this way.

To the matter at hand, however, chunking is when terrain is divided into, well, chunks (like e.g. in minceraft) where streaming streams terrain vertices/polygons that are within certain distance from player object so you never load too small range of terrain or too large (which may happen with chunks), you'll always load "just enough".

That being said, streaming is harder to implement than chunks and as such has any meaning only in edge cases where performance suffers with chunk based solution.

If your game is kinda like Dear Esther, where not much in terms of game logic is going on, chunk-based solution should work reasonably well, if you want to make "living world" like Skyrim, Fallout, GTA or any number of open world games, depending on how much is going on at a time, streaming may be better choice.

Pequisto likes this.
4. Breyer

Joined:
Nov 10, 2012
Posts:
412
Honestly both can work together. If properly implemented you can achive really huge and interactive world. E.g chunk terrain and stream neighbour chunk as soon as player reach edge of currently loaded chunk, then stream big or close props on streamed chunk, then stream medium props etc

5. BFGames

Joined:
Oct 2, 2012
Posts:
1,543
Well a very simplistic way to describe it is that;
Chunking is a way to divide your space, where streaming is is a way to load whats in a giving space at runtime.

6. Pequisto

Joined:
Apr 21, 2015
Posts:
66
Thank you! I'm starting to see it a little more clearly now.

unityunity