CARLA
 
载入中...
搜索中...
未找到
所有成员列表
ACityMapGenerator类 参考

#include <CityMapGenerator.h>

+ 类 ACityMapGenerator 继承关系图:
+ ACityMapGenerator 的协作图:

Public 成员函数

构造函数和析构函数
 ACityMapGenerator (const FObjectInitializer &ObjectInitializer)
 
 ~ACityMapGenerator ()
 
重写自UObject的方法
virtual void PreSave (const ITargetPlatform *TargetPlatform) override
 
道路地图相关方法
URoadMapGetRoadMap ()
 
- Public 成员函数 继承自 ACityMapMeshHolder
 ACityMapMeshHolder (const FObjectInitializer &ObjectInitializer)
 

Private 成员函数

重写自ACityMapMeshHolder的方法
virtual void UpdateMap () override
 
地图构建和更新相关的方法
void UpdateSeeds ()
 
void GenerateGraph ()
 
void GenerateRoads ()
 
void GenerateRoadMap ()
 

Private 属性

地图生成属性
uint32 MapSizeX = 20u
 地图在地图单位下的X尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。
 
uint32 MapSizeY = 20u
 地图在地图单位下的Y尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。
 
bool bGenerateRoads = true
 如果为假,则不添加网格,仅生成道路的内部表示形式。
 
bool bUseFixedSeed = true
 如果为假,则每次都会生成一个随机种子。
 
int32 Seed = 123456789
 生成的随机地图的种子。
 
道路地图相关属性
bool bTriggerRoadMapGeneration = false
 触发生成当前布局的道路地图图像(用于越野和对向车道入侵检测)。
 
uint32 PixelsPerMapUnit = 50u
 道路地图中每地图单位对应的像素分辨率。
 
bool bLeftHandTraffic = false
 道路地图是否应基于靠左行驶交通规则来生成。
 
bool bSaveRoadMapToDisk = true
 如果为真,将编码为图像的道路地图保存到磁盘。图像会保存到项目的“Saved”文件夹中。
 
bool bDrawDebugPixelsToLevel = false
 如果为真,会在关卡中为道路地图的每个像素绘制一个调试点。
 
bool bGenerateRoadMapOnSave = true
 道路地图在保存时会重新计算,所以我们总是存储最新版本。仅出于测试目的才取消勾选此选项,因为道路地图可能会与当前道路布局不同步。
 
bool bTagForSemanticSegmentation = false
 如果为真,激活关卡中每个被标记的演员的自定义深度通道。此通道对于渲染语义分割是必要的。然而,由于似乎不会对具有此值激活的对象应用遮挡,所以可能会增加性能开销。
 
URoadMapRoadMap
 
其他私有成员
TUniquePtr< MapGen::DoublyConnectedEdgeListDcel
 
TUniquePtr< MapGen::GraphParserDcelParser
 

额外继承的成员函数

- Protected 成员函数 继承自 ACityMapMeshHolder
void AddInstance (ECityMapMeshTag Tag, FTransform Transform)
 
void AddInstance (ECityMapMeshTag Tag, uint32 X, uint32 Y)
 
void AddInstance (ECityMapMeshTag Tag, uint32 X, uint32 Y, float Angle)
 
float GetMapScale () const
 
UStaticMesh * GetStaticMesh (ECityMapMeshTag Tag)
 
const UStaticMesh * GetStaticMesh (ECityMapMeshTag Tag) const
 
ECityMapMeshTag GetTag (const UStaticMesh &StaticMesh) const
 
FVector GetTileLocation (uint32 X, uint32 Y) const
 
virtual void OnConstruction (const FTransform &Transform) override
 
virtual void PostInitializeComponents () override
 
void SetStaticMesh (ECityMapMeshTag Tag, UStaticMesh *Mesh)
 

详细描述

在文件 CityMapGenerator.h19 行定义.

构造及析构函数说明

◆ ACityMapGenerator()

ACityMapGenerator::ACityMapGenerator ( const FObjectInitializer & ObjectInitializer)

在文件 CityMapGenerator.cpp48 行定义.

引用了 RoadMap.

◆ ~ACityMapGenerator()

ACityMapGenerator::~ACityMapGenerator ( )

在文件 CityMapGenerator.cpp54 行定义.

成员函数说明

◆ GenerateGraph()

void ACityMapGenerator::GenerateGraph ( )
private

在文件 CityMapGenerator.cpp106 行定义.

引用了 Dcel, DcelParser, MapGen::GraphGenerator::Generate(), MapSizeX, MapSizeY, Seed , 以及 UE_LOG().

被这些函数引用 UpdateMap().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateRoadMap()

void ACityMapGenerator::GenerateRoadMap ( )
private

在文件 CityMapGenerator.cpp259 行定义.

引用了 bDrawDebugPixelsToLevel, bLeftHandTraffic, bSaveRoadMapToDisk, bTagForSemanticSegmentation, ACityMapMeshHolder::GetMapScale(), CityMapMeshTag::GetRoadIntersectionSize(), ACityMapMeshHolder::GetTag(), LineTrace(), MapSizeX, MapSizeY, PixelsPerMapUnit, URoadMap::Reset(), RoadMap, URoadMap::SaveAsPNG(), URoadMap::SetPixelAt(), ATagger::TagActorsInLevel(), UE_LOG() , 以及 World.

被这些函数引用 PreSave() , 以及 UpdateMap().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateRoads()

void ACityMapGenerator::GenerateRoads ( )
private

在文件 CityMapGenerator.cpp150 行定义.

