Orrery Terrain · OrreryTerrain module · class
UOrreryTerrainSplineFeatureComponent
ExperimentalA terrain feature that follows a spline: a corridor along an open spline or a plate inside a closed one, owned by this component and replaced in place (same id, same stack position) by each Rebuild.
Declaration
UCLASS(ClassGroup=(Orrery), meta=(, ="Terrain Spline Feature"))
class UOrreryTerrainSplineFeatureComponent : public UActorComponent- Header
#include "OrreryTerrainSplineFeatureComponent.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrain");in your module’s Build.cs.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Thread
- Game thread.
- Derives from
UActorComponent- Blueprint
- “Terrain Spline Feature”, a Blueprint type
Description
Owner: the terrain editor's domain ('TSED') with OwnerKey, a random key with bit 63 set made when the component first registers in a world. The editor session, the authoring capture, the bake and the multiplayer checks treat it as any editor feature.
Link: by FeatureId with the owner checked, else by OwnerKey. Loading, streaming in and linking never commit: the terrain's save is the truth, and the spline only matters when Rebuild is called.
Runtime: nothing rebuilds or removes on its own. Call Rebuild (or the async node) when the game's edit ends; IsStale says when one is due. EndPlay leaves the ground alone.
Multiplayer: FeatureId replicates. A client never commits, never makes keys and never decides copies; its async Rebuild asks the server to replace the feature, and the server's edit policy judges it.
Experimental in v1.0: the editor side leans on an experimental engine notification.
Game thread. Tier 3: no ground data lives here.
Functions
- UOrreryTerrainSplineFeatureComponent
- RebuildBlueprint
Commit the feature from the spline as it is now: replaces the linked feature in place (same id), or adds one.
- EvaluateBlueprint
What a Rebuild would do now, with nothing changed: replaces the linked feature in the evaluation.
- RemoveFeatureBlueprint
Remove the linked feature and clear the link (the state becomes Unlinked).
- GetStateBlueprint
Where the feature stands against the terrain now.
- GetFeatureIdBlueprint
The linked feature's id (by FeatureId, else by OwnerKey); FeatureId when the terrain holds neither.
- IsStaleBlueprint
True when the state is Stale: the feature exists, but the spline and parameters as they are now do not build it (they changed since the last build, or another author, a client's request included, replaced the feature).
- ResolveSpline
The spline the feature follows: Spline, or the first spline component on this actor; null without one.
- OnRegister
- OnUnregister
- BeginPlay
- GetLifetimeReplicatedProps
- PostDuplicate
- GetComponentInstanceData
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
k | uint64 | uint64(1) < | Bit 63 of every OwnerKey: a spline feature's owner id never equals the terrain editor tools' own id (1). |
SplineBlueprintReadWrite | FComponent | — | The spline the feature follows. Empty: the first spline component on this actor. |
KindBlueprintReadWrite | EOrrery | EOrrery | Corridor (an open spline) or Plate (a closed spline). The other kind is refused. |
CorridorBlueprintReadWrite | FOrrery | — | The corridor's parameters. Points and the owner fields are ignored: the spline gives the points, the component the owner. |
PlateBlueprintReadWrite | FOrrery | — | The plate's parameters. Polygon is ignored: the closed spline gives the outline. |
OutlineBlueprintReadWrite | double | 100.0 | Distance between the plate outline's vertices along the spline, cm; widened so the outline keeps to 2048 vertices. |
Feature | int64 | 0 | The feature this component built, 0 before. Saved and replicated; never edited by hand. |
Owner | int64 | 0 | The owner id of the feature: random, bit 63 set, made at the first registration in a world. 0 on a template. |
Built | int64 | 0 | The key of the shape the ground holds: the spline's key (sampled points at 1 mm, parameters) at the last commit, or, after another author replaced the feature with a shape this spline does not build, the stored feature's content key. 0 before. |
Built | TSoft | — | The terrain's source at the last commit: a feature gone on another source was baked in. |
Blueprint
- EvaluateOrrery › Terrain › Experimental
- Get Feature IdOrrery › Terrain › Experimental
- Get StateOrrery › Terrain › Experimental
- Is StaleOrrery › Terrain › Experimental
- RebuildOrrery › Terrain › Experimental
- Remove FeatureOrrery › Terrain › Experimental