Create and Use an Oval Track
R2026bYou can create a RoadRunner scenario with realistic road geometry and use it in a Vehicle Dynamics Blockset™ co-simulation with 3D visualization. To create the oval track used in the Follow Waypoints Around Oval Track example, use either of these workflows.
| Workflow | Goal | Description | Get Started |
|---|---|---|---|
Simplified (recommended) | You want default 3D visualization without custom scene assets | In R2026b: Create track in RoadRunner and import directly into the Reference Path Generator block without exporting to Unreal Engine® | |
Custom | You need hand-crafted 3D scene assets in Unreal Engine | Create track in RoadRunner, export to Unreal Engine, and co-simulate with Vehicle Dynamics Blockset | Follow Steps 1–4 on this page |
Before you start the custom workflow, make sure that you have the required products installed.
| Step | Required Products | |
|---|---|---|
1 | RoadRunner | |
2 | RoadRunner Unreal Engine 5.4 RoadRunner plugin Visual Studio® 2022 | |
| 3 | ||
4 | Unreal Engine 5.4 Vehicle Dynamics Blockset Vehicle Dynamics Blockset Interface for Unreal Engine Projects | |
Step 1: Create Track in RoadRunner
In this example, you create the oval track specified in the following figure. The locations and reference poses are in the RoadRunner coordinate system, (X, Y, θ). The locations, X and Y, are in m. The reference poses, θ, are in deg.
| Legend | |
|---|---|
Green | Locations of patch boundaries, X, Y |
Red | Intersection points of straight-line segments, X, Y |
Black | Track locations and reference poses, X, Y, θ |
Use RoadRunner to create the oval track. For more information about creating tracks, see Road Plan Tool (RoadRunner).
Create Straight Line Segments
Open the Road Plan Tool.
Navigate to Library Browser > RoadStyles. Select
Residential.Right-click to place the start and endpoints of a straight-line road.
After each straight segment, left-click and repeat the preceding step.
Select the road control points. Use the oval track figure at the beginning of Step 1 to enter the coordinate information.
Create Circular Arc
Open the Road Plan Tool. If you are continuing from creating the straight-line segments, the
Residentialroad is the default road.Right-click to place the start and endpoints of the arc. If you use this method to connect straight lines, there might be multiple control points. Delete all but one control point.
To create a control point, right-click anywhere in the road. To position it as specified in red in the oval track figure at the beginning of Step 1, left-click each arc control point.
To create the circular arc, edit the positions of the control points.
If the start of a road marks the end of another, RoadRunner connects them.
Adjust Road Width
Open the Lane Width Tool.
Select the road that needs the width adjustment.
To adjust the road width, select any purple or red segment.
Modify the lines so that the entire width of the road is 14 m, or 7 m from the road centerline to each edge.
Create Patch
Open the Surface Tool.
Right-click to create four nodes.
Right-click the first node to close the loop. By default, the surface is green.
Add Trees
To provide visual cues that indicate vehicle speed, add trees.
Open the Prop Curve Tool.
Select an asset to place in the scene. For example, select
Props\Trees\Eucalyptus_Sm01.Right-click to select the inner boundary of the trajectory. To limit the trees in the green areas, adjust the tangents at the control points.
To speed up import into Unreal Engine, choose an appropriate spacing that limits the number of trees in the scene. The import time is proportional to the number of scene assets.
Step 2: Export Track from RoadRunner
In RoadRunner, open the scene.
Select File > Export > Unreal (.fbx, .xodr + rrdata.xml)
In the Export Unreal dialog box, select Split by Segmentation and export folder. Click Export.
Step 3: Import Track to Unreal Engine
After exporting from RoadRunner, you import the data into Unreal Engine.
Create Empty Project
Create an empty project by following the steps listed in Create Empty Project in Unreal Engine.
Acquire and Rebuild RoadRunner Plugins
Download the RoadRunner plugin. For more information, see Downloading Plugins (RoadRunner).
Extract the RoadRunner plugin
.zipfile. Locate theRoadRunnerImporterandRoadRunnerMaterialsfolders under the Unreal Engine plugins.Note
The Unreal Engine plugin folder also contains a
RoadRunnerCarlaintegration plugin. If you are not using CARLA, do not copy this folder.Copy the
RoadRunnerImporterandRoadRunnerMaterialsfolders into the Plugins folder under the project folder. If a Plugins folder does not exist, create one.
Rebuild the plugin using one of these options:
Option A: Generate project files and build.
Windows® – Right-click the
.uprojectfile and select Generate Visual Studio project files.Linux® – Set environment variable
UE4_ROOTto your Unreal Engine installation folder. At the command line, run this command:$UE4_ROOT/GenerateProjectFiles.sh -project="<Path to .uproject file>" -game -engine
Option B: Open the project directly. Select Yes to build the plugins when prompted.
If both options fail, try using Visual Studio to build the binaries.
Verify that the RoadRunner and MathWorks Interface plugins are enabled. Select Edit > Plugins. Confirm that Enabled is selected.
Import to Unreal Engine
In the Unreal® Editor, click Import. Select the
.fbxfile from Step 2.Note
Selecting File > Import Into Level does not use the exported RoadRunner
xml. Instead, it uses the Unreal importer.Use the default options in the RoadRunner Import Options dialog box. Click Import.
Under the Scene tab, select Import as Dynamic. This setting enables translation of the whole scene.
Under Static Meshes, clear Remove Degenerates. Set Normal Input Method to
Input Normals. The import can take up to 1 hour to complete. Click Import.In the World Outliner, select the scene that you imported, for example,
FbxScene_OvalTrack1. To align the RoadRunner and Unreal coordinate systems, enter a 90° rotation about the Z-axis.
Consider using the editor to add terrain and foliage to the scene.
Save the project (
.uproject) file. Close the Unreal Editor.
Step 4: Co-Simulate in Vehicle Dynamics Blockset
Open the Simulink® model. Do not open the Unreal Editor.
Open the Simulation 3D Scene Configuration block.
Set Scene source to
Unreal Editor.Set Project to the project (
.uproject) file that you saved in Step 3: Import Track to Unreal Engine.Click Apply.
Click Open Unreal Editor.
The project opens in the Unreal Editor.
Select Blueprints > Open Level Blueprint.
In the level blueprint:
Select File > Reparent Blueprint.
Select Sim3dLevelScriptActor.
Click Save.
Close the level blueprint.
In the editor, click Save Current.
This ensures that the vehicle identifies the ground properly during co-simulation.
In the Simulink model, click Run.
Because the source of the scenes is the project opened in the Unreal Editor, the simulation does not start.
Verify that the Diagnostic Viewer window in Simulink displays this message:
In the Simulation 3D Scene Configuration block, you set the scene source to 'Unreal Editor'. In Unreal Editor, select 'Play' to view the scene.This message confirms that Simulink has instantiated the actors and other assets in the Unreal Engine 3D environment.
In the Unreal Editor, click Play. The simulation runs in the scene currently open in the Unreal Editor.
See Also
Reference Path Generator | Simulation 3D Scene Configuration