#include <CityMapGenerator.h>
Public 成员函数 | |
构造函数和析构函数 | |
ACityMapGenerator (const FObjectInitializer &ObjectInitializer) | |
~ACityMapGenerator () | |
重写自UObject的方法 | |
virtual void | PreSave (const ITargetPlatform *TargetPlatform) override |
道路地图相关方法 | |
URoadMap * | GetRoadMap () |
![]() | |
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 |
如果为真,激活关卡中每个被标记的演员的自定义深度通道。此通道对于渲染语义分割是必要的。然而,由于似乎不会对具有此值激活的对象应用遮挡,所以可能会增加性能开销。 | |
URoadMap * | RoadMap |
其他私有成员 | |
TUniquePtr< MapGen::DoublyConnectedEdgeList > | Dcel |
TUniquePtr< MapGen::GraphParser > | DcelParser |
额外继承的成员函数 | |
![]() | |
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.h 第 19 行定义.
ACityMapGenerator::ACityMapGenerator | ( | const FObjectInitializer & | ObjectInitializer | ) |
在文件 CityMapGenerator.cpp 第 48 行定义.
引用了 RoadMap.
ACityMapGenerator::~ACityMapGenerator | ( | ) |
在文件 CityMapGenerator.cpp 第 54 行定义.
|
private |
在文件 CityMapGenerator.cpp 第 106 行定义.
引用了 Dcel, DcelParser, MapGen::GraphGenerator::Generate(), MapSizeX, MapSizeY, Seed , 以及 UE_LOG().
被这些函数引用 UpdateMap().
|
private |
在文件 CityMapGenerator.cpp 第 259 行定义.
引用了 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().
|
private |
在文件 CityMapGenerator.cpp 第 150 行定义.
引用了 ADD_INTERSECTION, ACityMapMeshHolder::AddInstance(), Dcel, end(), CityMapMeshTag::GetRoadIntersectionSize(), FHalfEdgeCounter::Insert(), MapGen::TIntersection, MapGen::Turn90Deg, UE_LOG() , 以及 MapGen::XIntersection.
被这些函数引用 UpdateMap().
|
inline |
在文件 CityMapGenerator.h 第 60 行定义.
|
overridevirtual |
在文件 CityMapGenerator.cpp 第 60 行定义.
引用了 bGenerateRoadMapOnSave, GenerateRoadMap() , 以及 RoadMap.
|
overrideprivatevirtual |
重载 ACityMapMeshHolder .
在文件 CityMapGenerator.cpp 第 80 行定义.
引用了 bGenerateRoads, bTriggerRoadMapGeneration, GenerateGraph(), GenerateRoadMap(), GenerateRoads() , 以及 UpdateSeeds().
|
private |
|
private |
|
private |
道路地图在保存时会重新计算,所以我们总是存储最新版本。仅出于测试目的才取消勾选此选项,因为道路地图可能会与当前道路布局不同步。
在文件 CityMapGenerator.h 第 159 行定义.
被这些函数引用 PreSave().
|
private |
|
private |
|
private |
如果为真,将编码为图像的道路地图保存到磁盘。图像会保存到项目的“Saved”文件夹中。
在文件 CityMapGenerator.h 第 147 行定义.
被这些函数引用 GenerateRoadMap().
|
private |
如果为真,激活关卡中每个被标记的演员的自定义深度通道。此通道对于渲染语义分割是必要的。然而,由于似乎不会对具有此值激活的对象应用遮挡,所以可能会增加性能开销。
在文件 CityMapGenerator.h 第 165 行定义.
被这些函数引用 GenerateRoadMap().
|
private |
|
private |
|
private |
在文件 CityMapGenerator.h 第 177 行定义.
被这些函数引用 GenerateGraph() , 以及 GenerateRoads().
|
private |
在文件 CityMapGenerator.h 第 180 行定义.
被这些函数引用 GenerateGraph().
|
private |
地图在地图单位下的X尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。
在文件 CityMapGenerator.h 第 93 行定义.
被这些函数引用 GenerateGraph() , 以及 GenerateRoadMap().
|
private |
地图在地图单位下的Y尺寸。地图单位是基于道路的瓦片网格来计算的(详见地图比例相关说明)。
在文件 CityMapGenerator.h 第 99 行定义.
被这些函数引用 GenerateGraph() , 以及 GenerateRoadMap().
|
private |
|
private |
在文件 CityMapGenerator.h 第 168 行定义.
被这些函数引用 ACityMapGenerator(), GenerateRoadMap() , 以及 PreSave().
|
private |