Unity Engine Demos Planetary-Scale Terrain

A new technology demo showcases a system built in Unity capable of rendering planetary-scale terrains with high performance. The system leverages Unity's High Definition Render Pipeline (HDRP) and Data-Oriented Technology Stack (DOTS) to handle worlds reportedly the size of Earth, enabling more ambitious scope for game developers.

- The developer, known as "hoahluke," utilizes a technique of subdividing an icosahedron (a 20-faced polyhedron) to create the planet's geometry, which allows for a more uniform distribution of detail across the sphere compared to traditional quad-sphere methods. This approach is favored for creating spheres with minimal texture distortion, especially at the poles. - Unity's Data-Oriented Technology Stack (DOTS) is fundamental to the demo's performance, with its Burst compiler translating C# code into highly optimized machine code. This data-oriented approach can lead to significant CPU performance improvements, in some cases by a factor of 5 to 50, which is crucial for the complex calculations involved in procedural generation. - The High Definition Render Pipeline (HDRP) provides the visual fidelity, supporting advanced graphics features necessary for rendering a realistic planet. For large scenes, developers using HDRP often employ techniques like occlusion culling, which prevents the rendering of objects not visible to the camera, to maintain high frame rates. - A significant hurdle in creating planetary-scale worlds is the issue of floating-point precision, where numbers lose accuracy further from the world's origin (0,0,0), leading to visual glitches and physics inaccuracies. A common solution for this, and one discussed by indie developers in relation to such large worlds, is to have the world move around the player, keeping the player character at or near the origin to maintain precision. - This demo is part of a larger trend of using procedural generation to create vast game worlds, with "No Man's Sky" being a prominent example of a game built entirely on this principle to generate its universe of 18 quintillion planets. - For indie developers and small teams, the performance gains from DOTS can be a significant enabler for ambitious projects with large-scale environments or complex simulations that would have previously been computationally prohibitive. - The project has sparked discussions within the developer community, with many noting the technical skill involved and sharing their own experiences with the challenges of large-world generation in Unity. Some have pointed to existing assets on the Unity Asset Store that provide similar functionalities, highlighting the trade-offs between building such a system from scratch and utilizing pre-made tools. - The entire system, including the addition of physics colliders, is built to run on the CPU using DOTS and the Burst compiler, which simplifies the process of creating interactive and physically accurate planetary terrains.

Get your own daily briefing

Scout delivers personalized news, insights, and conversations tailored to your role and industry.

Download on the App Store

Shared from Scout - Be the smartest in the room.