在 RoadRunner 和 ASAM OpenDRIVE 之间转换素材数据
RoadRunner 使您能够从 ASAM OpenDRIVE® (.xodr) 文件格式导入场景并将场景导出到该文件格式。
RoadRunner 素材在 ASAM OpenDRIVE 中以 XML 配置文件中的父元素(例如 Objects、Signals 和 Markings)和子元素(例如 Type、SubType、FilePath)来表示。在导出过程中,RoadRunner 会使用此配置文件将场景中现有的素材映射到适当的父元素和子元素上,以供 ASAM OpenDRIVE 表示。在导入过程中,RoadRunner 会解析 ASAM OpenDRIVE 和当前项目中现有的 RoadRunner 素材之间的映射。然后 RoadRunner 使用此映射将素材放置在场景中。
要在导入时指定素材,以及在将场景导出为 ASAM OpenDRIVE 文件格式时指定 Type 或 Subtype,您可以修改素材手动或交互地映射文件。有关如何交互式自定义素材的更多信息,请参阅 交互式配置素材映射文件。
手动配置素材映射文件
打开素材配置文件
素材配置文件是一个名为 OpenDriveAssetData.xml 的 XML 文件。每个 RoadRunner 项目都有自己的 OpenDriveAssetData.xml 配置文件,该项目中的所有场景共享该文件。该文件位于 RoadRunner 项目的 Project 文件夹中。
从此位置打开 OpenDriveAssetData.xml 文件,其中 ProjectFolder 是 RoadRunner 项目文件夹的路径。有关项目文件夹布局的更多详细信息,请参阅 RoadRunner 项目和场景系统。
ProjectFolder/Project/OpenDriveAssetData.xml探索文件结构
OpenDriveAssetData.xml 文件有一个顶级元素 OpenDriveAssetData,包含 Objects、Signals 和 Markings 元素分别指定道具、信号和车道标记。
此 XML 代码显示了 OpenDriveAssetData.xml 文件的模板,并列出了元素标记的重要性。Type 和 FilePath 是 Objects、Signals 和 Markings 标记的必填字段,而其他标记是可选字段,仅在导入过程中需要。有关这些元素的更多详细信息,请参阅 ASAM OpenDRIVE 表示。
<?xml version="1.0"?>
<OpenDriveAssetData>
<Objects>
...
<Object>
<Type> OpenDRIVE "type" </Type>
<Id> OpenDRIVE object "id" </Id>
<Name> OpenDRIVE object "name" </Name>
<Radius> OpenDRIVE object "radius" </Radius>
<Height> OpenDRIVE object "height" </Height >
<FilePath> Relative file path to RoadRunner asset </FilePath>
</Object>
...
</Objects>
<Markings>
...
<RoadMark>
<Type> OpenDRIVE "type" </Type>
<Color> OpenDRIVE "color" </Color>
<FilePath> Relative file path to RoadRunner asset </FilePath>
</RoadMark>
...
</Markings>
<Signals>
...
<Signal>
<Type> OpenDRIVE "type" </Type>
<SubType> OpenDRIVE "subtype" </SubType>
<Id> OpenDRIVE signal "id" </Id>
<Name> OpenDRIVE signal "name" </Name>
<Country> OpenDRIVE signal "country" </Country>
<Value> OpenDRIVE signal "value" </Value>
<FilePath> Relative file path to RoadRunner asset </FilePath>
<Variant> Variant of RoadRunner signal/sign asset (integer, where 0 is the first variant, 1 is the second, etc.) </Variant>
</Signal>
...
</Signals>
</OpenDriveAssetData>配置导出素材
使用此过程配置要导出的素材:
在文本编辑器中打开
OpenDriveAssetData.xml文件。当您创建新项目时,关联的OpenDriveAssetData.xml文件包含您可以修改的模板代码。对于未映射的道具、标志、信号或标记,以及您在 RoadRunner 画布中添加到场景的其他素材,请在配置文件中添加相应的
Object、Signal或Marking条目。例如,将
Drum01(道具)、ContinentalCrosswalk(标记)和Sign_CrossRoadAhead(信号)添加到场景后,OpenDriveAssetData.xml配置文件具有以下结构:<?xml version="1.0"?> <OpenDriveAssetData> <Objects> ... <Object> <Type>obstacle</Type> <FilePath>Props/TrafficControl/Drum01.fbx_rrx</FilePath> </Object> ... </Objects> <Markings> ... <RoadMark> <Type>broken</Type> <FilePath>Markings/DashedSingleWhite.rrlms</FilePath> </RoadMark> ... </Markings> <Signals> ... <Signal> <Type>Sign_CrossRoadAhead</Type> <FilePath>Signs/Sign_CrossRoadAhead.svg_rrx</FilePath> </Signal> ... </Signals> </OpenDriveAssetData>使用
obstacle作为Type素材的Drum01。要确定其他素材的标准Type值,请参阅 ASAM OpenDRIVE1.4 (or 1.5) Object Type规范。要确定
FilePath的Drum01值,请导航到 RoadRunner 中的 Library Browser。在Props文件夹下,选择TrafficControl文件夹,然后点击Drum01。在 Attributes 窗格中,Prop Model 标签旁边的文本Drum01.fbx_rrx是道具Drum01的文件名。通过浏览文件夹Props和TrafficControl来构建相对文件路径,以找到文件Drum01.fbx_rrx。因此,FilePath的Drum01标记的值为/Props/TrafficControl/Drum01.fbx_rrx。
保存您的项目并将其导出到 ASAM OpenDRIVE 文件。创建或修改
OpenDriveAssetData.xml文件后,无需重新启动 RoadRunner。要验证对象
Drum01是否已以 ASAM OpenDRIVE 格式正确导出,请选择 OpenDRIVE 导出预览工具。
Object Type 是
obstacle,这意味着 RoadRunner 素材已正确映射到 ASAM OpenDRIVE 表示。
如果
OpenDriveAssetData.xml文件中缺少道具或信号,则在 OpenDRIVE 导出预览工具中其 Object Type 为-1。例如,如果您将道具Luminaire_Arm_12ft添加到场景编辑画布,但未添加到配置文件,则 Object Type 会在 OpenDRIVE 导出预览工具中显示为-1,因为它未在相应的OpenDriveAssetData.xml文件中配置。
有关如何使用素材映射对话框交互配置 <Objects>、<Markings> 和 <Signals> 的信息,请参阅 交互式配置素材映射文件。
配置导入的素材
RoadRunner 中的 ASAM OpenDRIVE 导入选项使用 OpenDriveAssetData.xml 配置文件通过将 ASAM OpenDRIVE 表示映射到 RoadRunner 素材,将 ASAM OpenDRIVE 数据转换为内部道路格式。有关将 ASAM OpenDRIVE 文件导入 RoadRunner 的更多详细信息,请参阅 导入 ASAM OpenDRIVE 文件。
导入的 ASAM OpenDRIVE 文件中定义的 object、roadMark 或 signal 可能没有已指定 type 值,或者它们可能具有未定义的 type 值 -1。在这种情况下,您可以使用其他属性(例如 name、height 和 radius)将 ASAM OpenDRIVE 表示与 RoadRunner 素材关联起来。
例如,此导入的 ASAM OpenDRIVE 代码段显示 type= -1 对于 object id= 21。
<?xml version="1.0" encoding="UTF-8"?>
<OpenDRIVE>
...
<objects>
<object id="21" type="-1" name="post" height="3.65" radius="0.05"/>
</objects>
...
</OpenDRIVE>name 配置文件中的 OpenDriveAssetData.xml 属性来标识 object。<Object>
<Name>post</Name>
<Height>3.65</Height>
<FilePath>Props/Signals/Signal_Post_12ft.fbx</FilePath>
</Object>注意
OpenDriveAssetData.xml 文件区分大小写。映射应为大写,例如 <Type>pole</Type>。
请注意,这与 ASAM OpenDRIVE 文件中的小写属性不同,例如 type="pole"。
有关如何使用素材映射对话框交互配置 <Objects>、<Markings> 和 <Signals> 的信息,请参阅 交互式配置素材映射文件。
配置对象
<Object> 中的每个 <Objects> 元素指定用于呈现导入的 ASAM OpenDRIVE 对象类型的 RoadRunner 对象类型。该表描述了 <Object> 元素中的可配置元素。
<Object> 元素 | 必需或可选 | 描述 |
|---|---|---|
<Type> | 导出所需。可选择导入。 | 对象类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。 |
<Id> | 可选,仅用于导入。 | 对象 ID,基于 ASAM OpenDRIVE 地图服务指定的有效 ID。 |
<Name> | 可选,仅用于导入。 | 对象名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。 |
<ReferencePosition> | 可选的。 | 对象参考位置,由 ASAM OpenDRIVE 地图服务指定。 |
<Radius> | 可选,仅用于导入。 | 物体半径,以米为单位。RoadRunner 将每个导入的对象与具有最接近的指定 例如,假设 |
<Height> | 可选,仅用于导入。 | 物体高度,以米为单位。RoadRunner 将每个导入的对象与具有最接近的指定 |
<Ignore> | 可选的。 | 如果 |
<FilePath> | 必需。 | 用于渲染对象的素材文件的路径。此路径相对于 RoadRunner 工程的 Assets 文件夹。 |
有关如何使用“Asset Mapping”对话框以交互方式配置 <Objects> 的信息,请参阅 交互式配置素材映射文件。
配置标记
<RoadMark> 中的每个 <Markings> 元素指定用于渲染导入标记的素材。该表描述了 <RoadMark> 元素中的可配置元素。
<RoadMark> 元素 | 必需或可选 | 描述 |
|---|---|---|
<Type> | 导出所需。可选择导入。 | 道路标记类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。 |
<Color> | 可选的。 | 道路标记颜色,基于 ASAM OpenDRIVE 地图服务指定的有效颜色。 |
<FilePath> | 必需。 | 用于渲染道路标记的素材文件的路径。此路径相对于 RoadRunner 工程的 |
有关如何使用“Asset Mapping”对话框以交互方式配置 <Markings> 的信息,请参阅 交互式配置素材映射文件。
配置信号
<Signal> 中的每个 <Signals> 元素指定用于渲染导入信号的素材。该表描述了 <Signal> 元素中的可配置元素。
<Signal> 元素 | 必需或可选 | 描述 |
|---|---|---|
<Type> | 导出所需。可选择导入。 | 信号类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。 |
<SubType> | 可选的。 | 信号子类型,基于 ASAM OpenDRIVE 地图服务指定的有效子类型。 |
<Id> | 可选,仅用于导入。 | 信号 ID,基于 ASAM OpenDRIVE 地图服务指定的有效 ID。 |
<Name> | 可选,仅用于导入。 | 信号名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。 |
<ReferencePosition> | 可选的。 | 信号参考位置,由 ASAM OpenDRIVE 地图服务指定。 |
<Country> | 可选,仅用于导入。 | 国家/地区名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。 |
<Variant> | 可选,仅用于导入。 | 信号变体,基于 ASAM OpenDRIVE 地图服务指定的有效变体。 |
<Value> | 可选,仅用于导入。 | 信号值,由 ASAM OpenDRIVE 地图服务指定。 |
<FilePath> | 必需。 | 用于渲染信号的素材文件的路径。此路径相对于 RoadRunner 工程的 |
有关如何使用“Asset Mapping”对话框以交互方式配置 <Signals> 的信息,请参阅 交互式配置素材映射文件。
交互式配置素材映射文件
在 Assets 菜单中,选择 Asset Mapping 打开 Asset Mapping 对话框。将 Select Map type: 设置为 ASAM OpenDRIVE。这将启用 Objects、Markings 和 Signals 选项卡,您可以通过更新 OpenDriveAssetData.xml 配置文件来使用这些选项卡以交互方式映射素材。有关配置文件的更多信息,请参阅 探索文件结构。

