4. 道路建模(下):交叉路口、车道线、路肩与坡度设置

上一章我们把直路、弯道和匝道的基本骨架搭起来了。但说实话,真实道路的灵魂全在细节里——交叉路口怎么接?车道线什么时候该断?路肩多宽才像真的?还有坡度,稍微没弄好,车开上去就跟坐过山车似的。这一章,咱们就把这些「下半场」的硬骨头啃下来。

道路建模(下)核心知识体系 交叉路口 十字路口 T型路口 环岛 车道线 & 路肩 车道线 & 路肩 车道线 & 路肩 坡度设置(纵坡/横坡) 坡度设置(纵坡/横坡) 坡度设置(纵坡/横坡) 🚦 真实感 + 可通行性 = 高质量场景

4.1 交叉路口:十字、T型与环岛

交叉路口是场景里最容易出bug的地方。我刚开始用Prescan时,做个十字路口,结果车到了路口中间直接「穿模」——因为路口连接处的拓扑没对上。后来我养成了一个习惯:先画中心点,再拉分支路。

核心原则: 所有汇入路口的道路,其终点/起点必须在同一个平面坐标点上,且道路角度要精确匹配。

十字路口:在Prescan里,我一般用「Intersection Wizard」快速生成。但如果你想要非对称路口(比如一侧3车道,另一侧2车道),就得手动调。我的做法是——先建好四条路,让它们的末端汇聚到同一个圆心,然后用「Connect Roads」工具。注意,连接后一定要检查车道映射,左转车道对没对上,经常需要手动微调。

T型路口:这个比十字简单,但有个坑——主干道是连续的,支路汇入。我习惯先把主干道拉通,然后在汇入点把支路「怼」上去。Prescan里有个「T-Junction」模板,但我建议你只用它做初始布局,因为模板默认的车道宽度不一定符合你的项目。我曾经在一个园区项目里,支路只有3.5米宽,模板给了4米,结果大车转弯直接压上路肩。

环岛:环岛是很多人的噩梦。其实Prescan的Roundroad工具挺好用,但你要注意:环岛半径和入口角度。半径太小,大车转不过来;入口角度太陡,车流汇入时会有急刹。我个人习惯先画一个参考圆,然后沿着圆周切向引出道路。环岛内的车道线是环形的,Prescan默认生成的是单车道环岛,如果你需要多车道,得手动添加车道偏移。

💡 我的小技巧: 做环岛时,先把所有入口道路的末端延伸到环岛边缘,再用「Smooth Connection」让过渡更自然。别直接用直角拼接,否则仿真时车辆会「跳」一下。

4.2 车道线与路肩

车道线看着简单,但细节决定真实感。Prescan里车道线分两种:标准标线和自定义标线。标准标线包括白实线、白虚线、黄实线、黄虚线、双黄线等。你可以在道路属性面板的「Lane Marking」里直接选。

但如果你要画导流线或者路口导向箭头,就得用自定义标线了。我一般用「Marking Tool」画一段一段的线,然后设置重复模式。举个例子,路口前的左转箭头:先画一个箭头形状的Polyline,然后把它设为「Repeat Along Lane」,间距设成20米。嗯,这里要注意——箭头方向必须和车道方向一致,否则车会逆行。

路肩(Shoulder)是很多人忽略的。路肩不只是好看,它影响车辆的侧倾和碰撞检测。Prescan里路肩宽度默认0.5米,但实际高速路的路肩有1.5到3米。我建议你在道路属性里找到「Shoulder Width」,根据道路等级调整:

道路类型路肩宽度(建议)路肩类型
高速公路2.0 - 3.0 m硬化路肩(Hardshoulder)
城市主干道1.0 - 1.5 m土路肩或硬化
乡村道路0.5 - 1.0 m土路肩
匝道0.5 - 1.0 m硬化路肩
⚠️ 注意: 路肩宽度不要超过车道宽度的一半,否则车辆可能会把路肩误认为车道。我曾经在测试AEB功能时,就因为路肩太宽,车总以为那是可行驶区域,结果虚报了好几次。

4.3 坡度设置:纵坡与横坡

坡度是让场景「活」起来的关键。Prescan支持两种坡度:纵坡(沿道路方向)和横坡(垂直道路方向,也就是路拱)。

纵坡设置:在道路属性里找到「Elevation Profile」,你可以添加多个控制点,每个点设置高程。我习惯先画一条平路,然后选中某一段,右键「Insert Elevation Point」,再输入高程值。注意,坡度变化要平滑,Prescan会自动插值。如果你需要一段上坡紧接着下坡(比如立交桥的引桥),建议在两个坡之间加一段平路过渡,否则曲率变化太大会导致车辆腾空。

横坡设置:横坡主要是为了排水。一般路面有2%的横坡,从中心线向两侧倾斜。Prescan里在「Cross Slope」里设置,正值表示左侧高右侧低(靠右行驶的国家)。我遇到过一个问题——设置了横坡后,车道线也跟着倾斜了,看起来有点奇怪。后来发现是「Apply to Lane Markings」选项默认勾选了,取消勾选就好了。

实战经验: 做高架桥场景时,纵坡和横坡要配合。我一般先定纵坡(比如5%上坡),再设横坡(2%),最后检查桥面边缘的标高是否一致。如果桥面和引桥的接缝处标高差超过2cm,仿真时车轮会「咯噔」一下。

最后说一个容易踩的坑:坡度和交叉路口结合。比如一个带坡度的十字路口,四条路的纵坡方向不同,在路口中心点的高程必须完全一致。我通常的做法是:先确定路口中心的高程,然后每条路从中心点向外延伸,用「Match Elevation at Junction」功能自动对齐。如果手动调,记得把每条路的末端高程设成同一个值。

💡 检查方法: 在Prescan里按「E」键打开高程热力图,颜色越均匀说明坡度过渡越自然。如果出现红蓝突变,说明那里有个「台阶」,赶紧回去调。

好了,这一章的内容就是这些。交叉路口、车道线、路肩、坡度——每一个单独看都不难,但组合在一起,就是考验耐心和细致的时候了。我个人觉得,道路建模的下半场,其实就是在「抠细节」。你把这些细节抠到位了,场景的真实感自然就上来了。