Large and complex 3D content in Unity

One of the biggest issues our 3D developer partners encounter is the sheer amount of time it takes to optimize and import large 3D models. While, for example Unity has announced that they're working on improving their FBX-support, we decided to approach the problem from a different perspective: what if you could stream the 3D content directly at runtime while skipping the time-consuming optimization and import phases altogether?

That’s exactly what we did. Umbra Composit is now the fastest and easiest way to use large and complex 3D content in your application. Before we dive deeper, the video below features a brief overview of Composit for Unity and a visualization using scanned 3D content measuring up to 2 billion polygons and 700 gb of texture data!

A 700 gigabyte scanned 3D model of Helsinki city

Role of the cloud

Anyone familiar with scanned 3D models knows how big the data sets can get - a few hundred gigabytes of point cloud data isn’t a rare occurrence. Increase the capture quality, scan a larger area and we're starting to talk terabytes, even petabytes of data. Storing and transferring such large amounts of data becomes a burden in and of itself. Imagine trying to display that amount of 3D data on an iPhone, iPad or the HoloLens. That's where Umbra Composit steps in.

Umbra processes your 3D data into a format that is streamed directly into the end-user's device. That data is based on content visibility and distance to the camera in your application's runtime. Umbra's cloud processing automatically applies the following 3D optimizations to your content:

Level of detail (LOD) generation and management

Mesh, texture and draw call optimization

Occlusion culling

Retargeting for specific viewing platforms

These optimizations respect the strict performance budgets imposed by mobile, AR and VR-devices while making sure your application maintains the desired frame rate. And naturally, it saves an awful lot of time spent on manual optimization work.

To reiterate, Umbra actually streams the content to be rendered on the end-device. This means that umbrafied 3D content can be used even if a network connection isn't available, which wouldn’t be possible if the rendering was done in the cloud.

Additionally, when something changes in the original 3D data set, just reprocess it through Umbra Composit and it’ll be automatically updated in your application (check our Downloads page for supported inputs). Finally, you’ll have more time to focus on creating better, more immersive and visually stunning experiences instead of wrestling with getting the content to work.

The Helsinki 3D data set is available for viewing in our ARKit-compatible iOS-application.

If you're struggling with heavy 3D content in your Unity application, whether you're dealing with point clouds, large BIM, CAD, architectural, HVAC, MEP or structural designs, contact us and let's discuss how Umbra can help you!

Want to find out more on how to stream a huge 3D model into Unity? Check out this post.