Navigation
API > API/Plugins > API/Plugins/WaveFunctionCollapse
| Name | UWaveFunctionCollapseSubsystem |
| Type | class |
| Header File | /Engine/Plugins/Experimental/WaveFunctionCollapse/Source/WaveFunctionCollapse/Public/WaveFunctionCollapseSubsystem.h |
| Include Path | #include "WaveFunctionCollapseSubsystem.h" |
Syntax
UCLASS ()
class UWaveFunctionCollapseSubsystem : public UEditorSubsystem
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → USubsystem → UDynamicSubsystem → UEditorSubsystem → UWaveFunctionCollapseSubsystem
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bUseEmptyBorder | bool | WaveFunctionCollapseSubsystem.h |
|
|
| Orientation | FRotator | WaveFunctionCollapseSubsystem.h |
|
|
| OriginLocation | FVector | WaveFunctionCollapseSubsystem.h |
|
|
| Resolution | FIntVector | WaveFunctionCollapseSubsystem.h |
|
|
| StarterOptions | TMap< FIntVector, FWaveFunctionCollapseOption > | WaveFunctionCollapseSubsystem.h |
|
|
| WFCModel | TObjectPtr< UWaveFunctionCollapseModel > | WaveFunctionCollapseSubsystem.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
AActor * Collapse
(
int32 TryCount, |
Solve a grid using a WFC model. If successful, spawn an actor. | WaveFunctionCollapseSubsystem.h |
|
void DeriveGridFromTransformBounds
(
const TArray< FTransform >& Transforms |
Derive grid from the bounds of an array of transforms Assumptions: -Transforms can only represent a single grid -Sets empty starter option if there is a valid grid position with no transform -Orientation is determined by the yaw of the first transform in the array | WaveFunctionCollapseSubsystem.h |
|
void DeriveGridFromTransforms
(
const TArray< FTransform >& Transforms |
Derive grid from an array of transforms Assumptions: -Every transform represents the center point of a tile position -Sets empty starter option if there is a valid grid position with no transform -Orientation is determined by the yaw of the first transform in the array | WaveFunctionCollapseSubsystem.h |
|
void InitializeWFC
(
TArray< FWaveFunctionCollapseTile >& Tiles, |
Initialize WFC process which sets up Tiles and RemainingTiles arrays Pre-populates Tiles with StarterOptions, BorderOptions and InitialTiles | WaveFunctionCollapseSubsystem.h |
|
bool ObservationPropagation
(
TArray< FWaveFunctionCollapseTile >& Tiles, |
Recursive Observation and Propagation cycle | WaveFunctionCollapseSubsystem.h |
|
bool Observe
(
TArray< FWaveFunctionCollapseTile >& Tiles, |
Observation phase: This process randomly selects one tile from minimum entropy tiles then randomly selects a valid option for that tile | WaveFunctionCollapseSubsystem.h |
|
bool Propagate
(
TArray< FWaveFunctionCollapseTile >& Tiles, |
Propagation phase: This process checks if the selection made during the observation is valid by checking constraint validity with neighboring tiles. | WaveFunctionCollapseSubsystem.h |
|