1.8 KiB
1.8 KiB
UEPCG道路生成经验总结
道路模型生成与地形修改
UE5.6生成道路的几种方式
- LandscapeSplineActor沿曲线生成道路+MeshALandscape->UpdateLandscapeSplines 修改地形
- 关键点1:为整个曲线生成一个LandscapeSplineActor。为曲线上每一个采样点创建一个LandscapeSplineControlPoint,为每两个ControlPoint创建一个Segment。
- 关键点2:ControlPoint+Segement的bRaiseTerrain和bLowerTerrain设置为true
- 坑点:ControlPoint EndFallOff需要为0,否则每一段Segment会起波浪
- 不需要道路模型的,可以用 ALandscapeProxy->EditorApplySpline 在曲线层调整地形和调整地形材质。
- 坑点:用LandscapeSplineActor来生成Mesh时不能用,地形调整会被覆盖。
- LandscapeSplineActor + ULandscapeInfo->ApplySplines 来调整地形,理论上可行,因为关卡编辑器的地形编辑自己就是用这个方法去修正地形的,但是还没有跑通,我在关卡编辑器外部去调用时会崩溃。·
道边护栏
道边护栏是一种要求连续衔接的模型,在不同曲率的地方要对模型做弯折,USplineMeshComponent就是做这个用的,具体用法:
- 找一个轴向细分段数较多的模型作为基础模型。
- 将一整段曲线按一定长度分成多段(最好是按模型长度来,否则容易看出纹理拉伸,如果是重复纹理的模型,可以随意)
- 每一段生成一个SplineMeshComponent,设置Start,End和Tangent。
- 如何在中间随机一段不生成,或者生成坏的,待进一步研究。
- 电线杆+电线理论上也可以这么干
- 人行道也可以用这个方式,或者直接做在道路模型中。
路灯
路灯是一种按一定规律间隔出现的路边物体,不要求两两之间连续。可以用纯PCG逻辑生成。