-->

Stonehenge Tunnel (MXT)

Stonenge in the digital environment.

I was the primary tools programmer on MXTs initiative to build a visualisation of the Stonehenge tunnel project for National highways. For this project we needed to build an entirely new, data-driven workflow in order to generate an accurate digital twin of the landscape near stonehenge.
I designed the workflow, work schedule for development and built the tool suite that artists at MXT used to build the environment.
A collaboration between National Highways, their technical partner AmW (AECOM, Mace and WSP), and the human experience design company MXT, led to the production of an immersive Virtual Reality (VR) experience. This VR experience was designed with two core principles:
  • Freedom: Users should be able to explore the entire World Heritage Site, getting a before-and-after view of the infrastructural changes.
  • Accuracy: Every aspect of the virtual environment had to be supported by real-world data
The result was a 36 km2 interactive environment synthesising a terabyte of raw information to produce a digital mirror of Stonehenge and its surroundings accessible in virtual reality, desktop and shared immersive spaces.

 

Examples

 

Stonehenge in the unreal editor.
 
A spline based path tool interacting with
the virtual texturing system.
A wooded area loaded from National Tree Map 
data (position and height)

The Countess Roundabout at night.

Offline simulated traffic data running through
the countess junction at night. 
Flyover of the countess junction showing
the fusion of CAD (flyover & earthworks)
 and enviromental data (trees, landscape, grass)

The traffic tool in use, splines are used to roughly
align 2D vehicle data with the 3D scene.

 

Further Details

As part of this project I designed a workflow and suite of tools to generate the natural landscape around stonehenge from geographic data. This natural landscape was then integrated with the built infrastructure taken directly from CAD. 
.SHP files were used as the primary intermediary file format. Whilst simple, their flexibility to describe varied datasets made them perfect for this application.

 

The were 2 major tools that were implemented as part of this work
  • Material masking.
  • Landscape decal importing.
  • Instantiating point/polygon data from shape files.
  • Non-destructive landscape editing using meshes and splines as input.
  • Spline based paths and roads.

Material Masking

We used a varied amount of publicly available datasets including land use; land type, habitat data, protected areas, woodland maps, road data, path data, river paths etc... These were used as masks for landscape materials so that we did not need to paint the entire area by hand.
Each data-set was seperated into different layers and imported as polygon data. This data was then drawn into landscape masks with artist-defined blending and ordering.

The appearance of the landscape was further improved by using image decals from geo-referenced satelite data. We used Unreal engines virtual texture streaming system for these decals because they were large images and theoretically only the area near the player needed full resolution. 


 

Shape files 

The natural environment was a major part of the works but it was not feasible to place the huge number of assets manually and accurately. To populate the area with foliage we used 2 datasets
  • The National Tree Map - A point based data set that contains every tree in the UK over 3 metres in height.
  • Woodland area datasets - These areas were filled with a uniform, random distribution of points for trees and shrubs smaller than 3 metres in size.
The imported points where grouped into cells roughly 500m². Each cell contained a hierchical instanced static mesh component for the foliage in that area. Instances were used for performance but grouping into cells meant we could still stream trees in and out with world partition.

National tree map data was used to populate the area with approximately 50,000 trees.

 

 

Landscape editing tools

We had specific requirements that made using exisiting landscaping tools difficult.
  • Mesh based landscape manipulation.
  • Edits must seamlessly cross landscape boundaries (We had large areas that exceeded the bounds of single landscape actors).
  • Edits must be non-destructive.
  • Edits must be editable.
  • Edits must stack correctly and artists must be able to control the ordering.

Because of these constraints I built a custom solution for editing landscapes in the editor. The final result was the tool below that could cut into or raise the ground with splines. I ensured these edits had a configurable fallof where the artists could modify angle, blending and ordering

Meshes were supported as well and had the same options for falloff.

After modifications are made, a flood filll algorithm generates the slopes.

The landscaping tools would trigger recalculations for shape file tools, so changes to the landscape would automatically propogate to imported objects.  
 

 

Path tools

Path tools were spline based. The artists had already been using spline based ools, but as part of this work I generalised them into a single path tool that could integrate with the shape file support and allow us to import polylines to instantiate paths and roads.

The path tool was built to interact with the virtual texturing system. This meant we could draw directly onto the terrain and occlude grass along the path.
 
 
The path tool was spline based. These splines could be artist built or instantiated from polyline data. Paths were resampled in the editor to ensure they smoothly followed the terrain. 

 

Performance profiling

Performance profiling was an important part of the process. Most of our performance issues came from memory usage and streaming in data, so I spent a lot of time profiling and fixing performance issues.