Main Content

本页采用了机器翻译。点击此处可查看最新英文版本。

创建简单的 RoadRunner 场景

RoadRunner 是一款交互式编辑器,可让您设计用于模拟和测试自动驾驶系统的 3D 场景。此示例演示如何创建一个简单场景,其中包含周围地形中的交叉路口、桥梁和树木,类似于此处显示的场景:

A simple RoadRunner scene

先决条件

在开始此示例之前,请确保您的系统满足以下先决条件:

尽管此示例涵盖了一些基本的相机操作,但为了更全面地了解 RoadRunner 相机的工作原理,请考虑首先查看 RoadRunner 中的摄像机控制 示例。

创建新场景和项目

在 RoadRunner 中,您创建的每个场景都是项目的一部分,该项目是一个素材(场景组件)文件夹,可以在该项目中的所有场景之间共享。创建一个新场景和一个放置该场景的新项目。

  1. 打开 RoadRunner,然后从开始页面单击 New Scene

  2. 在“选择项目”窗口中,单击 New Project

  3. 在文件系统中,浏览到要在其中创建项目的空文件夹。如果不存在空文件夹,请创建一个并将其命名 My Project。文件夹名称将成为项目的名称。

  4. 出现提示时,单击 Yes 在您的项目中安装 RoadRunner Asset Library。

RoadRunner 将打开一个带有空场景编辑画布的新场景。

Empty RoadRunner scene editing canvas

您指定的项目名称出现在标题栏中。场景的名称也会出现在标题栏中,但在您保存场景并为其命名之前,它会显示为 New Scene

RoadRunner title bar

您可以随时从 File 菜单创建新场景、更改场景或更改项目。当您重新打开 RoadRunner 时,您可以在最近场景列表中选择您从起始页处理过的最近场景。

添加道路

当您打开新场景时,RoadRunner 将打开并选择 Road Plan Tool 。有关使用此工具的说明显示在底部状态栏中。通过在选择此工具的情况下在场景编辑画布中右键单击,您可以添加塑造道路几何形状的控制点。

  1. 在场景编辑画布的底部中心,右键单击以添加新道路的第一个控制点。

    Red control point at bottom-center of canvas

  2. 在画布的顶部中心,右键单击以添加第二个控制点并形成第一个路段。

    Road segment running from bottom to top of canvas

  3. 在远离道路的地方单击以取消选择道路并完成创建。

    Finished road, no longer selected

  4. 通过右键单击第一条道路的左侧、右键单击其右侧,然后单击远离道路的位置,创建一条与第一条道路相交的新直线道路。两条路形成一个交叉口。

    Straight intersecting roads that form a junction

到目前为止,您已经创建了笔直的道路。要形成弯曲道路,请右键单击多次以向道路添加其他控制点。创建一条与交叉路口重叠的弯曲道路。

  1. 在交叉路口的左上象限内单击鼠标右键。

  2. 在交叉路口的右上象限内右键单击。第一个创建的路段是直的。

  3. 右键单击交叉路口的右下象限。交叉路口和弯曲道路围成的区域形成地面。

    Curved road added to intersection in three steps

您可以通过选择道路端点并右键单击添加更多控制点来延伸现有道路。

  1. 在您创建的弯曲道路中,单击以选择画布顶部附近的末端。

  2. 右键单击交叉路口的左端。RoadRunner 创建一条满足必要几何约束的道路。封闭区域再次形成地面。

    Road connecting the left side of the curved road to the left side of the intersection

要修改任何道路,请单击将其选中,然后尝试拖动其控制点或移动整条道路。您还可以右键单击道路来添加其他控制点。例如,在此道路网络中,您可以添加控制点来平滑交叉路口左侧的曲线。

添加表面地形

