πŸ“Data structure

The tool need multiple data / actors to function:

Diagram of the data needed to produce random assemblies.

The starting point of the tool is a Level instancearrow-up-right, all other data can be created with an Asset Action helper, with a right click on the Level instance asset:

triangle-exclamation

It only works with level instances made exclusively with static mesh actors.

This will ask you if you want to create the random definition and spawn the actor in the current level:


Bellow, see the details on what are the assets needed:

PCG Data asset

A PCG data asset is a representation of a Level instancearrow-up-right content into a PCG point cloud data, where each actor position is stored, its staticmesh, as well as their actor tags as attribute.

BP_RandomAssembly

An Blueprint Actor which can read a Random Assembly Definition and output mesh instancers using PCG.

The meshes are generated from the PCG Data Asset point cloud data + all variant definitions evaluation.

This is also where you can find some debug information with the Random Assembly Widget.

Random Assembly Definition

A simple data asset which contains a reference to a PCG Data asset, a list of variants and a static mesh spawner PCG settings node.

Blueprint type: BPDA_RandomAssemblyDefinition

Random Variant Definition

A data asset where you set the randomization settings such as Xform, Removale probability, static mesh variations, projection (landscape, world static), etc.

This is also where the tag(s) needed to identify on which actor(s) the variant(s) will be applied is stored.

Blueprint type: BPDA_VariantDefinition


Process Random Assemblies

PCG graph subgraph loop node to be able to apply variants on custom PCG graph points, from landscape sampling, grid, etc...


Last updated