Orrery Terrain · OrreryTerrain module · class
UOrreryTerrainSplatAsset
A splat brush as an asset: one RGBA image that paints up to four terrain paint layers in one dab.
Declaration
UCLASS(BlueprintType)
class UOrreryTerrainSplatAsset : public UDataAsset- Header
#include "OrreryTerrainBrushAsset.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrain");in your module’s Build.cs.- Stability
- Stable: changes within a major version only add.
- Thread
- Game thread.
- Derives from
UDataAsset- Blueprint
- “Orrery Terrain Splat Asset”, a Blueprint type
Description
Each channel with a layer bakes to its own single-channel mask (the same FBrushMask as a UOrreryTerrainBrushAsset holds, content-hashed and registered like any mask). A dab is then up to four masked Paint steps in the fixed order red, green, blue, alpha, inside one stroke, so the stroke is one undo. The bake turns the channels into per-step masks so that those steps leave each layer at its channel's weight (see BrushBake::FromSplatRgba16); a channel with no layer (-1) counts as 0 and is skipped.
Like the brush asset it keeps only the baked bytes at runtime: the source texture is editor-only data and a cooked game needs none. The layers are read live and decide which baked channels are used, but they also shaped the bake (a channel left out is not part of the sum), so change a layer to or from -1 and rebake.
Experimental in v1.0. Game thread. No format change: a splat dab is ordinary masked Paint records.
Functions
- UOrreryTerrainSplatAsset
- GetChannelLayerBlueprint
The layer a channel paints: -1 when the channel is left out.
- HasMasksBlueprint
Whether the asset holds at least one baked channel mask that a layer uses.
- GetChannelMaskIdBlueprint
The id (content hash) of a channel's baked mask; invalid when the channel is not baked.
- GetSplatBlueprint
The splat as the asset holds it, without a terrain: each used channel's layer and mask id, in channel order.
- BakeFromPixelsBlueprint
Bake raw 8-bit RGBA pixels into this asset, replacing any baked masks (game code and tests; the editor bakes from SourceTexture).
- BakeFromTextureBlueprint
Bake a texture into this asset.
- GetChannelMask
A channel's decoded mask, or null when not baked.
- UsedChannels
The channels that have a layer, as bits (bit 0 red to bit 3 alpha).
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
LayerBlueprintReadWrite | int32 | 0 | The paint layer the red channel paints, 0 to 255; -1 leaves the channel out. |
LayerBlueprintReadWrite | int32 | 1 | The paint layer the green channel paints, 0 to 255; -1 leaves the channel out. |
LayerBlueprintReadWrite | int32 | 2 | The paint layer the blue channel paints, 0 to 255; -1 leaves the channel out. |
LayerBlueprintReadWrite | int32 | -1 | The paint layer the alpha channel paints, 0 to 255; -1 (the default) leaves it out, as an image's alpha is often opaque. |
SideBlueprintReadOnly | int32 | 0 | Samples a side of each baked mask, 0 for 256. Rounded to the nearest power of two from 8 to 2048. |
DepthBlueprintReadOnly | EOrrery | EOrrery | Bits a sample; Default is 8. |
DefaultBlueprintReadWrite | double | 0.0 | The angle a tool starts with for this splat, degrees ( |
DefaultBlueprintReadWrite | double | 2000.0 | The radius a tool starts with for this splat, cm. |
Blueprint
- Bake from PixelsOrrery › Terrain › Brush
- Bake from TextureOrrery › Terrain › Brush
- Get Channel LayerOrrery › Terrain › Brush
- Get Channel Mask IdOrrery › Terrain › Brush
- Get SplatOrrery › Terrain › Brush
- Has MasksOrrery › Terrain › Brush