引用了 ADD_INTERSECTION, ACityMapMeshHolder::AddInstance(), Dcel, end(), CityMapMeshTag::GetRoadIntersectionSize(), FHalfEdgeCounter::Insert(), MapGen::TIntersection, MapGen::Turn90Deg, UE_LOG() , 以及 MapGen::XIntersection.

被这些函数引用 UpdateMap().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetRoadMap()

URoadMap * ACityMapGenerator::GetRoadMap ( )
inline

在文件 CityMapGenerator.h60 行定义.

◆ PreSave()

void ACityMapGenerator::PreSave ( const ITargetPlatform * TargetPlatform)
overridevirtual

在文件 CityMapGenerator.cpp60 行定义.

引用了 bGenerateRoadMapOnSave, GenerateRoadMap() , 以及 RoadMap.

+ 函数调用图:

◆ UpdateMap()

void ACityMapGenerator::UpdateMap ( )
overrideprivatevirtual

重载 ACityMapMeshHolder .

在文件 CityMapGenerator.cpp80 行定义.

引用了 bGenerateRoads, bTriggerRoadMapGeneration, GenerateGraph(), GenerateRoadMap(), GenerateRoads() , 以及 UpdateSeeds().

+ 函数调用图:

◆ UpdateSeeds()

void ACityMapGenerator::UpdateSeeds ( )
private

在文件 CityMapGenerator.cpp97 行定义.

引用了 bUseFixedSeed , 以及 Seed.

被这些函数引用 UpdateMap().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ bDrawDebugPixelsToLevel

bool ACityMapGenerator::bDrawDebugPixelsToLevel = false
private

如果为真,会在关卡中为道路地图的每个像素绘制一个调试点。

在文件 CityMapGenerator.h153 行定义.

被这些函数引用 GenerateRoadMap().

◆ bGenerateRoadMapOnSave

bool ACityMapGenerator::bGenerateRoadMapOnSave = true
private

道路地图在保存时会重新计算,所以我们总是存储最新版本。仅出于测试目的才取消勾选此选项,因为道路地图可能会与当前道路布局不同步。

在文件 CityMapGenerator.h159 行定义.

被这些函数引用 PreSave().

◆ bGenerateRoads

bool ACityMapGenerator::bGenerateRoads = true
private

如果为假,则不添加网格,仅生成道路的内部表示形式。

在文件 CityMapGenerator.h105 行定义.

被这些函数引用 UpdateMap().

◆ bLeftHandTraffic

bool ACityMapGenerator::bLeftHandTraffic = false
private

道路地图是否应基于靠左行驶交通规则来生成。

在文件 CityMapGenerator.h141 行定义.

被这些函数引用 GenerateRoadMap().

◆ bSaveRoadMapToDisk

bool ACityMapGenerator::bSaveRoadMapToDisk = true
private

如果为真,将编码为图像的道路地图保存到磁盘。图像会保存到项目的“Saved”文件夹中。

在文件 CityMapGenerator.h147 行定义.

被这些函数引用 GenerateRoadMap().

◆ bTagForSemanticSegmentation

bool ACityMapGenerator::bTagForSemanticSegmentation = false
private

如果为真,激活关卡中每个被标记的演员的自定义深度通道。此通道对于渲染语义分割是必要的。然而,由于似乎不会对具有此值激活的对象应用遮挡,所以可能会增加性能开销。

在文件 CityMapGenerator.h165 行定义.

被这些函数引用 GenerateRoadMap().

◆ bTriggerRoadMapGeneration

bool ACityMapGenerator::bTriggerRoadMapGeneration = false
private

触发生成当前布局的道路地图图像(用于越野和对向车道入侵检测)。

在文件 CityMapGenerator.h129 行定义.

被这些函数引用 UpdateMap().

◆ bUseFixedSeed

bool ACityMapGenerator::bUseFixedSeed = true
private

如果为假,则每次都会生成一个随机种子。

在文件 CityMapGenerator.h111 行定义.

被这些函数引用 UpdateSeeds().

◆ Dcel

TUniquePtr<MapGen::DoublyConnectedEdgeList> ACityMapGenerator::Dcel
private

在文件 CityMapGenerator.h177 行定义.

被这些函数引用 GenerateGraph() , 以及 GenerateRoads().

◆ DcelParser

TUniquePtr<MapGen::GraphParser> ACityMapGenerator::DcelParser
private

在文件 CityMapGenerator.h180 行定义.

被这些函数引用 GenerateGraph().

◆ MapSizeX

uint32 ACityMapGenerator::MapSizeX = 20u
private

地图在地图单位下的X尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。

在文件 CityMapGenerator.h93 行定义.

被这些函数引用 GenerateGraph() , 以及 GenerateRoadMap().

◆ MapSizeY

uint32 ACityMapGenerator::MapSizeY = 20u
private

地图在地图单位下的Y尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。

在文件 CityMapGenerator.h99 行定义.

被这些函数引用 GenerateGraph() , 以及 GenerateRoadMap().

◆ PixelsPerMapUnit

uint32 ACityMapGenerator::PixelsPerMapUnit = 50u
private

道路地图中每地图单位对应的像素分辨率。

在文件 CityMapGenerator.h135 行定义.

被这些函数引用 GenerateRoadMap().

◆ RoadMap

URoadMap* ACityMapGenerator::RoadMap
private

在文件 CityMapGenerator.h168 行定义.

被这些函数引用 ACityMapGenerator(), GenerateRoadMap() , 以及 PreSave().

◆ Seed

int32 ACityMapGenerator::Seed = 123456789
private

生成的随机地图的种子。

在文件 CityMapGenerator.h117 行定义.

被这些函数引用 GenerateGraph() , 以及 UpdateSeeds().


该类的文档由以下文件生成: