Article / 3D Configurator

Building a Realistic Mercedes-AMG Configurator for the Web

A practical look at the lighting, materials, camera work, performance, and interface decisions behind a browser-based SLS AMG showroom.

Red Mercedes-Benz SLS AMG rendered in an interactive outdoor showroom.

There is a version of automotive realism that looks convincing in a still and falls apart the moment you drag the camera.

The paint goes flat. Glass turns grey. Chrome starts looking like plastic. Then somebody chooses a bright color, moves into the cabin, or opens the same page on a phone, and the carefully art-directed image is gone.

A configurator has to survive all of that. It is not a render with controls placed on top. It is a small product system where the model, materials, light, camera, interface, and loading strategy all have to keep agreeing with each other.

I built the Mercedes-AMG SLS configurator as an independent concept study around that problem. It is not affiliated with or endorsed by Mercedes-Benz; the aim was to explore what a premium automotive showroom can feel like when it runs entirely in the browser.

Realism is not one setting

The tempting way to approach realism is to search for one big upgrade: a higher-resolution model, a stronger reflection pass, a better HDR, more samples. Those things can help, but realism usually comes from agreement. The highlight on the paint needs to match the light in the environment. The contact shadow needs to match the position of the car. Glass needs to reveal an interior that is lit as if it occupies the same space.

When those relationships line up, the scene feels expensive without becoming loud. When one of them is wrong, adding more effects mostly makes the disagreement sharper.

Silver SLS AMG under open daylight with the configurator controls visible.
The neutral silver finish is a useful test: reflections, panel shape, glass, and shadow all have to read without color doing the work.

The model is the starting point, not the finished experience

The vehicle arrives as a detailed glTF asset, but a correct model does not automatically become a good web product. The scene still needs predictable scale and orientation, useful material names, sensible bounds, clean camera framing, and a loading path that does not surprise the visitor.

The car file in this build is roughly 9 MB and uses Meshopt compression. That is detailed enough to hold the lamps, cockpit, wheels, grille, and bodywork at close range, but still small enough to be delivered as a real interactive asset. The decoder is self-hosted with the project, so the experience does not depend on a third-party CDN being available before the vehicle can appear.

For client work, this preparation stage is where a surprising amount of quality is won. A heavy manufacturing export can contain excellent shape data and still be the wrong asset for a browser. I covered that broader conversion process in From STL to glTF.

Side profile of a silver SLS AMG in a neutral white studio.
A clean profile view exposes proportion, grounding, and small asset problems very quickly.

Paint has to survive more than one good angle

The configurator includes six exterior finishes, from Silver Star and Obsidian Black to Jupiter Red, Solar Yellow, Mystic Blue, and Designo White. Selecting one changes the body material in place. The authored texture detail, clearcoat, roughness, metalness, and reflection response remain intact.

That distinction matters. Replacing the whole material for every swatch is easy, but it also makes it easy for one option to lose a normal map or carry a different reflection intensity. Changing only the part that is actually being configured keeps every finish comparable. The customer is choosing a color, not choosing between six unrelated shaders.

Bright yellow is the rude test. It reveals clipped highlights, dirty shadows, and overdone bloom immediately. Black is the opposite test: if the lighting is too flat, the silhouette disappears. I kept both in the set because a material pipeline that works only for silver is not really a configurator pipeline.

Solar Yellow SLS AMG from the rear in the outdoor environment.
Solar Yellow under outdoor light: the finish stays saturated while the body panels keep their shape.

Light is part of the configuration

The experience has two environments because they answer two different questions. The white studio is for comparison. It gives the car a controlled, neutral surround where paint, wheels, panel gaps, and trim are easy to judge. The outdoor salt field is for character. A wide horizon and harder daylight create longer reflections and show how the same finish behaves away from the showroom.

The outdoor mode is more than a panoramic background. A projected environment scene supplies the visible landscape, an HDR image supplies the material lighting, and a measured directional setup keeps the ground shadow consistent with the bright side of the panorama. The studio uses a quieter image-based light-card setup and a dedicated soft footprint shadow.

For a real sales tool, this split is useful. A neutral mode supports comparison and approval. A contextual mode supports desire. Putting both in the same experience lets the customer move between those mindsets without losing their configuration.

Front view of a Solar Yellow SLS AMG in the neutral studio environment.
The same yellow finish in the studio: less atmosphere, more direct comparison of shape and surface.
Mystic Blue SLS AMG reflecting sky and salt-field light.
The outdoor environment gives dark paint enough variation to describe the rear bodywork clearly.

