Simulation 3D Scene Configuration
Scene configuration for 3D simulation environment

Libraries:
Offroad Autonomy Library /
Simulation 3D
Aerospace Blockset /
Animation /
Simulation 3D
Automated Driving Toolbox /
Simulation 3D
Robotics System Toolbox /
Simulation 3D
Simulink 3D Animation /
Simulation 3D /
Environment
UAV Toolbox /
Simulation 3D
Vehicle Dynamics Blockset /
Vehicle Scenarios /
Sim3D /
Sim3D Core
Description
Note
Simulating models with the Simulation 3D Scene Configuration block requires Simulink® 3D Animation™.
The Simulation 3D Scene Configuration block implements a 3D simulation environment that is rendered by using the Unreal Engine® from Epic Games®. integrates the 3D simulation environment with Simulink so that you can query the world around the vehicle and virtually test perception, control, and planning algorithms. Using this block, you can also control the position of the sun and the weather conditions of a scene. For more details, see Sun Position and Weather.
Tip
The Simulation 3D Scene Configuration block must execute after blocks that send data to the 3D environment and before blocks that receive data from the 3D environment. To verify the execution order of such blocks, right-click the blocks and select Properties. Then, on the General tab, confirm these Priority settings:
For blocks that send data to the 3D environment, Priority must be set to
-1
so the blocks can prepare their data before the 3D environment receives it.For the Simulation 3D Scene Configuration block in your model, Priority must be set to
0
.For blocks that receive data from the 3D environment, Priority must be set to
1
so the 3D environment can prepare the data before these blocks receive it.
For more information about execution order, see How Unreal Engine Simulation for Robots Works.
Examples
Design Bin Picking Scene and Sensors in Unreal Engine
Set up and interface with a bin-picking, Unreal Engine, simulation environment using Simulink 3D Animation.
- Since R2024b
- Open Live Script
Parameters
Scene
Scene Selection
Source of the scene in which to simulate, specified as one of the options in the table.
Option | Description |
---|---|
Default Scenes | Simulate in one of the default, prebuilt scenes specified in the Scene name parameter. |
RoadRunner | Simulate in a RoadRunner scene. To import the RoadRunner scene, specify the corresponding file in the Project parameter. |
Unreal Executable | Simulate in a scene that is part of an Unreal Engine executable file. Specify the executable file in the Project name parameter. Specify the scene in the Scene parameter. Select this option to simulate in custom scenes that have been packaged into an executable for faster simulation. |
Unreal Editor | Simulate in a scene that is part of an Unreal Engine project ( Select this option when developing custom scenes. By clicking Open Unreal Editor, you can co-simulate within Simulink and the Unreal Editor and modify your scenes based on the simulation results. |
Name of the prebuilt 3D scene in which to simulate, specified as one of these options. For details about a scene, see its listed corresponding reference page.
Blank scene
– Blank Scene (Simulink 3D Animation)Curved road
– Curved Road (Simulink 3D Animation)Empty scene
– Empty scene (Simulink 3D Animation)Straight road
– Straight Road (Simulink 3D Animation)Offroad pit mining scene
– Offroad Pit Mining Scene. You can access this scene through optional install from the Add-on Installer.Construction site scene
– Construction Site Scene. You can access this scene through optional install from the Add-on Installer.
Dependencies
To enable this parameter, set Scene source to
Default Scenes
.
Name of the Unreal Engine executable file, specified as a valid executable project file name. You can either browse for the file or specify the full path to the project file, using backslashes. To specify a scene from this file to simulate in, use the Scene parameter.
By default, Project name is set to
VehicleSimulation.exe
, which is on the MATLAB® search path.
Note
If you select a custom Unreal executable file built with a version of Unreal Engine that is not compatible with the current version of MATLAB, you receive one of these error messages:
"Incompatible version of 3D Simulation engine: Undefined"
: For Unreal executable built for a MATLAB release prior to R2023b"Incompatible version of 3D Simulation engine: 23.2.0"
: For Unreal executable built for MATLAB R2023b or later
To resolve these errors, you must migrate the Unreal project and rebuild the executable with the latest support package installed. For more information, see How Unreal Engine Simulation for Robots Works.
Example: C:\Local\WindowsNoEditor\AutoVrtlEnv.exe
Dependencies
To enable this parameter, set Scene source to
Unreal Executable
.
Specify an ASAM OpenDRIVE file. Select the block parameter Select ASAM OpenDRIVE file to specify an ASAM OpenDRIVE file.
Dependencies
This parameter is available when you set Scene Source
is
set to either Unreal Executable
or Unreal
Engine
.
Data Types: Boolean
Name of a scene from the executable file specified by the Project name parameter, specified as a path to a valid scene name.
When you package scenes from an Unreal Engine project into an executable file, the Unreal Editor saves the scenes to internal folders within the executable file.
Default scenes are located at the path /Game/Maps
. Therefore, you
must prepend either /Game/Maps
to the scene name. Specify this path
using forward slashes. For the file name, do not specify the .umap
extension. For example, if the scene from the executable in which you want to simulate
is named myScene.umap
, specify Scene as
/Games/Maps/myScene
.
Alternatively, you can browse for the scene in the corresponding Unreal Engine
project. These scenes are typically saved to the Content/Maps
subfolder of the project. This subfolder contains all the scenes in your project. The
scenes have the extension .umap
. Select one of the scenes that you
packaged into the executable file specified by the File name
parameter. Use backward slashes and specify the .umap
extension for
the scene.
By default, Scene is set to
/Game/Maps/EmptyScene
, which is a scene from the default
VehicleSimulation.exe
executable file specified by the
Project name parameter.
Example: /Game/Maps/scene1
,
C:/Local/myProject/Content/Maps/scene1.umap
Dependencies
To enable this parameter, set Scene source to
Unreal Executable
.
Name of the Unreal Engine project file or RoadRunner file, specified as a valid project file name. You can either browse for the file or specify the full path to the file, using backslashes. The file name must contain no spaces.
To simulate scenes from Unreal Engine project file in the Unreal Editor, click Open Unreal Editor. If you have an Unreal Editor session open already, then this button is disabled.
To run the simulation, in Simulink, click Run. Before you click Play in the Unreal Editor, wait until the Diagnostic Viewer window displays this confirmation 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.
To simulate a RoadRunner scene, you can import files in Filmbox (.fbx
), Universal Scene Description (USD), RoadRunner scene (.rrscene
), or RoadRunner scenario (.rrscenario
) formats.
To simulate scenes in Filmbox (
.fbx
) format, browse for the folder containing the exported RoadRunner scene files and specify the.fbx
file.To simulate scenes in Universal Scene Description (USD) format, browse for the folder containing the exported RoadRunner scene files, and select the
.usd
,.usdc
, or.usda
files. The actors imported from USD files are not compatible with collision detection.To simulate scenes in RoadRunner scene or scenario (
.rrscene
or.rrscenario
) formats, browse for the folder containing the RoadRunner files, and select the corresponding file. Before simulation, you must configure RoadRunner integration with MATLAB using theroadrunnerSetup
function.Enter the
roadrunnerSetup
function in the MATLAB Command Window.The RoadRunner Setup dialog box opens.
Specify the RoadRunner Project Folder and RoadRunner Installation Folder locations.
Note
USD and RoadRunner scene or scenario (.rrscene
or
.rrscenario
) file import are not supported on Linux®.
Dependencies
Scene Parameters
Configure the placement of the virtual camera to set the viewpoint that displays the scene during simulation. The Scene view parameter list is populated with all the Name parameter values of the vehicle and actor blocks in your model, along with any additional custom viewpoints you have created. If you add a Simulation 3D Scene Configuration block to your model, the virtual camera remains positioned at the scene origin. To reposition the camera to a custom viewpoint or to follow a vehicle, or actor, update this parameter.
The table lists the Scene view parameter options if your model contains no vehicle blocks, actor blocks, or custom viewpoints.
Option | Description |
---|---|
Custom |
|
Scene Origin |
|
The table lists the additional options if your model contains vehicle blocks, actor blocks, or custom viewpoints.
Option | Description |
---|---|
Vehicle name |
|
sim3d actor name |
|
Viewpoint name |
|
Scene Controls
When Scene view is set to Scene Origin
or
Custom
, you can change the location of the camera to navigate in
the scene during simulation using keyboard and mouse control. You can also change the
camera location when the simulation is paused.
To navigate in the 3D environment, use these keyboard shortcuts.
Keyboard Shortcut | Camera Control |
---|---|
W | Move forward. |
Shift+W | Move faster in the forward direction. |
S | Move backward. |
Shift+S | Move faster in reverse direction. |
A | Move left. |
Shift+A | Move faster toward left. |
D | Move right. |
Shift+D | Move faster toward right. |
Q | Move up. |
Shift+Q | Move faster in the upward direction. |
E | Move down. |
Shift+E | Move faster in the downward direction. |
Mouse scroll wheel | Control the camera distance from the cursor point. |
Shift+mouse scroll wheel | Camera moves faster. |
Mouse right-click and drag | Orbit around the cursor point. |
O | Attach camera to actor under the cursor point. |
Mouse left-click and drag | Orbit around the actor after camera attaches to the actor. |
P | Detach camera from the actor. |
L | Record the current viewpoint and display |
1 to 9 | Access the stored viewpoints, if available. |
Tab | Cycle the view between all vehicles in the scene and the viewpoint at the start of the simulation, in the forward direction. |
Shift+Tab | Cycle the view between all vehicles in the scene and the viewpoint at the start of the simulation, in the reverse direction. |
I | Toggle the display of keyboard shortcuts on the screen. Press once to show and again to hide. |
Vehicle Views
When Scene view is set to a vehicle name, during simulation, you can change the location of the camera around the vehicle. You can also set the view to a vehicle during simulation by pressing Tab.
To smoothly change the camera views, use these keyboard shortcuts.
Keyboard Shortcut | Camera View | |
---|---|---|
1 | Back left |
|
2 | Back | |
3 | Back right | |
4 | Left | |
5 | Internal | |
6 | Right | |
7 | Front left | |
8 | Front | |
9 | Front right | |
0 | Overhead |
For additional camera controls, use these keyboard shortcuts.
Keyboard Shortcut | Camera Control |
---|---|
Tab | Cycle the view between all vehicles in the scene. |
Mouse scroll wheel | Control the camera distance from the vehicle. |
L | Toggle a camera lag effect on or off. When you enable the lag effect, the camera view includes:
This lag improves visualization of overall vehicle acceleration and rotation. |
F | Toggle the free camera mode on or off. When you enable the free camera mode, you can use the mouse to change the pitch and yaw of the camera. This mode allows you to orbit the camera around the vehicle. |
Since R2025a
Specify the name of the custom viewpoint as a character array or string scalar.
Example: View1
Dependencies
To enable this parameter, set Scene view to
Custom
.
Data Types: char
| string
Since R2025a
Specify the viewpoint translation (x,y,z) as a real 1-by-3 vector, in m.
Dependencies
To enable this parameter, set Scene view to
Custom
.
Data Types: double
Since R2025a
Specify the viewpoint rotation (roll, pitch, yaw) as a real 1-by-3 vector, in deg.
Dependencies
To enable this parameter, set Scene view to
Custom
.
Data Types: double
Since R2025a
Specify the viewpoint translation
(x,y,z) relative to
sim3d
actor origin as a real 1-by-3 vector, in m.
Dependencies
To enable this parameter, set Scene view to the
sim3d
actor name.
Data Types: double
Since R2025a
Specify the viewpoint rotation (roll, pitch,
yaw) relative to sim3d
actor origin as a real
1-by-3 vector, in deg.
Dependencies
To enable this parameter, set Scene view to the
sim3d
actor name.
Data Types: double
Sample time, Ts, of the visualization engine, specified as a real positive scalar. Units are in seconds.
The graphics frame rate of the visualization engine is the inverse of the sample
time. For example, if Sample time is
1/60
, then the visualization engine solver tries to achieve a
frame rate of 60 frames per second. However, the real-time graphics frame rate is
often lower due to factors such as graphics card performance and model
complexity.
By default, blocks that receive data from the visualization engine inherit this sample rate.
Weather
Select whether to control the scene weather and sun position during simulation. Use the enabled parameters to change the sun position, clouds, fog, rain, and snow.
This table summarizes sun position settings for specific times of day.
Time of Day | Settings | Unreal Editor Environment |
---|---|---|
Midnight | Sun altitude: -90 Sun azimuth: 180 | |
Sunrise in the north | Sun altitude: 0 Sun azimuth: 180 | |
Noon | Sun altitude: 90 Sun azimuth: 180 |
This table summarizes settings for specific cloud conditions.
Cloud Condition | Settings | Unreal Editor Environment |
---|---|---|
Clear | Cloud opacity: 0 | |
Heavy | Cloud opacity: 85 | |
Heavy | Enable Volumetric clouds: Selected Cloud Coverage: 50 Cloud layer altitude: 6 |
|
This table summarizes settings for specific fog conditions.
Fog Condition | Settings | Unreal Editor Environment |
---|---|---|
None | Fog density: 0 | |
Heavy | Fog density: 100 |
This table summarizes settings for specific rain conditions.
Rain Condition | Settings | Unreal Editor Environment |
---|---|---|
Light | Cloud opacity: 10 Rain density: 25 | |
Heavy | Cloud opacity: 10 Rain density: 80 |
This table summarizes settings for specific snow conditions.
Snow Condition | Settings | Unreal Editor Environment |
---|---|---|
Heavy | Snow density: 50 |
Sun
Azimuth angle in the horizontal plane measured from the south to the horizontal projection of the sun rays, in deg.
Use the Sun altitude and Sun azimuth parameters to control the time of day in the scene. For example, to specify sunrise in the north, set Sun altitude to 0 deg and Sun azimuth to 180 deg.
Dependencies
To enable this parameter, select Override scene weather.
Altitude angle in a vertical plane between the sun's rays and the horizontal projection of the rays, in deg.
Use the Sun altitude and Sun azimuth parameters to control the time of day in the scene. For example, to specify sunrise in the north, set Sun altitude to 0 deg and Sun azimuth to 180 deg.
Dependencies
To enable this parameter, select Override scene weather.
Select this check box to enable geospatial sun. Enabling geospatial sun is useful to simulate conditions near the poles or at locations with disproportionate lengths of day versus night.
Dependencies
To enable this parameter, select Override scene weather.
Latitude of geolocation on earth, specified as a scalar, in deg.
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Longitude of geolocation on earth, specified as a scalar, in deg.
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Date, specified as an integer in the format YYYY-MM-DD
.
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Time, specified as an integer in the format HH:MM:SS
.
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Time zone specifies the number of hours offset from the Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Select this check box to enable daylight saving time.
Dependencies
To enable this parameter, select Override scene weather and Enable geospatial sun.
Cloud
Parameter that corresponds to the Unreal Editor Cloud Speed global actor target value. The clouds move from west to east for positive values and east to west for negative values.
Use the Cloud opacity and Cloud speed parameters to control clouds in the scene.
Dependencies
To enable this parameter, select Override scene weather.
Parameter that corresponds to the Unreal Editor Cloud Opacity global actor target value, in percent. Zero is a cloudless scene.
Use the Cloud opacity and Cloud speed parameters to control clouds in the scene.
Dependencies
To enable this parameter, select Override scene weather.
Select this check box to enable volumetric clouds.
Dependencies
To enable this parameter, select Override scene weather.
Parameter that corresponds to the Unreal Editor Cloud Density global actor target value, in percent.
Use the Cloud coverage parameter to control clouds in the scene.
Dependencies
To enable this parameter, select Override scene weather and Enable volumetric clouds.
Parameter that corresponds to the Unreal Editor Layer Bottom Altitude global actor target value, in km.
Dependencies
To enable this parameter, select Override scene weather and Enable volumetric clouds.
Fog
Parameter that corresponds to the Unreal Editor Set Fog Density and Set Start Distance target values, in percent.
Dependencies
To enable this parameter, select Override scene weather.
Rain
Parameter corresponding to the Unreal Editor local actor that controls rain density, wetness, rain puddles, and ripples, in percent.
Use the Cloud opacity and Rain density parameters to control rain in the scene.
Dependencies
To enable this parameter, select Override scene weather.
Select this check box to enable raindrops on the camera lens.
Dependencies
To enable this parameter, select Override scene weather.
Snow
This parameter corresponds to the Unreal Editor global actor that controls snow density, in percent.
Dependencies
To enable this parameter, select Override scene weather.
More About
To control the scene weather and sun position, on the Weather tab, select Override scene weather. Use the enabled parameters to change the sun position, clouds, fog, and rain during the simulation.
Use Sun altitude and Sun azimuth to control the sun position.
Sun altitude — Altitude angle in a vertical plane between the sun rays and the horizontal projection of the rays.
Sun azimuth — Azimuth angle in the horizontal plane measured from the south to the horizontal projection of the sun rays.
Alternatively, select Enable geospatial sun to use Latitude, Longitude, Date, Time, and Time zone to control sun position. Enabling geospatial sun is useful to simulate conditions near the poles or at locations with disproportionate lengths of day versus night.
This table summarizes sun position settings for specific times of day.
Time of Day | Settings | Unreal Editor Environment |
---|---|---|
Midnight | Sun altitude: -90 Sun azimuth: 180 | |
Sunrise in the north | Sun altitude: 0 Sun azimuth: 180 | |
Noon | Sun altitude: 90 Sun azimuth: 180 |
Use Cloud opacity and Cloud speed to control clouds in the scene.
Cloud opacity — Unreal Editor Cloud Opacity global actor target value. Zero is a cloudless scene.
Cloud speed — Unreal Editor Cloud Speed global actor target value. The clouds move from west to east for positive values and east to west for negative values.
Select Enable volumetric clouds to use Cloud coverage and Cloud layer altitude to control volumetric clouds in the scene.
Cloud coverage — Unreal Editor Cloud Density global actor target value.
Cloud layer altitude — Unreal Editor Layer Bottom Altitude global actor target value.
This table summarizes settings for specific cloud conditions.
Cloud Condition | Settings | Unreal Editor Environment |
---|---|---|
Clear | Cloud opacity: 0 | |
Heavy | Cloud opacity: 85 | |
Heavy | Enable Volumetric clouds: Selected Cloud Coverage: 50 Cloud layer altitude: 6 |
|
Use Fog density to control fog in the scene. Fog density corresponds to the Unreal Editor Set Fog Density.
This table summarizes settings for specific fog conditions.
Fog Condition | Settings | Unreal Editor Environment |
---|---|---|
None | Fog density: 0 | |
Heavy | Fog density: 100 |
Use Cloud opacity and Rain density to control rain in the scene.
Cloud opacity — Unreal Editor Cloud Opacity global actor target value.
Rain density — Unreal Editor local actor that controls rain density, wetness, rain puddles, and ripples.
This table summarizes settings for specific rain conditions.
Rain Condition | Settings | Unreal Editor Environment |
---|---|---|
Light | Cloud opacity: 10 Rain density: 25 | |
Heavy | Cloud opacity: 10 Rain density: 80 |
Use Snow density to control snow in the scene.
Snow density — Unreal Editor global actor that controls snow density.
This table summarizes settings for specific snow conditions.
Snow Condition | Settings | Unreal Editor Environment |
---|---|---|
Heavy | Snow density: 50 |
Version History
You can import these RoadRunner scene files:
Universal Scene Description (
.usd
,.usdc
, and.usda
) fileRoadRunner scene or scenario (
.rrscene
or.rrscenario
) files
To specify the source of scene, set the Scene source
parameter as RoadRunner
. Then, in the Project
parameter, specify the corresponding RoadRunner scene file.
You can create custom viewpoints using the Custom
option from
the Scene view parameter. This option enables these parameters.
Name
Translation
Rotation
You can save the viewpoint to populate the Scene view parameter list with the viewpoint name. Select the viewpoint to set the view of the scene. You can also edit or delete the viewpoint.
You can set the Scene view parameter to the Name parameter of the Simulation 3D Actor block contained in your model. This option enables these parameters to set the location of the camera relative to the actor origin.
Viewer relative translation [X, Y, Z] (m)
Viewer relative rotation [Roll, Pitch, Yaw] (deg)
In addition to the default scenes, you can download and install any prebuilt 3D scenes available in the Unreal Engine environment for 3D simulation.
To select and download a scene, click Install. MATLAB restarts after the scene is installed. You can now select the installed scene from the Scene view parameter list.
Use new weather parameters to simulate additional weather conditions.
Weather | Parameters |
---|---|
Sun |
|
Cloud |
|
Rain |
|
Snow |
|
Use the Simulation 3D Scene Configuration block to import a RoadRunner scene and simulate in the scene. To specify the source of scene, select the
Scene source parameter as RoadRunner
. Then, in the
Project parameter, specify the Filmbox (.fbx)
file
corresponding to the RoadRunner scene. For an example, see Import RoadRunner Scene into Unreal Engine Using Simulink (Simulink 3D Animation).
Use the Simulation 3D Scene Configuration block to view the virtual world
from a camera positioned at a custom viewpoint. To set the custom viewpoint, select
Scene view as Custom
and set the Initial
viewer translation and Initial viewer rotation values. You
can also use keyboard shortcuts and mouse controls to navigate in the virtual world
scene.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: United States.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)