到目前为止,只有道路包围的区域包含地表地形。要在整个道路网络周围添加表面地形,可以使用路面工具

  1. 在工具栏中,单击 Surface Tool 按钮。选择新工具会将 RoadRunner 置于不同的模式下,从而实现新的交互并可选择不同的场景对象。选择 Surface Tool 后,道路不再可选,但路面节点变为可选。

    Road networks with surface nodes selectable

  2. 通过使用滚轮或按住 Alt 并右键单击然后向下或向左拖动来缩小场景。

    Road network zoomed out

  3. 右键单击道路网络上方以添加新的表面节点。然后,继续右键单击道路周围的点以形成一个圆圈。当您再次到达顶部节点时,右键单击它以连接曲面图并将曲面提交到画布。

    Surface being added around road network in 6 steps

要修改曲面尺寸,请单击并拖动曲面节点。要修改曲面的曲线,请单击节点之间的线段,然后单击并拖动切线。

添加高程和桥梁

至此,场面已经平淡。通过更改其中一条道路的高度来修改场景中的标高。

  1. 按住Alt然后单击并拖动相机以一定角度查看场景。

    Scene viewed at an angle

  2. 单击 Road Plan Tool 按钮可再次选择道路。然后,单击以选择您创建的第一条弯曲道路。

    Curved road selected

  3. 要抬高道路,请使用 2D Editor,它使您能够查看场景方面,例如道路轮廓和道路横截面。在 2D Editor 中,选择道路轮廓并将其升高约 10 米。

    On left, 2D Editor with road flat. On right, 2D Editor with road raised 10 meters.

    现在,道路在场景画布中的交叉路口上方已升高。高架道路不是形成交叉口,而是形成立交桥。

    Curved road elevated above the intersection

道路依附于地表地形。当您抬高道路时,地形也会随之抬高。增加高程可能会导致立交桥下方出现视觉伪影。为了解决这个问题,您可以使用道路构造工具 创建桥跨。

  1. 旋转相机并放大以查看立交桥上的视觉伪影。

    Road with visual artifacts present

  2. 单击道路构造工具按钮。

  3. 在左侧工具栏上,单击 Auto Assign Bridges 按钮 。此操作仅在使用道路构造工具时才可用,仅将区域正上方的路段转换为桥跨。使用默认桥跨膨胀并单击 OK。道路跨度被转换为桥梁,视觉伪影被消除。

    Road with bridge spans and no visual artifacts

    如果桥梁未正确形成,请尝试调整道路标高或桥跨膨胀并重新运行 Auto Assign Bridges 操作。

修改交叉口

某些工具使您能够选择和修改交叉口的属性。修改四路交叉路口的拐角半径。

  1. 单击 Corner Tool 按钮 ,然后单击以选择四向交叉路口。

    Intersection with four-way intersection selected

  2. 默认情况下,交叉口的角半径为5米。使用 Attributes 窗格增加此值。此窗格包含有关当前所选项目的信息和可编辑属性。在 Corner Tool 中,选择交叉口会选择该交叉口的所有四个角,因此您可以同时修改所有四个角的属性。

    Attributes 窗格中,将所有四个角的 Corner Radius 属性设置为 10

    Attributes pane of junction with Corner Radius set to 10

    交叉口拐角在场景编辑画布中展开。

    Intersection with junction corners expanded

或者,您可以通过单击属性名称 Corner Radius attribute name selected 来修改属性值 Corner Radius

添加人行横道

在交叉路口添加人行横道。

  1. 旋转相机从上到下查看交叉路口。要将相机聚焦在选定的交叉路口上,请按F键。

    Top-down view of intersection

  2. 单击 Crosswalk and Stop Line Tool 按钮 。交叉路口显示蓝色 V 形,用于向交叉路口添加停止线。

    Intersection with blue chevrons that preview where stop lines are added

  3. Library Browser 中,选择要添加到交叉路口的人行横道。Library Browser 存储可添加到场景的所有素材。素材包括 3D 对象、标记、纹理和材质。

    Library Browser 中,选择 Markings 文件夹,然后选择 ContinentalCrosswalk 素材。素材预览显示在素材查看器中。

    Library Browser with continental crosswalk asset selected

  4. 在交叉路口内单击以清除蓝色 V 形。然后,右键单击交叉路口以将选定的人行横道素材应用到交叉路口。

    Intersection with crosswalk