The small material decisions do most of the work

Cars are difficult because almost every adjacent surface wants a different response. Body paint needs broad, clean highlights. Chrome needs sharper reflections. Rubber should stay rough. Carbon fibre needs detail without sparkling. Lamps need depth. Windows must reflect the environment while still letting the cabin exist behind them.

I used a ThreePipe and Three.js rendering pipeline with ACES filmic tone mapping, screen-space reflections, ambient occlusion, contact shadows, temporal antialiasing, progressive refinement, and a very restrained bloom pass. The list sounds dramatic. The final values are not. The job of the stack is to support the materials, not announce itself as post-processing.

  • Clearcoat keeps the paint highlight separate from the color underneath it.
  • Dedicated reflection treatment keeps windows readable without turning them into opaque grey panels.
  • Ambient occlusion is limited around transparent cabin surfaces so it does not stamp a dark interior silhouette across the glass.
  • Contact and footprint shadows give the tyres weight without making the ground look painted black.
  • Temporal antialiasing and progressive frames settle fine grille, wheel, and lamp detail after camera movement stops.
Close view of the SLS AMG front showing paint, grille, glass, chrome, and lamp materials.
The close view is where material separation matters: paint, rubber, chrome, glass, and light housings cannot share one generic response.

The interior needs a different camera, not a closer zoom

An exterior orbit camera moves around an object. An interior camera should feel more like a person turning their head. Reusing the same controls inside a cabin usually means clipping through the roof, getting lost behind a seat, or zooming through geometry that should feel solid.

The Enter Interior action follows a directed path through the open side of the vehicle and settles at driver-eye height. Once inside, zoom is disabled, rotation is slower, and the orbit radius becomes very small. Returning to the exterior restores the angle the visitor had before entering, so inspecting the cabin does not reset the rest of the session.

Driver-eye view inside the SLS AMG with Saddle Brown upholstery.
The interior camera behaves like a viewpoint inside the car, not an exterior orbit pushed through the bodywork.

Five upholstery colors can be switched from either view. The change is scoped to the soft interior material, which means the displays, carbon fibre, brightwork, stitching detail, and glass keep their original response. Again, the useful rule is to change only what the customer chose.

SLS AMG cabin with Porcelain upholstery and carbon-fibre console.
Porcelain upholstery changes the cabin mood without flattening the carbon fibre, controls, or metal trim around it.

The interface stays out of the photograph

A premium configurator does not need to look complicated to be capable. The desktop controls live in one corner: exterior color, upholstery, and environment. The model card occupies the opposite edge, and the interior action stays close to the place where the next decision happens. Most of the viewport is simply the car.

The controls are proper keyboard-operable radio groups and a custom select with live loading feedback. On mobile they fold into a compact summary panel, while the camera pulls back to account for the narrower horizontal field of view. Those details are less glamorous than reflections, but they are the difference between a visual demo and something a customer can actually use.

Realism also means waiting honestly

This is still a detailed vehicle, an environment model, an HDR, textures, and a rendering pipeline. Pretending it weighs nothing would not make the page faster. The experience uses a staged preloader tied to real asset progress, prepares the vehicle and environment in parallel, reuses already-convolved lighting between mode changes, and compiles the expensive environment state before handing control back.

Resolution scales with the device but has a ceiling. Progressive rendering adds quality after movement settles instead of paying the full price on every frame. These are practical compromises: keep the first interaction clear, spend detail where it can be seen, and avoid making a phone prove that it can render the same workload as a desktop monitor.

What I would carry into a client build

The useful outcome is not a Mercedes-shaped template. It is a process that can be adapted to another vehicle, furniture line, watch, appliance, or any product where finish and material matter. Start with the customer decision, prepare the asset around that decision, create lighting that makes the options comparable, and keep the interface quieter than the product.

  • Define which choices genuinely need a live 3D comparison before building the control panel.
  • Use one material system across every option so customers compare products rather than rendering inconsistencies.
  • Include a neutral lighting context for accuracy and a branded context for emotion when both serve the sales journey.
  • Treat close-up and interior viewpoints as directed camera states, not unrestricted navigation.
  • Plan model weight, loading feedback, responsive controls, and fallback behavior as part of the product brief.

The result should feel simple from the customer side. Pick a finish. Step into the cabin. Move from studio light to open daylight. The complicated work stays underneath, which is exactly where it belongs.

You can open the live SLS AMG configurator here.