Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Components
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UActorComponent
- USceneComponent
- UPrimitiveComponent
- UMeshComponent
- UStaticMeshComponent
- USplineMeshComponent
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Components/SplineMeshComponent.h |
Include | #include "Components/SplineMeshComponent.h" |
Syntax
class USplineMeshComponent :
public UStaticMeshComponent,
public IInterface_CollisionDataProvider
Remarks
A Spline Mesh Component is a derivation of a Static Mesh Component which can be deformed using a spline. Only a start and end position (and tangent) can be specified.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
uint8: 1 | bAllowSplineEditingPerInstance | If true, spline mesh properties - StartPos, EndPos, StartTangent and EndTangent- may be edited per instance in the level viewport. |
![]() |
uint8: 1 | bMeshDirty | Indicates that the mesh needs updating. |
![]() |
TObjectPtr< UBodySetup > | BodySetup | Physics data. |
![]() |
uint8: 1 | bSelected | |
![]() |
uint8: 1 | bSmoothInterpRollScale | If true, will use smooth interpolation (ease in/out) for Scale, Roll, and Offset along this section of spline. |
![]() |
FGuid | CachedMeshBodySetupGuid | Used to automatically trigger rebuild of collision data. |
![]() |
TEnumAsByte< ESplineMeshAxis::Type > | ForwardAxis | Chooses the forward axis for the spline mesh orientation |
![]() |
float | SplineBoundaryMax | Maximum coordinate along the spline forward axis which corresponds to end of spline. |
![]() |
float | SplineBoundaryMin | Minimum coordinate along the spline forward axis which corresponds to start of spline. |
![]() |
FSplineMeshParams | SplineParams | Spline that is used to deform mesh |
![]() |
FVector | SplineUpDir | Axis (in component space) that is used to determine X axis for co-ordinates along spline |
![]() |
float | VirtualTextureMainPassMaxDrawDistance | The max draw distance to use in the main pass when also rendering to a runtime virtual texture. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
USplineMeshComponent
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | ApplyComponentInstanceData
(
FSplineMeshInstanceData* ComponentInstanceData |
|
![]() ![]() |
FTransform | CalcSliceTransform
(
const float DistanceAlong |
Calculates the spline transform, including roll, scale, and offset along the spline at a specified distance |
![]() ![]() |
FTransform | CalcSliceTransformAtSplineOffset
(
const float Alpha |
Calculates the spline transform, including roll, scale, and offset along the spline at a specified alpha interpolation parameter along the spline : This is mirrored to Lightmass::CalcSliceTransform() and LocalVertexShader.usf. |
![]() ![]() |
FSplineMeshShaderParams | Generates FSplineMeshShaderParams for the current state of the component | |
![]() |
void | Destroys the body setup, used to clear collision if the mesh goes missing. | |
![]() ![]() |
FVector | GetAxisMask
(
ESplineMeshAxis::Type InAxis |
Returns a vector which, when componentwise-multiplied by another vector, will zero all the components not corresponding to the supplied ESplineMeshAxis |
![]() ![]() |
double & | GetAxisValueRef
(
FVector3d& InVector, |
|
![]() ![]() |
const double & | GetAxisValueRef
(
const FVector3d& InVector, |
|
![]() ![]() |
const float & | GetAxisValueRef
(
const FVector3f& InVector, |
|
![]() ![]() |
float & | GetAxisValueRef
(
FVector3f& InVector, |
|
![]() ![]() |
bool | Getter for bNeverNeedsCookedCollisionData | |
![]() ![]() |
float | Get the boundary max | |
![]() ![]() |
float | Get the boundary min | |
![]() ![]() |
FVector2D | GetEndOffset () |
Get the end offset |
![]() ![]() |
FVector | Get the end position of spline in local space | |
![]() ![]() |
float | GetEndRoll () |
Get the end roll, in radians |
![]() ![]() |
FVector2D | GetEndScale () |
Get the end scaling |
![]() ![]() |
FVector | Get the end tangent vector of spline in local space | |
![]() ![]() |
ESplineMeshAxis::Type | Get the forward axis | |
![]() ![]() |
FVector | Get the spline up direction | |
![]() ![]() |
FVector2D | Get the start offset | |
![]() ![]() |
FVector | Get the start position of spline in local space | |
![]() ![]() |
float | GetStartRoll () |
Get the start roll, in radians |
![]() ![]() |
FVector2D | Get the start scaling | |
![]() ![]() |
FVector | Get the start tangent vector of spline in local space | |
![]() |
void | Builds collision for the spline mesh (if collision is enabled) | |
![]() |
void | SetbNeverNeedsCookedCollisionData
(
bool bInValue |
Setter for bNeverNeedsCookedCollisionData |
![]() |
void | SetBoundaryMax
(
float InBoundaryMax, |
Set the boundary max |
![]() |
void | SetBoundaryMin
(
float InBoundaryMin, |
Set the boundary min |
![]() |
void | SetEndOffset
(
FVector2D EndOffset, |
Set the end offset |
![]() |
void | SetEndPosition
(
FVector EndPos, |
Set the end position of spline in local space |
![]() |
void | SetEndRoll
(
float EndRoll, |
Set the end roll, in radians |
![]() |
void | SetEndRollDegrees
(
float EndRollDegrees, |
Set the end roll in degrees |
![]() |
void | SetEndScale
(
FVector2D EndScale, |
Set the end scaling |
![]() |
void | SetEndTangent
(
FVector EndTangent, |
Set the end tangent vector of spline in local space |
![]() |
void | SetForwardAxis
(
ESplineMeshAxis::Type InForwardAxis, |
Set the forward axis |
![]() |
void | SetSplineUpDir
(
const FVector& InSplineUpDir, |
Set the spline up direction |
![]() |
void | SetStartAndEnd
(
FVector StartPos, |
Set the start and end, position and tangent, all in local space |
![]() |
void | SetStartOffset
(
FVector2D StartOffset, |
Set the start offset |
![]() |
void | SetStartPosition
(
FVector StartPos, |
Set the start position of spline in local space |
![]() |
void | SetStartRoll
(
float StartRoll, |
Set the start roll, in radians |
![]() |
void | SetStartRollDegrees
(
float StartRollDegrees, |
Set the start roll in degrees |
![]() |
void | SetStartScale
(
FVector2D StartScale, |
Set the start scaling |
![]() |
void | SetStartTangent
(
FVector StartTangent, |
Set the start tangent vector of spline in local space |
![]() |
void | UpdateMesh () |
Update the collision and render state on the spline mesh following changes to its geometry |
![]() |
void | Same as UpdateMesh, but does not wait until the end of frame and can be used in non-game threads | |
![]() |
void | Called to notify render thread and possibly collision of a change in spline params or mesh |
Overridden from UStaticMeshComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FStaticMeshStaticLightingMesh * | AllocateStaticLightingMesh
(
int32 LODIndex, |
Allocates an implementation of FStaticLightingMesh that will handle static lighting for this component |
![]() ![]() |
FPrimitiveSceneProxy * | CreateStaticMeshSceneProxy
(
Nanite::FMaterialAudit& NaniteMaterials, |
Overload this in child implementations that wish to extend Static Mesh or Nanite scene proxy implementations. |
![]() ![]() ![]() |
float | Get the scale comming form the component, when computing StreamingTexture data. |
Overridden from UPrimitiveComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | CollectPSOPrecacheData
(
const FPSOPrecacheParams& BasePrecachePSOParams, |
Collect all the PSO precache data used by the static mesh component |
![]() ![]() ![]() |
bool | DoCustomNavigableGeometryExport
(
FNavigableGeometryExport& GeomExport |
Collects custom navigable geometry of component. |
![]() ![]() |
UBodySetup * | GetBodySetup () |
Return the BodySetup to use for this PrimitiveComponent (single body case) |
![]() ![]() ![]() |
float | Get the max draw distance to use in the main pass when also rendering to a runtime virtual texture. | |
![]() ![]() ![]() |
bool | Return true if the owner is selected and this component is selectable |
Overridden from USceneComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
FBoxSphereBounds | CalcBounds
(
const FTransform& LocalToWorld |
Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size. |
![]() ![]() ![]() |
FTransform | GetSocketTransform
(
FName InSocketName, |
Get world-space socket transform. |
Overridden from UActorComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
TStructOnScope< FActorComponentInstanceData > | Called before we throw away components during RerunConstructionScripts, to cache any data we wish to persist across that operation | |
![]() ![]() |
void | Used to create any physics engine information for this component |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | IsEditorOnly () |
Returns whether this component is an editor-only object or not |
![]() ![]() |
bool | Modify
(
bool bAlwaysMarkDirty |
Note that the object will be modified. |
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | Handles reading, writing, and reference collecting using FArchive. |
Overridden from IInterface_CollisionDataProvider
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | ContainsPhysicsTriMeshData
(
bool InUseAllTriData |
Interface for checking if the implementing objects contains triangle mesh collision data |
![]() ![]() |
void | An optional string identifying the mesh data. | |
![]() ![]() |
bool | GetPhysicsTriMeshData
(
FTriMeshCollisionData* CollisionData, |
Interface for retrieving triangle mesh collision data from the implementing object |
![]() ![]() ![]() |
bool | GetTriMeshSizeEstimates
(
FTriMeshCollisionDataEstimates& OutTriMeshEstimates, |
Returns an estimate of how much data would be retrieved by GetPhysicsTriMeshData. |
![]() ![]() |
bool | Do we want to create a negative version of this mesh |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
float & | GetAxisValue
(
FVector3f& InVector, |
Use GetAxisValueRef() instead. |
![]() ![]() |
const float & | GetAxisValue
(
const FVector3f& InVector, |
Use GetAxisValueRef() instead. |
![]() ![]() |
double & | GetAxisValue
(
FVector3d& InVector, |
Use GetAxisValueRef() instead. |
![]() ![]() |
const double & | GetAxisValue
(
const FVector3d& InVector, |
Use GetAxisValueRef() instead. |
See Also
https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/Blueprint_Splines