Landscape mipmapping via Bezier Tesselation
A downloadable game
My RPG needs a massive sense of scale. My foregrounds are made of interlocking 'interesting' artist created tiles. My process for those is fine, but I needed a way to see far away. So I started by messing with a height map to get control points which might be used for loading tiles using the control points as a lookup. This worked fine but seemed limited. I got excited about bezier patches and started reading up on how to tessellate those based on distance. That way, when the camera can see this lookup table far away, the tiles are low res and don't take up much device resources. In the mid-ground, they would get higher res and perhaps I might populate trees etc. In the foreground they can either be even higher res (with some turbulence added for more visual interest), or I might load 'artistic' tiles for a more interesting / designed experience.
So this worked pretty well but there were lines between the tiles because of the normal directions. So after a few days and a lot of Dictionary<GridKey, Patch> as well as an alternative to Vector3.Distance, I have something here that pops and looks only ok, but is has pretty much no framerate drop. And that's without using Unity's Job system or with fancy shader math.
Not much interactivity here, sorry guys.
Thanks for reading though!
Status | Released |
Author | streamfallInteractive |
Tags | bezier-patch, tesselation |
Install instructions
There is an android version and a windows version.