在每个选项卡中,您可以点击一个条目来选择它,或者双击它来编辑它。
双击 FilePath 列中的条目以启用 ... 按钮。点击该按钮可浏览并指定 Assets folder 中的素材。
要以交互方式配置对象,请选择 Objects 选项卡并编辑这些表条目。
Type - 对象类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。
Id - 对象 ID,基于 ASAM OpenDRIVE 地图服务指定的有效 ID。
Name - 对象名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。
ReferencePosition - 对象参考位置,由 ASAM OpenDRIVE 地图服务指定。
Radius - 对象半径,由 ASAM OpenDRIVE 地图服务指定。
Height - 对象高度,由 ASAM OpenDRIVE 地图服务指定。
Ignore - 如果
true,RoadRunner 在导出场景时忽略该对象。否则,RoadRunner 会在导出时包含该对象。FilePath - 用于渲染对象的素材文件的路径。此路径相对于 RoadRunner 工程的
Assets文件夹。
要以交互方式配置道路标记,请选择 Markings 选项卡并编辑这些表条目。
Type - 道路标记类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。
Color - 道路标记颜色,基于 ASAM OpenDRIVE 地图服务指定的有效颜色。
FilePath - 用于渲染道路标记的素材文件的路径。此路径相对于 RoadRunner 工程的
Assets文件夹。
要以交互方式配置信号,请选择 Signals 选项卡并编辑这些表条目。
Type - 信号类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。
SubType - 信号子类型,基于 ASAM OpenDRIVE 地图服务指定的有效子类型。
Id - 信号 ID,基于 ASAM OpenDRIVE 地图服务指定的有效 ID。
Name - 信号名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。
ReferencePosition - 信号参考位置,由 ASAM OpenDRIVE 地图服务指定。
Country - 国家名称,基于 ASAM OpenDRIVE 地图服务指定的有效名称。
Variant - 信号变体,基于 ASAM OpenDRIVE 地图服务指定的有效变体。
Value - 信号值,由 ASAM OpenDRIVE 地图服务指定。
FilePath - 用于渲染信号的素材文件的路径。此路径相对于 RoadRunner 工程的
Assets文件夹。
当您在表中选择一个条目时,“Asset Mapping”对话框将显示该素材的预览。
注意
不显示无效文件路径的预览,并且这些路径以红色表示。
您可以通过点击要选择的每个条目旁边的复选框来选择表中的多个条目。选择条目将启用 Remove Selected Entries 按钮。点击此按钮可删除选定的条目。您还可以通过点击 Add New Entry 来添加用于映射素材的新条目。
通过点击 Apply Changes 将自定义素材映射保存到 OpenDriveAssetData.xml 配置文件。
您可以点击 Cancel 来放弃更改。点击 Cancel 会返回一个提示,确认您是否要应用更改、放弃更改或取消操作并返回素材映射。
另请参阅
OpenDRIVE 查看器工具 | OpenDRIVE 导出预览工具