From CAD data to low poly models for interactive applications

Interactive applications, whether AR on a smartphone or VR on a powerful computer, enable interaction and emotional bonding that cannot be achieved by simply watching movies or watching graphics. The user does not stand outside, but becomes a part of the experience by actively participating in shaping it. They move and rotate products, change the paint on their dream car or unscrew virtual devices.

However, while offline renderings, as seen in our blog "What's CGI", have to be calculated in advance for hours, days or weeks, an interactive application often generates 60 or more frames per second without any noticeable delay. This allows it to react at any time to changes such as a user's input. This performance can only be achieved through countless optimizations. Fortunately, the days when we moved an angular Lara Croft through catacombs on the first PlayStation are long gone. But that doesn't mean that the models we use in interactive applications can be inefficient at will.

As we can already guess from models of old games, the 3D models we work with consist of many small surfaces, so-called polygons. The first Lara Croft counted about 230 of them. A modern graphics card, on the other hand, can process several millions under the right circumstances.

Figure 1: simple model with about 1000 polygons (left) and complex model with about 100,000 polygons (right)

The exhaustion of these possibilities seems unrealistic at first. However, when CAD data are converted into detailed polygon models, they actually achieve such a polygon density. If the complexity of these models becomes too high, the performance of the application is affected - especially if the budget does not allow for the purchase of correspondingly expensive hardware. We may also want to provide a WebGL application or a downloadable app that each user can run on their home device. This use case makes it impossible for us to require powerful hardware. For example, while a scene with 20,000,000 polygons would be appropriate for a movie, a reduction is necessary in the interactive area.

This is done by the so-called retopologization (Retopo), where a simplified surface is created based on the highly detailed surface.

Depending on the degree of reduction, this process can be automated and only needs to be evaluated and corrected by CG artists. Currently, however, human pattern recognition is more flexible than the computer-controlled alternative. An experienced CG-Artist recognizes the relevant aspects of a model at a glance. Performing a manual retopo takes more time, but the automatically generated result is far superior in terms of aesthetics and performance.

Figure 2: Manual retopologization in Autodesk Maya

In the next step, the so-called "UV-Unwrapping", the finished models are virtually cut up and unfolded, similar to making a cube - only backwards. We can then apply various textures to the two-dimensional surface created by this process.

Figure 3: Sofas (left) and their cover on the texture (right)

These textures contain information about color, roughness and reflection properties, for example. Ideally, each location on the model can be uniquely assigned to a location on the texture, which allows us to display individual details, whether material transitions, bumps, symbols, stickers, rough edges, etc.

Figure 4: a needle with uniform material (left) and varying texture (right)

The textures are not limited to these examples. They can even bring back the subtleties of the original, complex model. They save the alignments of these surface details in colors. This allows the light to react to them without the need for additional polygons. In this way, we combine the performance of the simple model with the aesthetics of the complex model.

Figure 5: a texture with surface information (left), simple models (top right) and simple models with this texture (bottom right)

Additionally, textures can contain a pre-calculated shading, the so-called Ambient Occlusion (AO). This increases the contrast and makes it easier for the user to assess the shapes of the model shown more quickly and better.

Figure 6: a model without AO (left), the AO itself (center), a model whose colors were multiplied by the AO (right)

If all these possibilities are exhausted and applied to a CAD model, then you get a high-performance and fluidly moving low poly model. Together with well-designed textures, it leads to an excellent user experience. No matter if in AR apps on mobile devices or in VR applications. A smooth running application is fun and the resulting positive feeling is transferred to the product and brand.

A few thoughts on the use of AR and VR in product development or in the business environment can be found in this BLOG.

Need Help?
Please Contact us.

We Would love
to hear about your project

Let us know
+49 711 219 758-0