Main Content

RoadRunner Metadata Export

RoadRunner includes an extra metadata file for certain export options.

Metadata Overview

When exporting to Unity, Unreal, or CARLA, an additional ".rrdata.xml" file is generated during export. This file is used in combination with the RoadRunner import plugins to help cover the information not available in the FBX® file. The metadata file holds information about the materials included in the scene and holds traffic signal information. For examples on how to parse this information, refer to the Unity® or Unreal® plugins included with the RoadRunner installation under the "Tools" folder.

File Details

The metadata file continues to update as needed. The metadata version is stored under the top-level element (for example, <RoadRunnerMetadata Version="3">).

The data is organized into three main sections: SignalConfigurations, Signalization, and MaterialList.

SignalConfigurations

This section holds information about how the signal bulbs change for each configuration of a traffic light (for example, which bulbs are on and off during a green light or red light).

Example:

<Signal>
	<ID>{9b15662e-0dae-40d5-ab82-55e0077bcbc2}</ID> // GUID of the signal asset
	<Type>Straight Right</Type>                     // Supported turn types
	<Configuration>                                 // Configuration entry
		<Name>Red</Name>                            // State name
		<LightState>                                // Light bulb mesh state
			<Name>light_red_on</Name>               // Name of the mesh node in the signal's FBX
			<State>true</State>                     // "true" if mesh should be visible
		</LightState>
		<LightState>
			<Name>light_red_off</Name>              // Light bulbs typically have a corresponding mesh node for when the light is off
			<State>false</State>
		</LightState>
		...
	</Configuration>
	...
</Signal>

Signalization

This section holds information about each traffic junction in the scene and how each signal changes over time.

Example:

<Junction>
	<ID>{5c348c08-d2d7-423e-b560-04eb52ddcd10}</ID>                                 // GUID of the junction
	<SignalPhase>                                                                   // Each signal phase holds a list of intervals
		<Interval>                                                                  // Each interval represents the state of the junction (i.e. the northbound road currently has a yellow light)
			<Time>20</Time>                                                         // Duration of the interval
			<Signal>
				<ID>{d33d9030-c427-44ff-860b-486f3caf45b2}</ID>                     // GUID of the signal prop. This can be referenced to a node in the exported FBX
				<SignalAsset>{9b15662e-0dae-40d5-ab82-55e0077bcbc2}</SignalAsset>   // GUID of the signal asset. This can be referenced to the SignalConfigurations listed above
				<ConfigurationIndex>2</ConfigurationIndex>                          // Index into the list of configurations held in the signal asset
			</Signal>
			<Signal>
				<ID>{00dd1cc3-9b68-44dd-bb20-a3e49452606f}</ID>                     // All signals attached to the junction are listed
				<SignalAsset>{9b15662e-0dae-40d5-ab82-55e0077bcbc2}</SignalAsset>
				<ConfigurationIndex>0</ConfigurationIndex>
			</Signal>
			...
		</Interval>
		...
	</SignalPhase>
	...
</Junction>

MaterialList

This section contains a list of all the materials used in the scene, along with all the parameters so that they can be reconstructed in the target software.

Example:

<Material>
	<Name>Asphalt1</Name>                                       // Name of the material, matches the one stored in the FBX
	<DiffuseMap>Asphalt1_Diff.png</DiffuseMap>
	<NormalMap>Asphalt1_Norm.png</NormalMap>
	<SpecularMap>Asphalt1_Spec.png</SpecularMap>
	<AmbientColor>1.000000,1.000000,1.000000</AmbientColor>     // Ambient color matches diffuse
	<DiffuseColor>1.000000,1.000000,1.000000</DiffuseColor>
	<SpecularColor>0.058824,0.058824,0.058824</SpecularColor>
	<Roughness>0.150000</Roughness>
	<SpecularFactor>1.000000</SpecularFactor>
	<TransparencyFactor>0.000000</TransparencyFactor>           // Inverse of diffuse color alpha
	<Emission>0.000000</Emission>
	<TextureScaleU>0.35</TextureScaleU>
	<TextureScaleV>0.35</TextureScaleV>
	<TwoSided>false</TwoSided>
	<DrawQueue>0</DrawQueue>                                    // Render order for overlapping transparent markings
	<ShadowCaster>true</ShadowCaster>
	<IsDecal>false</IsDecal>                                    // Set to "true" for transparent markings
	<SegmentationType>Road</SegmentationType>
</Material>