添加转弯车道

将交叉路口的其中一条道路转换为更复杂的高速公路,其中包括带箭头标记的转弯车道。

改变道路风格

现有道路均采用默认道路样式,为简单的两车道分立式高速公路,设有人行道。更新交叉路口的其中一条道路以使用带有额外车道的道路样式。

  1. 缩小并旋转相机,以类似于此处所示的角度查看场景。

    Scene viewed at an angle, with one of the intersecting roads facing the camera

  2. Library Browser 中,打开 RoadStyles 文件夹,然后选择 MainStreetCenterTurn 素材。该道路样式素材包括路肩车道、每侧两条超车道和一条中间车道。(可选)在素材查看器中旋转和移动相机以检查道路样式。

    Library Browser with road style asset selected

  3. 将选定的道路样式拖到最靠近相机的道路上,如下所示。道路更新为新样式并切换回道路规划工具。道路保持先前应用的拐角半径和人行横道样式。

    Road with new road style applied

在交叉路口创建转弯车道

在交叉路口附近创建一条短的左转车道。

  1. 旋转相机并放大具有新道路样式的道路一侧的人行横道附近。

    One side of intersection with the crosswalk at the top and the median lane at the center

  2. 单击 Lane Carve Tool 按钮 。此工具使您能够在现有车道中创建锥形切口以形成转弯车道。

  3. 单击以选择道路。然后,右键单击中间车道右侧要开始逐渐变细的位置。将蓝线对角拖动到中间车道的左侧,您希望在此结束锥形切口并开始转弯车道。

    Marking carve operation applied to median lane

  4. 新形成的转弯车道仍保留中间车道的风格。更新车道标记以匹配标准转弯车道的样式。

    1. Library Browser 中,选择 SolidSingleWhite 素材并将其拖动到转弯车道的右侧。车道标记变为单白实线。

      Asset dragged onto right side of turning lane to change it into a solid single white line

    2. 选择 SolidDoubleYellow 素材并将其拖动到形成转弯车道左侧的两个标记段上。车道标记线段变为双黄实线。

      Assets dragged onto left side of turning lane to change them into solid double yellow lines

  5. 在车道上添加一个转向箭头。在 StencilsLibrary Browser 文件夹中,选择 Stencil_ArrowType4L 素材。将此素材拖动到转弯车道中要添加箭头模具的位置。

    Left arrow stencil dragged to bottom of turning lane

  6. 通过添加箭头模板,RoadRunner 选择点标记工具 使其成为活动工具。现在,您可以通过右键单击要添加第二个箭头的位置来添加它。

    Left arrow stencil copied above the previous stencil

  7. 修改箭头的标记材质,使它们看起来更磨损。首先,选择两个箭头。在 Library BrowserMarkings 文件夹中,选择 LaneMarking2 材质素材。然后,将此素材拖动到所选箭头的 Attributes 窗格中,并拖动到现有 LaneMarking1 材质素材上方。

    Lane marking texture dragged from Library Browser to the Attributes pane for the selected arrows

    箭头更新为使用看起来更磨损的新材质。

    Turning arrows with new material applied

重复这些步骤以在交叉路口的另一侧创建转弯车道。

Intersection with turning lanes on both sides

添加道具

要增强场景的更多细节,请为其添加道具。 道具是 3D 对象,例如可以放置在道路上和周围的立柱、杆子和标志。使用多种技术在道路周围添加树木道具。

添加单独的道具

