在 RoadRunner 和 ASAM OpenDRIVE
RoadRunner 使您能够从 ASAM OpenDRIVE® (.xodr
) 文件格式导入和导出场景。
RoadRunner 素材使用父元素在 ASAM OpenDRIVE 中表示,例如 Objects
、 Signals
和 Markings
,以及 XML 配置文件中的子元素,例如 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
文件包含您可以修改的模板代码。在配置文件中为未映射的道具、标志、信号或标记添加相应的
Object
、Signal
或Marking
条目您添加到 RoadRunner 画布场景中的其他素材。例如,将
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
规范。要确定
Drum01
的FilePath
值,请导航至 RoadRunner 中的 Library Browser。在Props
文件夹下,选择TrafficControl
文件夹,然后单击Drum01
。在 Attributes 窗格中,Drum01.fbx_rrx
标签旁边的文本 Prop Model 是属性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
文件中缺少道具或信号,则其 Object Type 在 OpenDRIVE 导出预览工具中为-1
。例如,如果将道具Luminaire_Arm_12ft
添加到场景编辑画布,但未添加到配置文件,则 Object Type 将显示为-1
在 OpenDRIVE Export Preview Tool 中,因为它没有在相应的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>
OpenDriveAssetData.xml
配置文件中的 name
属性来标识 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>
的信息,请参阅 交互式配置素材映射文件。
配置对象
<Objects>
中的每个 <Object>
元素指定用于渲染导入的 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 文件夹。 |
有关如何使用“素材映射”对话框以交互方式配置 <Objects>
的信息,请参阅 交互式配置素材映射文件。
配置标记
<RoadMark>
中的每个 <Markings>
元素指定用于渲染导入标记的素材。该表描述了 <RoadMark>
元素中的可配置元素。
<RoadMark> 元素 | 必需或可选 | 描述 |
---|---|---|
<Type> | 导出所需。可选择导入。 | 道路标记类型,基于 ASAM OpenDRIVE 地图服务指定的有效类型。 |
<Color> | 可选。 | 道路标记颜色,基于 ASAM OpenDRIVE 地图服务指定的有效颜色。 |
<FilePath> | 必需。 | 用于渲染道路标记的素材文件的路径。该路径相对于 RoadRunner 项目的 |
有关如何使用“素材映射”对话框以交互方式配置 <Markings>
的信息,请参阅 交互式配置素材映射文件。
配置信号
<Signals>
中的每个 <Signal>
元素指定用于渲染导入信号的资源。该表描述了 <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 项目的 |
有关如何使用“素材映射”对话框以交互方式配置 <Signals>
的信息,请参阅 交互式配置素材映射文件。
交互式配置素材映射文件
在 Assets 菜单中,选择“素材映射”以打开“素材映射”对话框。将 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
文件夹。
当您在表中选择一个条目时,“素材映射”对话框将显示该素材的预览。
注意
不显示无效文件路径的预览,并且这些路径以红色表示。
您可以通过单击要选择的每个条目旁边的复选框来选择表中的多个条目。选择条目将启用 Remove Selected Entries 按钮。单击此按钮可删除选定的条目。您还可以通过单击 Add New Entry 为映射素材添加新条目。
单击 OpenDriveAssetData.xml
将自定义素材映射保存到 Apply Changes 配置文件。
您可以通过单击 Cancel 放弃更改。单击 Cancel 将返回一条提示,确认您是要应用更改、放弃更改还是取消操作并返回素材映射。
另请参阅
OpenDRIVE 查看工具 | OpenDRIVE 导出预览工具