|
Dungeon Generator
1.6.6
Procedural 3D dungeon generator plugin for Unreal Engine 5. Easy generation of levels, mini-maps and missions.
|
#include <DungeonGenerateParameter.h>
Public Member Functions | |
| UDungeonGenerateParameter (const FObjectInitializer &ObjectInitializer) | |
| virtual | ~UDungeonGenerateParameter () override=default |
| int32 | GetRandomSeed () const |
| int32 | GetGeneratedRandomSeed () const |
| int32 | GetNumberOfCandidateRooms () const |
| const FInt32Interval & | GetRoomWidth () const noexcept |
| const FInt32Interval & | GetRoomDepth () const noexcept |
| const FInt32Interval & | GetRoomHeight () const noexcept |
| int32 | GetHorizontalRoomMargin () const noexcept |
| int32 | GetVerticalRoomMargin () const noexcept |
| FDungeonGridSize | GetGridSize () const |
| bool | IsMergeRooms () const noexcept |
| bool | IsMovePlayerStartToStartingPoint () const noexcept |
| bool | IsUseMissionGraph () const noexcept |
| uint8 | GetAisleComplexity () const noexcept |
| bool | IsAisleComplexity () const noexcept |
| EFrequencyOfGeneration | GetFrequencyOfTorchlightGeneration () const noexcept |
| const FDungeonRoomRegister * | GetStartRoom () const |
| const FDungeonRoomRegister * | GetGoalRoom () const |
| int32 | GetDungeonRoomRegisterCount () const |
| const FDungeonRoomRegister * | FindDungeonRoomRegister (const uint32_t reservationNumber) const |
| void | EachDungeonRoomRegister (const std::function< bool(const FDungeonRoomRegister &)> &function) const |
| void | EachDungeonRoomLocator (const std::function< bool(const FDungeonRoomLocator &)> &function) const |
| int32 | GetDungeonRoomLocatorMaxDrawCount () const |
| UClass * | GetRoomSensorClass () const |
| UDungeonRoomSensorDatabase * | GetRoomSensorDatabase () const |
| FVector | ToWorld (const FIntVector &location) const |
| FVector | ToWorld (const uint32_t x, const uint32_t y, const uint32_t z) const |
| FIntVector | ToGrid (const FVector &location) const |
| void | SetRandomParameter () noexcept |
| virtual void | GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const override |
| virtual bool | IsSupportedForNetworking () const override |
| virtual void | PostLoad () override |
Static Public Member Functions | |
| static UDungeonGenerateParameter * | GenerateRandomParameter (const UDungeonGenerateParameter *sourceParameter) noexcept |
Protected Attributes | |
| int32 | RandomSeed = 0 |
| int32 | GeneratedRandomSeed = 0 |
| int32 | GeneratedDungeonCRC32 = 0 |
| FInt32Interval | RoomWidth = { 3, 8 } |
| FInt32Interval | RoomDepth = { 3, 8 } |
| FInt32Interval | RoomHeight = { 2, 4 } |
| uint8 | RoomMargin = 2 |
| uint8 | VerticalRoomMargin = 0 |
| uint8 | NumberOfCandidateRooms = 10 |
| bool | MergeRooms = false |
| EDungeonExpansionPolicy | ExpansionPolicy = EDungeonExpansionPolicy::ExpandHorizontally |
| uint8 | NumberOfCandidateFloors = 3 |
| bool | Flat = false |
| bool | MovePlayerStartToStartingPoint = true |
| EDungeonStartLocationPolicy | StartLocationPolicy = EDungeonStartLocationPolicy::UseSouthernMost |
| bool | UseMissionGraph = false |
| uint8 | AisleComplexity = 5 |
| bool | GenerateSlopeInRoom = false |
| bool | GenerateStructuralColumn = false |
| float | GridSize = 400.f |
| float | VerticalGridSize = 400.f |
| TObjectPtr< UDungeonMeshSetDatabase > | DungeonRoomMeshPartsDatabase |
| TObjectPtr< UDungeonMeshSetDatabase > | DungeonAisleMeshPartsDatabase |
| EDungeonPartsSelectionMethod | PillarPartsSelectionMethod = EDungeonPartsSelectionMethod::Random |
| TArray< FDungeonMeshParts > | PillarParts |
| EDungeonPartsSelectionMethod | TorchPartsSelectionMethod = EDungeonPartsSelectionMethod::Random |
| EFrequencyOfGeneration | FrequencyOfTorchlightGeneration = EFrequencyOfGeneration::Rarely |
| TArray< FDungeonRandomActorParts > | TorchParts |
| EDungeonPartsSelectionMethod | DoorPartsSelectionMethod = EDungeonPartsSelectionMethod::Random |
| TArray< FDungeonDoorActorParts > | DoorParts |
| TObjectPtr< UDungeonInteriorDatabase > | DungeonInteriorDatabase |
| TObjectPtr< UDungeonSubLevelDatabase > | DungeonSubLevelDatabase |
| TObjectPtr< UClass > | DungeonRoomSensorClass |
| TObjectPtr< UDungeonRoomSensorDatabase > | DungeonRoomSensorDatabase |
| uint8 | PluginVersion |
Friends | |
| class | ADungeonGenerateBase |
| class | ADungeonGenerateActor |
Dungeon generation parameter ダンジョン生成パラメータ
|
explicit |
コンストラクタ
|
overridevirtualdefault |
デストラクタ
| void UDungeonGenerateParameter::EachDungeonRoomLocator | ( | const std::function< bool(const FDungeonRoomLocator &)> & | function | ) | const |
抽選して生成するサブレベルの設定を更新します
| void UDungeonGenerateParameter::EachDungeonRoomRegister | ( | const std::function< bool(const FDungeonRoomRegister &)> & | function | ) | const |
必ず生成するサブレベルの設定を更新します
| const FDungeonRoomRegister * UDungeonGenerateParameter::FindDungeonRoomRegister | ( | const uint32_t | reservationNumber | ) | const |
予約番号から必ず生成するサブレベルの設定を検索します
|
staticnoexcept |
ランダムなダンジョンのパラメータを生成します
| sourceParameter | コピー元パラメータ(メッシュ等の設定をコピーします) |
|
inlinenoexcept |
通路の複雑度を取得します
| int32 UDungeonGenerateParameter::GetDungeonRoomLocatorMaxDrawCount | ( | ) | const |
生成するサブレベルの最大抽選数を取得します
| int32 UDungeonGenerateParameter::GetDungeonRoomRegisterCount | ( | ) | const |
必ず生成するサブレベルの数を取得します
|
inlinenoexcept |
燭台アクターの生成頻度を取得します
|
inline |
ダンジョン生成に使用した乱数の種を取得します
| const FDungeonRoomRegister * UDungeonGenerateParameter::GetGoalRoom | ( | ) | const |
ゴール部屋の設定を取得します
|
inline |
グリッドのサイズを取得します
|
inlinenoexcept |
部屋と部屋の水平方向の間隔(余白)を取得します
|
inline |
生成する部屋の候補数を取得します
|
inline |
ダンジョン生成に使用する乱数の種を取得します
|
inlinenoexcept |
部屋の奥行を取得します
|
inlinenoexcept |
部屋の高さを取得します
|
inline |
DungeonRoomSensorのクラスを取得します
|
inline |
DungeonRoomSensorのデータベースを取得します
|
inlinenoexcept |
部屋の幅を取得します
| const FDungeonRoomRegister * UDungeonGenerateParameter::GetStartRoom | ( | ) | const |
スタート部屋の設定を取得します
|
inlinenoexcept |
部屋と部屋の垂直方向の間隔(余白)を取得します
|
inlinenoexcept |
通路の複雑度が有効か?取得します
|
inlinenoexcept |
部屋と部屋を結合するか取得します
|
inlinenoexcept |
ゲーム開始時にPlayerStartアクターを移動するか?取得します
|
inlinenoexcept |
ミッショングラフを有効にするか取得します
|
noexcept |
ランダムなダンジョンのパラメータにリセットします
| FIntVector UDungeonGenerateParameter::ToGrid | ( | const FVector & | location | ) | const |
Converts from a grid coordinate system to a world coordinate system
グリッド座標系からワールド座標系への変換
| FVector UDungeonGenerateParameter::ToWorld | ( | const FIntVector & | location | ) | const |
Converts from a grid coordinate system to a world coordinate system
グリッド座標系からワールド座標系への変換
| FVector UDungeonGenerateParameter::ToWorld | ( | const uint32_t | x, |
| const uint32_t | y, | ||
| const uint32_t | z | ||
| ) | const |
Converts from a grid coordinate system to a world coordinate system
グリッド座標系からワールド座標系への変換
|
protected |
Aisle complexity (0 being the minimum aisle) MergeRooms and UseMissionGraph must be unchecked to enable AisleComplexity
通路の複雑さ(0が最低限の通路) AisleComplexityを有効にするには、MergeRoomsとUseMissionGraphのチェックを外す必要があります
|
protected |
Door Parts
ドアのメッシュパーツデータベース
|
protected |
How to generate door parts
ドアのパーツを生成する方法
|
protected |
Aisle mesh parts database
通路のメッシュパーツデータベース
|
protected |
Interior asset database
インテリアアセットのデータベースを指定して下さい。
|
protected |
Room mesh parts database
部屋のメッシュパーツデータベース
|
protected |
Specify the DungeonRoomSensorBase class, which is a box sensor that covers the room and controls doors and enemy spawn. DungeonRoomSensorDatabase takes precedence
DungeonRoomSensorBaseクラスを指定して下さい。 DungeonRoomSensorBaseは部屋を覆う箱センサーで、ドアや敵のスポーンを制御します。 DungeonRoomSensorDatabaseが優先されます
|
protected |
Specify the room sensor database The room sensor database specifies the arrangement and direction in the room
ルームセンサーのデータベースを指定して下さい ルームセンサーのデータベースは部屋の中の配置や演出を指定します
|
protected |
Specify the sublevel database. The sublevel database is the designation of the start and goal rooms and sublevels.
サブレベルのデータベースを指定して下さい。 サブレベルのデータベースはスタート部屋やゴール部屋、サブレベルの指定です。
|
protected |
Defines the direction in which rooms expand during dungeon generation. Each value influences room proliferation logic and is used to control the dungeon's structure (tall, wide, or mixed).
ダンジョン生成時に部屋をどの方向へ展開するかを定義します。 各値は部屋の増殖ロジックに影響し、ダンジョンの構造(縦長・横長・混在)を コントロールするために使用されます。
|
protected |
Generates a flat dungeon
平面的なダンジョンを生成します
|
protected |
Frequency of torchlight generation
燭台の生成頻度
|
protected |
CRC32 of the last dungeon generated
最後に生成されたダンジョンのCRC32
|
protected |
Seed of random numbers used for the last generation
最後の生成に使用された乱数のシード
|
protected |
Generate slopes in the room. May be enabled by future forcing.
部屋の中にスロープを生成する 将来的強制的に有効になる可能性があります。
|
protected |
Generate structural columns in the room May be enabled by future forcing.
部屋の中に構造柱を生成する 将来的強制的に有効になる可能性があります。
|
protected |
Horizontal voxel size
水平方向のボクセルサイズ
|
protected |
Horizontal room-to-room coupling
有効にすると部屋と部屋を結合します
|
protected |
PlayerStart is automatically moved to the start room at the start
開始時にPlayerStartを自動的にスタート部屋に移動します
|
protected |
Candidate Number of Generated Hierarchies This is used as a reference number of hierarchies for generation, not as the final number of hierarchies.
生成される階層数の候補 これは最終的な階層の数ではなく生成時の参考階層数として利用されます。
|
protected |
Candidate number of rooms to be generated This is the initial number of rooms to be generated, not the final number of rooms to be generated.
生成される部屋数の候補 これは最終的な部屋の数ではなく最初に生成される部屋の数です
|
protected |
Pillar Parts
柱のメッシュパーツデータベース
|
protected |
How to generate parts of pillar
柱のパーツを生成する方法
|
protected |
PluginVersion
プラグインバージョン
|
protected |
Seed of random number (if 0, auto-generated)
乱数のシード(0なら自動生成)
|
protected |
Room depth
部屋の奥行き
|
protected |
Room height
部屋の高さ
|
protected |
Horizontal room-to-room margins MergeRooms must be unchecked to enable Room Horizontal Margin
水平方向の部屋と部屋の空白 Room Horizontal Marginを有効にするにはMergeRoomsのチェックを外す必要があります
|
protected |
Room Width
部屋の幅
|
protected |
When generating dungeons, this specifies the criteria for selecting the room where the player starts. Each policy makes its determination based on the room's positional information (coordinates or floor level).
ダンジョン生成時に、プレイヤーの開始位置となる部屋を どの基準で選択するかを指定します。各ポリシーは部屋の 位置情報(座標や階層)に基づいて判定を行います。
|
protected |
Torch (pillar lighting) parts
燭台のメッシュパーツデータベース
|
protected |
How to generate parts for torch
燭台のパーツを生成する方法
|
protected |
Enable MissionGraph to generate missions with keys. MergeRooms must be unchecked and AisleComplexity must be 0 for UseMissionGraph to be enabled.
MissionGraphを有効にして、鍵を使ったミッション情報を生成します UseMissionGraphを有効にするには、MergeRoomsのチェックを外しAisleComplexityを0にする必要があります
|
protected |
Vertical voxel size
垂直方向のボクセルサイズ
|
protected |
Vertical room-to-room margins MergeRooms must be unchecked to enable Room Vertical Margin
垂直方向の部屋と部屋の空白 Room Vertical Marginを有効にするにはMergeRoomsのチェックを外す必要があります