The automotive industry is increasingly turning to real-time solutions, such as Unreal Engine (UE), to drive their visualization and commercial projects. The Car Configurator sample is built using Epic Games' best practices for the creation of a vehicle configurator, a common use case for 3D visualization artists in the automotive industry.
The Car Configurator sample demonstrates the use of the following features:
How To Use the Car Configurator
Downloading the Sample
The project sample is freely available via the Samples tab in the Unreal Engine section of the Epic Games Launcher. Other asset packs used in the making of the sample can be found for free in the Marketplace tab.
To create a project with the Car Configurator sample, use the following steps:
Open the Epic Games Launcher and click on the Unreal Engine button on the sidebar. Then open the Samples tab.
Scroll down to the UE Feature Samples and select the Car Configurator sample. Click the Free button to add this project to your Vault.
Click the Create Project button and follow the on-screen instructions to download the sample and start a new project.
Open your new project in the Unreal Editor.
This project requires the following plugins (enabled by default):
Movie Render Queue
Color Correct Regions
Control Rig
Variant Manager
This may require you to restart the Editor.
Navigating the User Interface
The Car Configurator is built using the Product Configurator template as a base. Using the Variant Manager, you can choose from a variety of saved Static Mesh configurations called Variants to customize your Audi A5.
You can control the configurator using the interface buttons located at the bottom of the screen:
Number |
Description |
---|---|
1 |
Configurator Mode |
2 |
Commercial Mode |
3 |
Car Paint Color |
4 |
Wheel Style |
5 |
Trim Color |
6 |
Leather Color |
7 |
Seat Upholstery Style |
8 |
Toggle Path Tracer |
9 |
Take Screenshot |
10 |
Mute/Unmute |
11 |
Camera Views |
The Car Configurator also includes focus points, represented by white flashing circles. These have been animated using Control Rig, Unreal Engine's Blueprint-based animation control system:
Open/Close Doors: Open and close the car doors.
Open/Close Convertible Soft Top: Open and close the convertible top by clicking on the roof control switch located by the rearview mirror in any of the interior views.
Open/Close Trunk: Open and close the trunk lid.
Horn: Honk the horn.
Start/Stop the Engine: Click the Engine Start button to start or stop the engine. When the engine is started, the dash gauges and Audi Virtual Cockpit are powered and the front lights and tail lights are lit up.
Rendering the Commercial View
Clicking the Play button in the Configurator will transport your customized vehicle to the Commercial mode.
In Commercial mode, your vehicle becomes the star of your very own TV spot. This takes your vehicle through several camera shots often seen in car commercials. You can control the commercial using the following interface options:
Number |
Description |
---|---|
1 |
Stop |
2 |
Play |
3 |
Pause |
4 |
Render Video |
Powered by Sequencer, the camera races across the salt flats, moving to highlight the wheels and interior. The car commercial takes advantage of Ray Tracing for real-time lighting and shadows, and can be saved to your computer thanks to the Movie Render Queue runtime feature. Optional Path Tracer use
Variant Manager
The Car Configurator is built on the Product Configurator template and uses the Variant Manager to store the various asset configurations used to customize your vehicle.
Each configuration option is stored in an entry called a Variant. Each variant points to a property on an Actor that is changed when the variant is activated. Variants are arranged into Variant Sets and the data is used by the BP_Configurator Blueprint to populate the user interface with options. In the image above, you can see that when different trim options are selected the Variant Manager applies that value to different static mesh components on the vehicle Actor.
For more information on using the Variant Manager, please see the Variant Manager documentation.
Lumen Global Illumination and Reflections
Unreal Engine uses the Lumen Global Illumination and Reflection system to provide dynamic global illumination and shadows.
The Car Configurator sample uses Lumen's ability to provide diffuse interreflection and indirect specular reflection to accurately reflect the salt flats environment off the tire rims and car, making the most of the Clear Coat properties of the Materials used from the Automotive Materials pack.
For more information on lighting your level with Lumen, see the Lumen documentation.
Path Tracer
Path Tracer is Unreal Engine's progressive, hardware-accelerated rendering mode. Designed to generate physically correct global illumination and reflection and refraction of materials, enabling Path Tracer can provide you with photorealistic renders with little to no additional setup.
Path Tracer features full integration with Sequencer and Movie Render Queue making it ideal for Film and TV quality render outputs.
The Car Configurator sample gives you the option to toggle path tracing on from the interface to provide photorealistic output for screen captures or rendering during Commercial mode.
For information on using Path Tracer in your own projects, see the Path Tracer documentation.
Volumetric Clouds
The Volumetric Clouds found in the sample use a physically-based cloud rendering system and a material-driven approach to create the sky that is seen on the salt flats.
The Epic Games team uses volumetric clouds to bring aesthetic touches to the salt flats, while also getting bounced light reflection on the car paint. The Volumetric Cloud component uses a Material Instance of the default cloud Material to accomplish these effects.
For more information on using the Volumetric Clouds system, please see our Volumetric Clouds documentation.
Chaos Cloth Solver
The Car Configurator sample uses the Chaos Cloth Solver to simulate the physics interactions of the cloth convertible top.
Using the Cloth Painting workflow directly in the Engine, the Epic Games team is able to assign a variety of properties such as friction, constraints, drag, and stiffness to closely simulate the look and feel of the Audi A5's canvas soft top.
For more information on the Chaos Cloth Solver and in-engine Clothing Tool, please see the Clothing Tool documentation.
Control Rig
The Control Rig system is a scriptable node-based rigging system that provides rigging and animation tools directly in the engine.
In the Car Configurator, the Epic Games team uses Control Rig in two ways. The first is to create an adaptable skeletal mesh version of the car and create the animations for the wheels, doors, and trunk. The second is to create the animation for the convertible top.
The Audi A5 uses a skeleton with pivot locations for each movable element in the car. With this method, the main vehicle geometry does not need to be bound to the vehicle, and the skeletal mesh can be imported into Unreal quickly. Once imported, the mesh is added to a Blueprint, which attaches the rest of the vehicle components to the pivots and binds the skeleton to the Control Rig at runtime. This makes it easier to update the pivot locations if needed without having to go back to our DCC application.
Due to its complexity, the cloth convertible top is a separate piece with its own skeleton and Control Rig. A state machine tracks if the top is open or closed, and runs the correct transition animation when it is selected in the configurator application.
For more information on using Control Rig to animate in-engine, please see the Control Rig documentation.
Sequencer
Powering the Commercial mode, Sequencer is a robust keyframe animation system which you can use to create in-game cinematics.
The Commercial mode uses a series of level sequences with animated cameras to showcase various configurable features on the car. The Epic Games team then uses Movie Render Queue to render and save the level sequences and assemble them using a non-linear editing program. This edited sequence is brought back into Unreal as a master sequence, where audio is added and the cameras, animation, and overall timing is refined. These sequences are found in the CarConfigurator/Commercial/Sequences folder.
For more information on using Sequencer in your projects, please see the Sequencer documentation.
Movie Render Queue
Used to output the final commercial render, Movie Render Queue is an engine feature that can export high-quality media. When used with Real-Time Ray Tracing, the final render can take advantage of advanced anti-aliasing, radial motion blur, and reduced noise in ray tracing:
The Epic Games team uses Blueprint to enable Movie Render Queue at runtime. With this, you can render and save a video of your commercial directly from the configurator.
For more information on using the Movie Render Queue feature, please see the Movie Render Queue documentation.
Adding Art Assets to the Configurator
You can add new art assets to the Car Configurator by adding a new variant to the Level Variant Set. This process is similar for both Materials and Static Mesh assets. The example below describes how to add a new paint color to the configurator.
The Audi A5 in this sample makes use of the Automotive Materials Pack for paint, leather, and trim options. To add additional colors to the interface, follow these steps:
Create a custom folder to hold your new Material and any texture samples that it may need. Do this by right clicking on the CarConfigurator folder and selecting New Folder. Name the new folder Custom.
If you are not adding a color that is already available within the sample, you will need to either create your paint sample using the tools available within the Automotive Material Pack, or import and set up your Material. For this sample, you are duplicating an existing paint sample and editing it. For more information on importing textures and creating new Materials, see our Material How-To documentation.
Next, open the CarConfigurator/Shared folder and double click on the CarVariants Level Variant Set to open it in the Variant Manager.
To make sure that your new color is applied to all the required static meshes, you can duplicate an existing Variant. Open the Paint, Trim, or Leather Variant Sets and right click on the last variant in the list. From the menu, choose the Duplicate option.
Right click on your new variant and choose Rename. Create a new name that is appropriate for the color.
Click the BP_AudiA5 in the Properties panel to display the Properties and Values for the car. For each value in the Values column, click the drop down menu and select your new color, excluding the SM_trunkDetails Material.
Changing the Material for SM_trunkDetails changes the license plate on the car.
Set the thumbnail image for your new variant by switching on the variant and positioning the Viewport camera to best display your new option.
Then right click the variant in the Variant Manager choose the Set from viewport option.
Test the sample by clicking the Play button in the Editor. Your new variant should appear in the user interface.