Class that contains time information for simulated data. This information is automatically retrieved as part of the carla.WorldSnapshot the client gets on every frame, but might also be used in many other situations such as a carla.Sensor retrieveing data.
A class that contains every actor present on the scene and provides access to them. The list is automatically created and updated by the server and it can be returned using carla.World.
Filters a list of Actors matching `wildcard_pattern` against their variable __<font color="#f8805a">type_id</font>__ (which identifies the blueprint used to spawn them). Matching follows [fnmatch](https://docs.python.org/2/library/fnmatch.html) standard.
The simulation has some advanced configuration options that are contained in this class and can be managed using carla.World and its methods. These allow the user to choose between client-server synchrony/asynchrony, activation of "no rendering mode" and either if the simulation should run with a fixed or variable time-step. Check [this](adv_synchrony_timestep.md) out if you want to learn about it.
States the synchrony between client and server. When set to true, the server will wait for a client tick in order to move forward. It is false by default.
When enabled, the simulation will run no rendering at all. This is mainly used to avoid overhead during heavy traffic simulations. It is false by default.
Ensures that the time elapsed between two steps of the simulation is fixed. Set this to <b>0.0</b> to work with a variable time-step, as happens by default.
- var_name:substepping
type:bool
doc:>
Enable the physics substepping. This option allows computing some physics substeps between two render frames. If synchronous mode is set, the number of substeps and its time interval are fixed and computed are so they fulfilled the requirements of carla.WorldSettings.max_substep and carla.WorldSettings.max_substep_delta_time. These last two parameters need to be compatible with carla.WorldSettings.fixed_delta_seconds. Enabled by default.
- var_name:max_substep_delta_time
type:float
doc:>
Maximum delta time of the substeps. If the carla.WorldSettingsmax_substep is high enough, the substep delta time would be always below or equal to this value. By default, the value is set to 0.01.
- var_name:max_substeps
type:int
doc:>
The maximum number of physics substepping that are allowed. By default, the value is set to 10.
Used for large maps only. Configures the maximum distance from the hero vehicle to stream tiled maps. Regions of the map within this range will be visible (and capable of simulating physics). Regions outside this region will not be loaded.
- var_name:actor_active_distance
type:float
doc:>
Used for large maps only. Configures the distance from the hero vehicle to convert actors to dormant. Actors within this range will be active, and actors outside will become dormant.
Creates an object containing desired settings that could later be applied through carla.World and its method __<font color="#7fb800">apply_settings()</font>__.
Class that defines attachment options between an actor and its parent. When spawning actors, these can be attached to another actor so their position changes accordingly. This is specially useful for sensors. The snipet in carla.World.spawn_actor shows some sensors being attached to a car when spawned. Note that the attachment type is declared as an enum within the class.
With this fixed attatchment the object follow its parent position strictly. This is the recommended attachment to retrieve precise data from the simulation.
An attachment that expands or retracts the position of the actor, depending on its parent. This attachment is only recommended to record videos from the simulation where a smooth movement is needed. SpringArms are an Unreal Engine component so [check the UE docs](https://docs.unrealengine.com/en-US/Gameplay/HowTo/UsingCameras/SpringArmComponents/index.html) to learn more about them. <br><b style="color:red;">Warning:</b> The <b>SpringArm</b> attachment presents weird behaviors when an actor is spawned with a relative translation in the Z-axis (e.g. <code>child_location = Location(0,0,2)</code>).
Class that represents material parameters. Not all objects in the scene contain all parameters.
# - PROPERTIES -------------------------
instance_variables:
- var_name:Normal
doc:>
The Normal map of the object. Present in all objects.
- var_name:Diffuse
doc:>
The Diffuse texture of the object. Present in all objects.
- var_name:AO_Roughness_Metallic_Emissive
doc:>
A texture where each color channel represent a property of the material (R: Ambien oclusion, G: Roughness, B: Metallic, A:Emissive/Height map in some objects)
- var_name:Emissive
doc:>
Emissive texture. Present in a few objects.
# --------------------------------------
- class_name:TextureColor
# - DESCRIPTION ------------------------
doc:>
Class representing a texture object to be uploaded to the server. Pixel format is RGBA, uint8 per channel.
# - PROPERTIES -------------------------
instance_variables:
- var_name:width
type:int
doc:>
X-coordinate size of the texture.
- var_name:height
type:int
doc:>
Y-coordinate size of the texture.
# - METHODS ----------------------------
methods:
- def_name:__init__
params:
- param_name:width
type:int
- param_name:height
type:int
doc:>
Initializes a the texture with a (`width`, `height`) size.
- def_name:set_dimensions
params:
- param_name:width
type:int
- param_name:height
type:int
doc:>
Resizes the texture to te specified dimensions.
- def_name:get
return:carla.Color
params:
- param_name:x
type:int
- param_name:y
type:int
doc:>
Get the (x,y) pixel data.
- def_name:set
params:
- param_name:x
type:int
- param_name:y
type:int
- param_name:value
type:carla.Color
doc:>
Sets the (x,y) pixel data with `value`.
# --------------------------------------
- class_name:TextureFloatColor
# - DESCRIPTION ------------------------
doc:>
Class representing a texture object to be uploaded to the server. Pixel format is RGBA, float per channel.
# - PROPERTIES -------------------------
instance_variables:
- var_name:width
type:int
doc:>
X-coordinate size of the texture.
- var_name:height
type:int
doc:>
Y-coordinate size of the texture.
# - METHODS ----------------------------
methods:
- def_name:__init__
params:
- param_name:width
type:int
- param_name:height
type:int
doc:>
Initializes a the texture with a (`width`, `height`) size.
World objects are created by the client to have a place for the simulation to happen. The world contains the map we can see, meaning the asset, not the navigation map. Navigation maps are part of the carla.Map class. It also manages the weather and actors present in it. There can only be one world per simulation, but it can be changed anytime.
The ID of the episode associated with this world. Episodes are different sessions of a simulation. These change everytime a world is disabled or reloaded. Keeping track is useful to avoid possible issues.
If synchronous mode is enabled, and there is a Traffic Manager running, this must be set to sync mode too. Read [this](adv_traffic_manager.md#synchronous-mode) to learn how to do it.
This method is used in [__asynchronous__ mode](https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/). It starts callbacks from the client for the function defined as `callback`, and returns the ID of the callback. The function will be called everytime the server ticks. It requires a carla.WorldSnapshot as argument, which can be retrieved from __<font color="#7fb800">wait_for_tick()</font>__. Use __<font color="#7fb800">remove_on_tick()</font>__ to stop the callbacks.
This method is used in [__synchronous__ mode](https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/), when the server waits for a client tick before computing the next frame. This method will send the tick, and give way to the server. It returns the ID of the new frame computed by the server.
note:>
If no tick is received in synchronous mode, the simulation will freeze. Also, if many ticks are received from different clients, there may be synchronization issues. Please read the docs about [synchronous mode](https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/) to learn more.
This method is used in [__asynchronous__ mode](https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/). It makes the client wait for a server tick. When the next frame is computed, the server will tick and return a snapshot describing the new state of the world.
Determines how fixed and rigorous should be the changes in position according to its parent object.
doc:>
The method will create, return and spawn an actor into the world. The actor will need an available blueprint to be created and a transform (location and rotation). It can also be attached to a parent with a certain attachment type.
Looks up for an actor by ID and returns <b>None</b> if not found.
# --------------------------------------
- def_name:get_actors
return:carla.ActorList
params:
- param_name:actor_ids
type:list
default:None
doc:>
The IDs of the actors being searched. By default it is set to <b>None</b> and returns every actor on scene.
doc:>
Retrieves a list of carla.Actor elements, either using a list of IDs provided or just listing everyone on stage. If an ID does not correspond with any actor, it will be excluded from the list returned, meaning that both the list of IDs and the list of actors may have different lengths.
# --------------------------------------
- def_name:get_blueprint_library
return:carla.BlueprintLibrary
doc:>
Returns a list of actor blueprints available to ease the spawn of these into the world.
Returns an array of bounding boxes with location and rotation in world space. The method returns all the bounding boxes in the level by default, but the query can be filtered by semantic tags with the argument `actor_type`.
Freezes or unfreezes all traffic lights in the scene. Frozen traffic lights can be modified by the user but the time will not update them until unfrozen.
Returns the traffic light actor corresponding to the indicated OpenDRIVE id.
# --------------------------------------
- def_name:get_traffic_lights_from_waypoint
return:list(carla.TrafficLight)
params:
- param_name:waypoint
type:carla.Waypoint
doc:>
The input waypoint.
- param_name:distance
type:float
doc:>
Search distance.
doc:>
This function performs a search along the road in front of the specified waypoint and returns a list of traffic light actors found in the specified search distance.
# --------------------------------------
- def_name:get_traffic_lights_in_junction
return:list(carla.TrafficLight)
params:
- param_name:junction_id
type:int
doc:>
The id of the junction.
doc:>
Returns the list of traffic light actors affecting the junction indicated in `junction_id`.
This can only be used with walkers. It retrieves a random location to be used as a destination using the __<font color="#7fb800">go_to_location()</font>__ method in carla.WalkerAIController. This location will be part of a sidewalk. Roads, crosswalks and grass zones are excluded. The method does not take into consideration locations of existing actors so if a collision happens when trying to spawn an actor, it will return an error. Take a look at [`generate_traffic.py`](https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/generate_traffic.py) for an example.
Returns an object containing some data about the simulation such as synchrony between client and server or rendering mode.
# --------------------------------------
- def_name:get_snapshot
return:carla.WorldSnapshot
doc:>
Returns a snapshot of the world at a certain moment comprising all the information about the actors.
# --------------------------------------
- def_name:get_spectator
return:carla.Actor
doc:>
Returns the spectator actor. The spectator is a special type of actor created by Unreal Engine, usually with ID=0, that acts as a camera and controls the view in the simulator window.
# --------------------------------------
- def_name:get_weather
return:carla.WeatherParameters
doc:>
Retrieves an object containing weather parameters currently active in the simulation, mainly cloudiness, precipitation, wind and sun position.
# --------------------------------------
- def_name:set_weather
params:
- param_name:weather
type:carla.WeatherParameters
doc:>
New conditions to be applied.
doc:>
Changes the weather parameteres ruling the simulation to another ones defined in an object.
Casts a ray from the specified initial_location to final_location. The function then detects all geometries intersecting the ray and returns a list of carla.LabelledPoint in order.
# --------------------------------------
- def_name:project_point
return:carla.LabelledPoint
params:
- param_name:location
type:carla.Location
doc:>
The point to be projected.
- param_name:direction
type:carla.Vector3D
doc:>
The direction of projection.
- param_name:search_distance
type:float
doc:>
The maximum distance to perform the projection
doc:>
Projects the specified point to the desired direction in the scene. The functions casts a ray from location in a direction and returns a carla.Labelled object with the first geometry this ray intersects. If no geometry is found in the search_distance range the function returns `None`.
# --------------------------------------
- def_name:ground_projection
return:carla.LabelledPoint
params:
- param_name:location
type:carla.Location
doc:>
The point to be projected.
- param_name:search_distance
type:float
doc:>
The maximum distance to perform the projection
doc:>
Projects the specified point downwards in the scene. The functions casts a ray from location in the direction (0,0,-1) (downwards) and returns a carla.Labelled object with the first geometry this ray intersects (usually the ground). If no geometry is found in the search_distance range the function returns `None`.
Sets the percentage of pedestrians that can walk on the road or cross at any point on the road. Value should be between `0.0` and `1.0`. For example, a value of `0.1` would allow 10% of pedestrians to walk on the road. __Default is `0.0`__.
Sets the seed to use for any random number generated in relation to pedestrians.
note:>
Should be set before pedestrians are spawned.
If you want to repeat the same exact bodies (blueprint) for each pedestrian, then use the same seed in the Python code (where the blueprint is choosen randomly) and here, otherwise the pedestrians will repeat the same paths but the bodies will be different.
Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to `object_name`.
# --------------------------------------
- def_name:apply_float_color_texture_to_object
params:
- param_name:object_name
type:str
- param_name:material_parameter
type:carla.MaterialParameter
- param_name:texture
type:TextureFloatColor
doc:>
Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to `object_name`.
Applies all texture fields in carla.MaterialParameter to the object `object_name`. Empty textures here will not be applied.
# --------------------------------------
- def_name:apply_color_texture_to_objects
params:
- param_name:objects_name_list
type:list(str)
- param_name:material_parameter
type:carla.MaterialParameter
- param_name:texture
type:TextureColor
doc:>
Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to all objects in `objects_name_list`.
# --------------------------------------
- def_name:apply_float_color_texture_to_objects
params:
- param_name:objects_name_list
type:list(str)
- param_name:material_parameter
type:carla.MaterialParameter
- param_name:texture
type:TextureFloatColor
doc:>
Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to all objects in `objects_name_list`.
Helper class part of carla.World that defines methods for creating debug shapes. By default, shapes last one second. They can be permanent, but take into account the resources needed to do so. Take a look at the snipets available for this class to learn how to debug easily in CARLA.