将灌木丛添加到地形的一部分。

  1. 缩小并旋转相机以适应整个道路网络和周围地形的视野。

    Scene with full road network and surrounding terrain in view

  2. Library Browser 中,打开 Props 文件夹并选择 Trees 子文件夹。

  3. 选择灌木丛道具(以 Bush_ 开头的素材文件之一)。将灌木丛拖到场景的一部分上。RoadRunner 切换到道具点工具 。将其他灌木拖到场景中或右键单击以添加更多灌木。所有灌木丛均与地表地形对齐。

    Three bushes added to scene

沿曲线添加道具

沿着曲线添加道具以遵循道路边缘。

  1. 单击 Prop Curve Tool 按钮

  2. Library BrowserTrees 文件夹中,选择加州棕榈树道具(以 CalPalm_ 开头的素材文件之一) 。

  3. 沿着交叉路口一侧的道路边缘右键单击,为其添加一行棕榈树。在远离曲线道具的地方单击以完成线条。

    A line of palm trees along one edge of the road

  4. 为了使跨度中的每棵树都可以移动和选择,您可以将曲线转换为单独的道具。选择曲线道具,然后在 Attributes 窗格中单击 Bake。棕榈树变成单独的道具, RoadRunner 切换到道具点工具。将一些棕榈树移到交叉路口的另一侧。

    Palm trees converted to individual props and distributed along both sides of the intersection

或者,要沿道路跨度添加道具,您可以单击 Prop Span Tool 按钮 ,选择一条道路,然后将道具拖动到道路边缘。

在指定区域添加道具

在地面的指定区域添加道具。

  1. 单击 Prop Polygon Tool 按钮

  2. Library BrowserTrees 文件夹中,选择柏树道具(以 Cypress_ 开头的素材文件之一)。

  3. 右键单击地表地形的空白区域以绘制包含所选道具的多边形。单击远离多边形的位置以完成绘制。然后移动点或切线来改变多边形的形状。

    Cypress tree props added to a polygon. A tangent to the polygon is selected, which modifies the shape of the polygon.

  4. (可选)使用 Attributes 窗格中的属性修改多边形道具。例如,要增加或减少多边形中的道具数量,请使用 Density 属性。要随机化多边形中素材的分布,请单击 Randomize

添加不同类型的道具

到目前为止,您已经向场景添加了一种类型的道具。要同时向场景添加多种道具,您可以创建道具集。

  1. Library Browser 中,在 Trees 文件夹中,按住Ctrl并选择您在前面部分中添加到场景中的三个道具。

  2. 选择 New,然后 Prop Set 并为道具集命名。新的道具组存储在 Trees 文件夹中。Attributes 窗格显示集合中的三个道具以及道具集的预览。

    Attributes pane displaying a prop set containing a bush, palm tree, and cypress tree

  3. 单击 Prop Polygon Tool 按钮。在包含新道具集的地形空白部分创建多边形道具。

    Prop set added to terrain

    或者,您还可以通过将道具集拖动到柏树的多边形上,将现有的柏树道具替换为新的道具集。

其他值得尝试的事情

您现在已经创建了一个简单的道路网络,其中包含真实的转弯车道、多个立交桥和不同类型的树木。

Final RoadRunner scene

您现在可以使用其他工具增强场景。例如,尝试以下操作:

此外,您可以尝试将场景导出为支持的导出格式之一。这些导出选项位于 File 菜单上的 Export 下。要在导出前自定义导出选项,请使用场景导出预览工具。如果您要导出到 ASAM OpenDRIVE®,请使用OpenDRIVE 导出预览工具。此图显示了单击 OpenDRIVE Export Preview Tool 按钮 时创建的场景的导出预览的外观。

Preview of RoadRunner scene when exporting to ASAM OpenDRIVE

如果您想要创建基于真实世界位置的新场景,则可以将地理信息系统 (GIS) 数据(例如航空图像)导入 RoadRunner 并围绕其创建场景。有关示例,请参见 围绕导入的 GIS 素材创建道路

相关主题