Introduction
Orbis is a terrain solution for Unity's new Data Oriented Technology Stack (DOTS), featuring spherical and flat terrain at any scale.
Unity DOTS
This asset is targeted at experienced programmers who are willing to work with DOTS. Before you use this asset, you must familiarize yourself with what DOTS is, and how ECS programming works. It is completely different from regular Monobehaviour programming in Unity. DOTS entities and physics are completely separated from regular GameObjects, and will not be able to interact with each other.
Currently designed with UNity 6.3 LTS. Other versions are not officially supported.
Quadtree LOD
A quadtree is used to increase or decrease the Level of Detail of the terrain as the player moves around. This results in an adaptive terrain resolution as the player moves around the world, and allows to maintain high fps targets. All computationally intensive tasks are performed in the background using the burst-complied Jobs.
Heightmap, procedural or mixed generation
In Orbis, you can either provide your own heightmaps for the terrain, or let it generate procedurally. You can use one of the predefined procedural generation algorithms, but it’s also possible to bring your own procedural generation algorithms.
Procedural foliage placement
Add detail to the world as you move around. Foliage can be instantiated and destroyed together with the terrain nodes. Each foliage instance is a spawned as a stand-alone entity, meaning you can add your own logic to it, and use LOD groups and colliders or even rigidbody components on it.
Spawn foliage based on multiple rules, such as biome values, height or slopes steepness.
Easy to extend
All code is kept modular, and the full source code is provided when getting Orbis from the asset store. All parts of Orbis are driven using components and tags, and each node of the terrain Quadtree is represented by an entity. This allows you to easily add them to your own systems.
Fully UV Mapped
All terrains are UV mapped, and when the terrain is split into smaller chunks it still keeps it’s original uv positions, allowing you to bring your own overlay textures, such as flowmaps or biome maps.
Origin shifting system
Orbis allows to go past floating-point precision limits with an integrated origin shifting system, allowing for almost unlimited world or galaxy sizes.
Sample Shaders
There are sample shaders provided for a the terrains themselves (spherical and flat), which feature different biomes, cliff textures and peak textures. There are also sample shaders for a planet’s atmosphere from outer space and for a skydome around a planet.
Note that the sample shaders are only supposed to help get you started in making your own materials. In a production environment you’ll most likely want to supply your own shaders and materials.
Editor Preview
There is an in-editor preview of the terrain available. Please note that the quality of it is reduced from the runtime versions, and the dynamic lod is only active in play mode.