Creating a realistic digital copy of a real-world item is always a challenge, but this is especially difficult when you're rendering in real time. For us, it gets even more complicated, because we use the same model across the wide range of different formats in our omnichannel. This includes solutions like ultra-high-definition screens and digital signage, AR & VR solutions, and even mobile and tablet configurators via a cloud stream!
Because of this, we've developed a method to turn a manufacturer's CAD data into a universal ‘digital twin' that we can use across all of these outputs. It's vital that the model runs optimally on each device we use, so we refine the data to make sure it meets our high standards for performance as well as detail.
In this blog, we'll discuss the five key components that help us do this and explain why each one is important to ensure we give our clients the best possible visual results, regardless of the device they're using.
Polygons are often the most-discussed component when it comes to 3D models, and this is with good reason: they define the shape and features of the virtual vehicle. Polygon count can vary greatly when creating a digital copy of a real-world car. For example, a vehicle modelled to run via WebGL or natively on most mobile devices (rather than rendered in the cloud) would have to be under 500K polygons, which will mean you'll lose a lot of the finer details. This limit is a result of having to target low-end devices with limited rendering resource and download bandwidth.
Rendering in real time on high-spec hardware brings much greater flexibility: we've even had 60-million polygon models running in the past, but, with such high values, compromises must be made in other areas (see details of these components in the sections below).
From our experience, the ideal polygon count for our models is 5-million polygons. This enables us to display every fine detail while balancing performance with other key graphical components.
3D Models are made up of multiple parts, or ‘objects'. Each of these objects define features that can be dynamic or configured, such as wheels, trims, badges, wing mirrors, stitching, etc.
A common method of creating models is to use very few objects. This reduces the cost to render the model by creating a low rendering setup overhead, as the materials and textures are not changed very frequently. As a result, however, this technique offers limited configuration options, animations, and dynamic features.
The models we create, on the other hand, typically have over 2000 unique parts. This means we can show every configuration that's available on the real car as well as the many dynamic features that make it look unique. Having such a large number of objects creates a significant rendering overhead, especially when the objects need to be rendered multiple times for VR, shadows, and special effects. This is why it is important to carefully balance other rendering overheads such as materials, lighting, and polygon count to ensure we can deliver the flexibility of dynamic configurations.
3. Materials and Lighting
While polygons can define the shape of a model, it's the materials and lighting that actually create the illusion of reality. A key factor of this is how the surface of the model reacts to the lighting of the scene it's placed in; this is particularly the case with the paint. Because people tend to choose gloss paint, the exteriors of the majority of cars are very reflective, so the colour is significantly influenced by the environment it's in.
This means it's vital that every material we use is created to look correct in a variety of scenarios: whether it's night or day, in the mountains or by the sea, the signed-off model needs to match the client's style.
Each model contains hundreds of unique materials to define real-world surfaces like paints, plastics, leathers, fabrics, and chromes. These materials together account for the huge number of configuration options for each car. This is essential to allow the end user to really see the exact configuration they're going to buy. This is one of the major advantages that a real-time digital twin has over traditional, image-based configurators. These tend to limit the number of options because images and layers need to be prerendered for each combination, and this can be very time consuming and expensive.
Our typical model has about 4GB of compressed texture data. These textures store data that help recreate realistic surfaces virtually in real time. Texture content is created in a variety of ways to match the details of the real surfaces. This includes material scanning and procedural generation.
It's essential that these textures are optimised as much as possible, but both size and compression settings need to be balanced to ensure we meet the quality standards as well as load time requirements.
When rendering an image, pixels are filled with colour. However, pixels on displays are square, which makes creating curves and diagonal lines very difficult, so this often results in stepped edges and flickering details. We use a variety of antialiasing techniques to reduce and remove these problems as they would damage the luxury feel of our solutions.
We carefully balance all of these components to create the highest quality visual results while maintaining a high stable frame rate. As a result, our models are exceptionally detailed, regardless of the device they're being shown on.
This means we can replicate real-world objects at the standard required for high-value sales and marketing situations, where visual quality is crucial. This is the case for all forms of digital content: a VR experience must run at a solid 90FPS to avoid the user feeling unwell; 4K and cloud configurators need to be reactive and fast; the creation of digital content via SpotLight has to be editable and responsive. Our real-time digital twin models ensure we can hit or exceed these benchmarks every time.
Follow our ZeroLight Tech twitter page for all our latest tech news and developments.