GridVids
Sign in with YouTube

Voxel Terrain: Serialization / Deserialization System (with compression)

Jed037 Mar 31, 2024 23:27
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Don't Miss
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Mark watched
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Hide
Open in popup Open on YouTube
Share video

Share video

Copy the GridVids link or iframe code.

Video link
Iframe code
Iframe content

Hello, In this video I will be showcasing the new (de)serialization system that I have recently added to my unity terrain generator. This system implements loadin/saving from a file on disk using the Unity Networking INetworkSerializable interface and using the C# Job system to be able to implement RLE and delta compressions for voxel edits and voxel props. This allows me to save and load the files rather quickly, and it would be rather easy to extend this to work in a multiplayer setting to be able to allow users who join an ongoing session to load all modifications onto their local machine before they load in the world. In of itself this system isn't really efficient because the file size is still a lot larger than I'd hoped for (few kbs for rather small edits) but this is due to the fact that I must edit all chunks in a duplicate octree to be able to handle persistent world edits that could be viewed from any point on the map. This increases file size a bit, but I think the main culprit is my bad compression ratio. Currently my RLE and delta compression algorithm are rather naive, so I'm looking forward onto implementing better compression algorithms later. Repository: https://github.com/jedjoud10/VoxelTerrainGenerator
Science & Technology