Navigation
API > API/Plugins > API/Plugins/MeshPartitionEditor
A flexible spline based modifier, suitable for representing ridgelines, channels, raised hills, and lowered depression pockets.
| Name | USplineModifier |
| Type | class |
| Header File | /Engine/Plugins/Experimental/MeshPartition/Source/MeshPartitionEditor/Public/Modifiers/MeshPartitionSplineModifier.h |
| Include Path | #include "Modifiers/MeshPartitionSplineModifier.h" |
Syntax
UCLASS (MinimalAPI,
prioritizeCategories=("Modifier", "Coverage", "Spline", "EdgeFalloff", "Interior", "WeightChannels"),
Meta=(BlueprintSpawnableComponent, MegaMeshClassVersion="-1"))
class USplineModifier :
public UE::MeshPartition::UModifierComponent ,
public UE::MeshPartition::ISplineModifierBlueprintInterface
Inheritance Hierarchy
- FRenderAssetOwnerStreamingState → UPrimitiveComponent → UModifierComponent → USplineModifier
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPrimitiveComponent → UModifierComponent → USplineModifier
Implements Interfaces
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IInterface_AsyncCompilation
- INavRelevantInterface
- IPhysicsBodyInstanceOwner
- IPhysicsBodyInstanceOwnerResolver
- IPhysicsComponent
- IModifierBlueprintInterface
- ISplineModifierBlueprintInterface
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
USplineModifier() |
Modifiers/MeshPartitionSplineModifier.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~USplineModifier() |
Modifiers/MeshPartitionSplineModifier.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDrawLocalBounds | bool | Modifiers/MeshPartitionSplineModifier.h |
|
|
| bDrawProjectedSpline | bool | Modifiers/MeshPartitionSplineModifier.h |
|
|
| bDrawProjectionPlane | bool | Modifiers/MeshPartitionSplineModifier.h |
|
|
| bDrawSplineFrames | bool | Modifiers/MeshPartitionSplineModifier.h |
|
|
| bExpandBoundsBySplineScale | bool | When true, the bounds expansion automatically accounts for the maximum spline scale value, replacing FalloffBoundsMultiplier. | Modifiers/MeshPartitionSplineModifier.h |
|
| BlendMode | ESplineModifierBlendMode | When set to Min only vertices on the +Z side of the spline are affected. | Modifiers/MeshPartitionSplineModifier.h |
|
| bMeshClosedInterior | bool | When true, closed splines get meshed to create a plateau. | Modifiers/MeshPartitionSplineModifier.h |
|
| bNearestFrameFastApproximation | bool | When true use a faster but less accurate method for getting the nearest frame on the spline | Modifiers/MeshPartitionSplineModifier.h |
|
| bShowDebugSurface | bool | Modifiers/MeshPartitionSplineModifier.h |
|
|
| bSplineIsLeftOfFalloffCurve | bool | When false, the falloff curve in interpreted with the x axis as moving closer to the spline in the positive direction, i.e. the falloff is an alpha remapping. | Modifiers/MeshPartitionSplineModifier.h |
|
| bUseEdgeFalloffCurve | bool | Uses a curve for the falloff shape. | Modifiers/MeshPartitionSplineModifier.h |
|
| bUseNearestSplineFrameForDisplacement | bool | When true, instead of using the Component Z as a single projection/height direction, the direction is taken from the rotation around the nearest spline point to each vertex. | Modifiers/MeshPartitionSplineModifier.h |
|
| bUseSplineScaleForFalloff | bool | When true, the scale Y values along the spline are multiplied by FalloffDistance to get the final falloff distance to use. | Modifiers/MeshPartitionSplineModifier.h |
|
| bUseSplineScaleForPlateau | bool | When true, the scale Y values along the spline are multiplied by PlateauDistance to get the final plateau distance to use. | Modifiers/MeshPartitionSplineModifier.h |
|
| CurrentCachedData | TSharedPtr< const FSplineCachedSurfaceData > | Modifiers/MeshPartitionSplineModifier.h | ||
| EdgeFalloffCurve | TObjectPtr< UCurveFloat > | Modifiers/MeshPartitionSplineModifier.h |
|
|
| EdgeFalloffUpdateHandle | FDelegateHandle | Modifiers/MeshPartitionSplineModifier.h | ||
| FalloffBoundsMultiplier | float | When calculating bounds, the falloff value is multiplied by this value. | Modifiers/MeshPartitionSplineModifier.h |
|
| FalloffDistance | float | Determines how far in projected world distance the spline affects the mesh to either side of it. | Modifiers/MeshPartitionSplineModifier.h |
|
| FalloffPlateauRatio | float | Modifiers/MeshPartitionSplineModifier.h |
|
|
| FrameScale | double | Modifiers/MeshPartitionSplineModifier.h |
|
|
| InteriorSmoothMode | MeshPartition::ESplineModifierInteriorSmoothMode | Sets a smoothing operation that is run on the interior. | Modifiers/MeshPartitionSplineModifier.h |
|
| LastSplineVersion | uint32 | Modifiers/MeshPartitionSplineModifier.h | ||
| MaxProjectionHeightExtent | float | This is used instead of MaxZDistance when bUseNearestSplineFrameForDisplacement is true, since we expand the bounds in all directions, not just Z, in that case, so we want to be more conservative. | Modifiers/MeshPartitionSplineModifier.h |
|
| MaxZDistance | float | When projecting in a single direction, the amount to extend the Z bounds in each direction around modifier location | Modifiers/MeshPartitionSplineModifier.h |
|
| MeshedInteriorNumTriTarget | double | When meshing the interior, roughly controls the granularity of the remeshing (higher is more triangles). | Modifiers/MeshPartitionSplineModifier.h |
|
| NumSplineFrames | int32 | Modifiers/MeshPartitionSplineModifier.h |
|
|
| PlateauDistance | float | Distance from the spline that remains at full influence before the falloff begins. | Modifiers/MeshPartitionSplineModifier.h |
|
| ProjectedSplineCurve | FInterpCurveVector | Modifiers/MeshPartitionSplineModifier.h | ||
| ProjectedSplineCurveMutex | FCriticalSection | Modifiers/MeshPartitionSplineModifier.h | ||
| SplineDelegateHelper | TUniquePtr< FSplineDelegateHelper > | Manages spline-change delegate registration/unregistration. | Modifiers/MeshPartitionSplineModifier.h | |
| SplinePolygonErrorTolerance | float | When meshing the interior, controls the resolution of a polyline estimate of the boundary. | Modifiers/MeshPartitionSplineModifier.h |
|
| SplinePtr | TSoftObjectPtr< USplineComponent > | Modifiers/MeshPartitionSplineModifier.h |
|
|
| SplineRef | FComponentReference | Modifiers/MeshPartitionSplineModifier.h |
|
|
| TemplateSplineComponentName | FString | Allows specifying a spline by name if the spline component is not yet instanced (for example in a Blueprint class). | Modifiers/MeshPartitionSplineModifier.h |
|
| WeightChannels | TArray< FSplineModifierWeightEntry > | Weight channels written by this modifier, using the spline falloff as the blending alpha. | Modifiers/MeshPartitionSplineModifier.h |
|
| WriteMode | uint8 | Controls which outputs this spline modifier writes. | Modifiers/MeshPartitionSplineModifier.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool GetExpandBoundsBySplineScale() |
Modifiers/MeshPartitionSplineModifier.h | ||
float GetFalloffBoundsMultiplier() |
Modifiers/MeshPartitionSplineModifier.h | ||
float GetFalloffDistance() |
Modifiers/MeshPartitionSplineModifier.h | ||
ESplineModifierInteriorSmoothMode GetInteriorSmoothMode() |
Modifiers/MeshPartitionSplineModifier.h | ||
float GetMaxProjectionHeightExtent() |
Modifiers/MeshPartitionSplineModifier.h | ||
float GetMaxZDistance() |
Modifiers/MeshPartitionSplineModifier.h | ||
double GetMeshedInteriorNumTriTarget() |
Modifiers/MeshPartitionSplineModifier.h | ||
USplineComponent * GetSplineComponent() |
Modifiers/MeshPartitionSplineModifier.h | ||
float GetSplinePolygonErrorTolerance() |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetExpandBoundsBySplineScale
(
bool bInExpandBoundsBySplineScale |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetFalloffBoundsMultiplier
(
float InFalloffBoundsMultiplier |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetFalloffDistance
(
float InFalloffDistance |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetInteriorSmoothMode
(
ESplineModifierInteriorSmoothMode InInteriorSmoothMode |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetMaxProjectionHeightExtent
(
float InMaxProjectionHeightExtent |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetMaxZDistance
(
float InMaxZDistance |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetMeshClosedInterior
(
bool InbMeshClosedInterior |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetMeshedInteriorNumTriTarget
(
double InMeshedInteriorNumTriTarget |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetProjectedSplineCurve
(
FInterpCurveVector&& NewProjectedCurve |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetSplineComponent
(
USplineComponent* InSplineComponent, |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetSplinePolygonErrorTolerance
(
float InSplinePolygonErrorTolerance |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetUseNearestSplineFrameForDisplacement
(
bool InUseNearestSplineFrameForDisplacement |
Modifiers/MeshPartitionSplineModifier.h | ||
void SetUseSplineScaleForFalloff
(
bool bInUseSplineScaleForFalloff |
Modifiers/MeshPartitionSplineModifier.h | ||
void UpdateSplineData() |
Rebuild modifier state based on the spline. Note: Use if anything seems weird or out of date! | Modifiers/MeshPartitionSplineModifier.h |
|
Public Virtual
Overridden from UModifierComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< FBox > ComputeBounds () |
Computes the set of bounding boxes describing the regions this modifier is affecting. | Modifiers/MeshPartitionSplineModifier.h | |
virtual TSharedPtr< const MeshPartition::IModifierBackgroundOp > CreateBackgroundOp
(
const MeshPartition::EBuildType InBuildType |
Called to prepare for applying the modifier. | Modifiers/MeshPartitionSplineModifier.h | |
virtual void DrawVisualization
(
const FSceneView* View, |
Called by the visualizer to give the modifier an oppertunity to render a debug visualization of itself when selected. | Modifiers/MeshPartitionSplineModifier.h | |
virtual FGuid GetCodeVersionKey() |
Modifiers/MeshPartitionSplineModifier.h | ||
virtual void InitializeModifier() |
MeshPartition::UModifierComponent Implementation. | Modifiers/MeshPartitionSplineModifier.h | |
virtual bool IsContiguous() |
Modifiers/MeshPartitionSplineModifier.h | ||
virtual void UninitializeModifier() |
Called before a modifier will be unloaded and unregistered in case it need resource cleaning. | Modifiers/MeshPartitionSplineModifier.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& InPropertyChangedEvent |
Modifiers/MeshPartitionSplineModifier.h | ||
virtual void PostEditUndo() |
Modifiers/MeshPartitionSplineModifier.h | ||
virtual void PostLoad() |
Modifiers/MeshPartitionSplineModifier.h | ||
virtual void PreEditChange
(
FProperty* InPropertyAboutToChange |
UObject Implementation. | Modifiers/MeshPartitionSplineModifier.h |
Overridden from ISplineModifierBlueprintInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BP_SetSplineComponent
(
USplineComponent* InSplineComponent |
Modifiers/MeshPartitionSplineModifier.h |
|