G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
USpringArmComponent Class Reference

This component tries to maintain its children at a fixed distance from the parent, but will retract the children if there is a collision, and spring back when there is no collision. More...

Public Member Functions

Functions
void SetbDoCollisionTest (bool Value)
 If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.
bool GetbUsePawnControlRotation () const
 If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).
bool GetbDoCollisionTest () const
 If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.
void SetbUsePawnControlRotation (bool Value)
 If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).
bool GetbInheritPitch () const
 Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.
void SetbInheritPitch (bool Value)
 Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.
bool GetbInheritYaw () const
 Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.
void SetbInheritYaw (bool Value)
 Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.
bool GetbInheritRoll () const
 Should we inherit roll from parent component. Does nothing if using Absolute Rotation.
void SetbInheritRoll (bool Value)
 Should we inherit roll from parent component. Does nothing if using Absolute Rotation.
bool GetbEnableCameraLag () const
 If true, camera lags behind target position to smooth its movement. See: CameraLagSpeed.
void SetbEnableCameraLag (bool Value)
 If true, camera lags behind target position to smooth its movement. See: CameraLagSpeed.
bool GetbEnableCameraRotationLag () const
 If true, camera lags behind target rotation to smooth its movement. See: CameraRotationLagSpeed.
void SetbEnableCameraRotationLag (bool Value)
 If true, camera lags behind target rotation to smooth its movement. See: CameraRotationLagSpeed.
bool GetbUseCameraLagSubstepping () const
 If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). See: CameraLagMaxTimeStep.
void SetbUseCameraLagSubstepping (bool Value)
 If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). See: CameraLagMaxTimeStep.
bool GetbDrawDebugLagMarkers () const
 If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).
void SetbDrawDebugLagMarkers (bool Value)
 If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).
bool GetbClampToMaxPhysicsDeltaTime () const
 If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.
void SetbClampToMaxPhysicsDeltaTime (bool Value)
 If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.
Public Member Functions inherited from USceneComponent
void SetHiddenInGame (bool NewHidden, bool bPropagateToChildren=false)
 Changes the value of bHiddenInGame, if false this will disable Visibility during gameplay.
void SetRelativeLocation (FVector NewLocation)
bool GetShouldUpdatePhysicsVolume () const
 Gets whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved.
USceneComponent GetChildComponentByClass (TSubclassOf< USceneComponent > ComponentClass)
void GetChildrenComponentsByClass (UClass ComponentClass, bool bIncludeAllDescendants, ?&OutChildren)
bool GetbShouldUpdatePhysicsVolume () const
 Whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved. See: GetPhysicsVolume().
void SetbShouldUpdatePhysicsVolume (bool bInShouldUpdatePhysicsVolume)
 Whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved. See: GetPhysicsVolume().
void AddLocalOffset (FVector DeltaLocation)
void AddLocalRotation (FRotator DeltaRotation)
void AddLocalRotation (FQuat DeltaRotation)
void AddLocalTransform (FTransform DeltaTransform)
void AddRelativeLocation (FVector DeltaLocation)
void AddRelativeRotation (FRotator DeltaRotation)
void AddRelativeRotation (FQuat DeltaRotation)
void AddWorldOffset (FVector DeltaLocation)
void AddWorldRotation (FRotator DeltaRotation)
void AddWorldRotation (FQuat DeltaRotation)
void AddWorldTransform (FTransform DeltaTransform)
void AttachToComponent (USceneComponent Parent, FName SocketName=NAME_None, EAttachmentRule AttachmentRule=EAttachmentRule ::SnapToTarget)
FBoxSphereBounds GetBounds () const
FQuat GetComponentQuat () const
FVector GetRelativeLocation () const
FRotator GetRelativeRotation () const
FVector GetRelativeScale3D () const
FVector GetShapeCenter () const
FQuat GetSocketQuaternion (FName SocketName)
bool IsAttachedTo (const USceneComponent CheckComponent) const
bool IsAttachedTo (const AActor CheckActor) const
void SetbVisualizeComponent (bool bVisualize)
void SetComponentQuat (FQuat NewRotation)
void SetShouldUpdatePhysicsVolume (bool bInShouldUpdatePhysicsVolume)
 Sets whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved.
void SetRelativeLocationAndRotation (FVector NewLocation, FRotator NewRotation)
void SetRelativeLocationAndRotation (FVector NewLocation, FQuat NewRotation)
void SetRelativeRotation (FRotator NewRotation)
void SetRelativeRotation (FQuat NewRotation)
void SetRelativeTransform (FTransform NewTransform)
void SetWorldLocation (FVector NewLocation)
void SetWorldLocationAndRotation (FVector NewLocation, FRotator NewRotation)
void SetWorldLocationAndRotation (FVector NewLocation, FQuat NewRotation)
void SetWorldRotation (FRotator NewRotation)
void SetWorldRotation (FQuat NewRotation)
void SetWorldTransform (FTransform NewTransform)
bool GetbAbsoluteLocation () const
 If RelativeLocation should be considered relative to the world, rather than the parent.
void SetbAbsoluteLocation (bool Value)
 If RelativeLocation should be considered relative to the world, rather than the parent.
bool GetbAbsoluteRotation () const
 If RelativeRotation should be considered relative to the world, rather than the parent.
void SetbAbsoluteRotation (bool Value)
 If RelativeRotation should be considered relative to the world, rather than the parent.
bool GetbAbsoluteScale () const
 If RelativeScale3D should be considered relative to the world, rather than the parent.
void SetbAbsoluteScale (bool Value)
 If RelativeScale3D should be considered relative to the world, rather than the parent.
bool GetbVisible () const
 Whether to completely draw the primitive; if false, the primitive is not drawn, does not cast a shadow.
void SetbVisible (bool Value)
 Whether to completely draw the primitive; if false, the primitive is not drawn, does not cast a shadow.
bool GetbHiddenInGame () const
 Whether to hide the primitive in game, if the primitive is Visible.
void SetbHiddenInGame (bool Value)
 Whether to hide the primitive in game, if the primitive is Visible.
bool GetbUseAttachParentBound () const
 If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together.
void SetbUseAttachParentBound (bool Value)
 If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together.
const EComponentMobility & GetMobility () const
 How often this component is allowed to move, used to make various optimizations. Only safe to set in constructor.
void GetParentComponents (TArray< USceneComponent > &Parents) const
 Gets all attachment parent components up to and including the root component.
void GetChildrenComponents (bool bIncludeAllDescendants, TArray< USceneComponent > &Children) const
 Gets all components that are attached to this component, possibly recursively.
int GetNumChildrenComponents () const
 Gets the number of attached children components.
USceneComponent GetChildComponent (int ChildIndex) const
 Gets the attached child component at the specified location.
bool IsAnySimulatingPhysics () const
 Returns whether the specified body is currently using physics simulation.
bool IsSimulatingPhysics (FName BoneName=NAME_None) const
 Returns whether the specified body is currently using physics simulation.
APhysicsVolume GetPhysicsVolume () const
 Get the PhysicsVolume overlapping this component.
void SetVisibility (bool bNewVisibility, bool bPropagateToChildren=false)
 Set visibility of the component, if during game use this to turn on/off.
void ToggleVisibility (bool bPropagateToChildren=false)
 Toggle visibility of the component.
bool IsVisible () const
 Returns true if this component is visible in the current context.
TArray< FName > GetAllSocketNames () const
 Gets the names of all the sockets on the component.
USceneComponent GetAttachParent () const
 Get the SceneComponent we are attached to.
FTransform GetRelativeTransform () const
 Returns the transform of the component relative to its parent.
FVector GetRightVector () const
 Get the right (Y) unit direction vector from this component, in world space.
FVector GetForwardVector () const
 Get the forward (X) unit direction vector from this component, in world space.
FName GetAttachSocketName () const
 Get the socket we are attached to.
FVector GetComponentVelocity () const
 Get velocity of the component: either ComponentVelocity, or the velocity of the physics body if simulating physics.
FRotator GetSocketRotation (FName InSocketName) const
 Get world-space socket or bone FRotator rotation.
FTransform GetSocketTransform (FName InSocketName, ERelativeTransformSpace TransformSpace=ERelativeTransformSpace ::RTS_World) const
 Get world-space socket transform.
FVector GetUpVector () const
 Get the up (Z) unit direction vector from this component, in world space.
bool DoesSocketExist (FName InSocketName) const
 Return true if socket with the given name exists.
void DetachFromParent (bool bMaintainWorldPosition=false, bool bCallModify=true)
FVector GetSocketLocation (FName InSocketName) const
 Get world-space socket or bone location.
void AddLocalOffset (FVector DeltaLocation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the location of the component in its local reference frame.
void AddLocalRotation (FRotator DeltaRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the rotation of the component in its local reference frame.
void AddLocalTransform (FTransform DeltaTransform, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the transform of the component in its local reference frame. Scale is unchanged.
void AddRelativeLocation (FVector DeltaLocation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the translation of the component relative to its parent.
void AddRelativeRotation (FRotator DeltaRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta the rotation of the component relative to its parent.
void AddWorldOffset (FVector DeltaLocation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the location of the component in world space.
void AddWorldRotation (FRotator DeltaRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the rotation of the component in world space.
void AddWorldTransform (FTransform DeltaTransform, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the transform of the component in world space. Ignores scale and sets it to (1,1,1).
void AddWorldTransformKeepScale (FTransform DeltaTransform, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Adds a delta to the transform of the component in world space. Scale is unchanged.
bool AttachTo (USceneComponent InParent, FName InSocketName=NAME_None, EAttachLocation AttachType=EAttachLocation ::KeepRelativeOffset, bool bWeldSimulatedBodies=true)
bool AttachToComponent (USceneComponent Parent, FName SocketName, EAttachmentRule LocationRule, EAttachmentRule RotationRule, EAttachmentRule ScaleRule, bool bWeldSimulatedBodies)
 Attach this component to another scene component, optionally at a named socket. It is valid to call this on components whether or not they have been Registered.
void DetachFromComponent (EDetachmentRule LocationRule=EDetachmentRule ::KeepRelative, EDetachmentRule RotationRule=EDetachmentRule ::KeepRelative, EDetachmentRule ScaleRule=EDetachmentRule ::KeepRelative, bool bCallModify=true)
 Detach this component from whatever it is attached to. Automatically unwelds components that are welded together (see AttachToComponent), though note that some effects of welding may not be undone.
FVector GetWorldLocation () const
 Return location of the component, in world space.
FRotator GetWorldRotation () const
 Returns rotation of the component, in world space.
FVector GetWorldScale () const
 Returns scale of the component, in world space.
FTransform GetWorldTransform () const
 Get the current component-to-world transform for this component.
void SetRelativeLocation (FVector NewLocation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the location of the component relative to its parent.
void SetRelativeLocationAndRotation (FVector NewLocation, FRotator NewRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the location and rotation of the component relative to its parent.
void SetRelativeRotation (FRotator NewRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the rotation of the component relative to its parent.
void SetRelativeTransform (FTransform NewTransform, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the transform of the component relative to its parent.
void SetWorldLocation (FVector NewLocation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Put this component at the specified location in world space. Updates relative location to achieve the final world location.
void SetWorldLocationAndRotation (FVector NewLocation, FRotator NewRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the relative location and rotation of the component to put it at the supplied pose in world space.
void SetWorldRotation (FRotator NewRotation, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Put this component at the specified rotation in world space. Updates relative rotation to achieve the final world rotation.
void SetWorldTransform (FTransform NewTransform, bool bSweep, FHitResult &SweepHitResult, bool bTeleport)
 Set the transform of the component in world space.
void ResetRelativeTransform ()
 Reset the transform of the component relative to its parent. Sets relative location to zero, relative rotation to no rotation, and Scale to 1.
void SetAbsolute (bool bNewAbsoluteLocation=false, bool bNewAbsoluteRotation=false, bool bNewAbsoluteScale=false)
 Set which parts of the relative transform should be relative to parent, and which should be relative to world.
void SetWorldScale3D (FVector NewScale)
 Set the relative scale of the component to put it at the supplied scale in world space.
void SetMobility (EComponentMobility NewMobility)
 Set how often this component is allowed to move during runtime. Causes a component re-register if the component is already registered.
void SetRelativeScale3D (FVector NewScale3D)
 Set the non-uniform scale of the component relative to its parent.
Public Member Functions inherited from UActorComponent
void Tick (float32 DeltaSeconds)
 Event called every frame if tick is enabled.
EComponentCreationMethod GetComponentCreationMethod () const
void SetbIsEditorOnly (bool Value)
void EndPlay (EEndPlayReason EndPlayReason)
 Blueprint implementable event for when the component ends play, generally via destruction or its Actor's EndPlay.
void BeginPlay ()
 Blueprint implementable event for when the component is beginning play, called before its owning actor's BeginPlay or when the component is dynamically created if the Actor has already BegunPlay.
void MarkRenderStateDirty ()
bool HasBegunPlay () const
void SetbTickInEditor (bool Value)
bool IsVisualizationComponent () const
void SetIsVisualizationComponent (bool Value)
void AsyncPhysicsTick (float32 DeltaSeconds, float32 SimSeconds)
 Event called every async physics tick if bAsyncPhysicsTickEnabled is true.
bool GetbReplicateUsingRegisteredSubObjectList () const
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
void SetbReplicateUsingRegisteredSubObjectList (bool Value)
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
bool GetbReplicates () const
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
void SetbReplicates (bool Value)
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
bool GetbAutoActivate () const
 Whether the component is activated at creation or must be explicitly activated.
void SetbAutoActivate (bool Value)
 Whether the component is activated at creation or must be explicitly activated.
void SetbEditableWhenInherited (bool Value)
 True if this component can be modified when it was inherited from a parent actor class.
void SetbCanEverAffectNavigation (bool Value)
 Whether this component can potentially influence navigation.
bool GetbIsEditorOnly () const
 If true, the component will be excluded from non-editor builds.
bool IsBeingDestroyed () const
 Returns whether the component is in the process of being destroyed.
void SetIsReplicated (bool ShouldReplicate)
 Enable or disable replication. This is the equivalent of RemoteRole for actors (only a bool is required for components).
void DestroyComponent (UObject Object)
 Unregister and mark for pending kill a component. This may not be used to destroy a component that is owned by an actor unless the owning actor is calling the function.
bool ComponentHasTag (FName Tag) const
 See if this component contains the supplied tag.
AActor GetOwner () const
 Follow the Outer chain to get the AActor that 'Owns' this component.
void SetAutoActivate (bool bNewAutoActivate)
 Sets whether the component should be auto activate or not. Only safe during construction scripts.
bool IsActive () const
 Returns whether the component is active or not.
void ToggleActive ()
 Toggles the active state of the component.
void SetActive (bool bNewActive, bool bReset=false)
 Sets whether the component is active or not.
void Activate (bool bReset=false)
 Activates the SceneComponent, should be overridden by native child classes.
void Deactivate ()
 Deactivates the SceneComponent.
float32 GetComponentTickInterval () const
 Returns the tick interval for this component's primary tick function, which is the frequency in seconds at which it will be executed.
void AddTickPrerequisiteActor (AActor PrerequisiteActor)
 Make this component tick after PrerequisiteActor.
void AddTickPrerequisiteComponent (UActorComponent PrerequisiteComponent)
 Make this component tick after PrerequisiteComponent.
void RemoveTickPrerequisiteComponent (UActorComponent PrerequisiteComponent)
 Remove tick dependency on PrerequisiteComponent.
void SetTickableWhenPaused (bool bTickableWhenPaused)
 Sets whether this component can tick when paused.
bool IsComponentTickEnabled () const
 Returns whether this component has tick enabled or not.
void SetTickGroup (ETickingGroup NewTickGroup)
 Changes the ticking group for this component.
void RemoveTickPrerequisiteActor (AActor PrerequisiteActor)
 Remove tick dependency on PrerequisiteActor.
void SetComponentTickIntervalAndCooldown (float32 TickInterval)
 Sets the tick interval for this component's primary tick function. Does not enable the tick interval. Takes effect imediately.
void SetComponentTickInterval (float32 TickInterval)
 Sets the tick interval for this component's primary tick function. Does not enable the tick interval. Takes effect on next tick.
void SetComponentTickEnabled (bool bEnabled)
 Set this component's tick functions to be enabled or disabled. Only has an effect if the function is registered.
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static USpringArmComponent Get (const AActor Actor, FName WithName=NAME_None)
static USpringArmComponent GetOrCreate (AActor Actor, FName WithName=NAME_None)
static USpringArmComponent Create (AActor Actor, FName WithName=NAME_None)
static UClass StaticClass ()
Static Public Member Functions inherited from USceneComponent
static USceneComponent Get (const AActor Actor, FName WithName=NAME_None)
static USceneComponent GetOrCreate (AActor Actor, FName WithName=NAME_None)
static USceneComponent Create (AActor Actor, FName WithName=NAME_None)
static UClass StaticClass ()
Static Public Member Functions inherited from UActorComponent
static UActorComponent Get (const AActor Actor, FName WithName=NAME_None)
static UActorComponent GetOrCreate (AActor Actor, FName WithName=NAME_None)
static UActorComponent Create (AActor Actor, FName WithName=NAME_None)
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

Camera
FVector SocketOffset
 offset at end of spring arm; use this instead of the relative offset of the attached component to ensure the line trace works as desired
FVector TargetOffset
 Offset at start of spring, applied in world space. Use this if you want a world-space offset from the parent component instead of the usual relative-space offset.
float32 TargetArmLength
 Natural length of the spring arm when there are no collisions.
CameraSettings
bool bInheritPitch
 Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.
bool bInheritYaw
 Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.
bool bInheritRoll
 Should we inherit roll from parent component. Does nothing if using Absolute Rotation.
bool bUsePawnControlRotation
 If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).
Lag
float32 CameraLagMaxTimeStep
 Max time step used when sub-stepping camera lag.
float32 CameraLagSpeed
 If bEnableCameraLag is true, controls how quickly camera reaches target position. Low values are slower (more lag), high values are faster (less lag), while zero is instant (no lag).
float32 CameraRotationLagSpeed
 If bEnableCameraRotationLag is true, controls how quickly camera reaches target position. Low values are slower (more lag), high values are faster (less lag), while zero is instant (no lag).
float32 CameraLagMaxDistance
 Max distance the camera target may lag behind the current location. If set to zero, no max distance is enforced.
bool bClampToMaxPhysicsDeltaTime
 If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.
bool bEnableCameraLag
 If true, camera lags behind target position to smooth its movement. @see CameraLagSpeed.
bool bEnableCameraRotationLag
 If true, camera lags behind target rotation to smooth its movement. @see CameraRotationLagSpeed.
bool bUseCameraLagSubstepping
 If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). @see CameraLagMaxTimeStep.
bool bDrawDebugLagMarkers
 If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).
Public Attributes inherited from USceneComponent
EDetailMode DetailMode
 If detail mode is >= system detail mode, primitive won't be rendered.
EComponentMobility Mobility
 How often this component is allowed to move, used to make various optimizations. Only safe to set in constructor.
FVector RelativeLocation
 Location of the component relative to its parent.
bool bAbsoluteRotation
 If RelativeRotation should be considered relative to the world, rather than the parent.
bool bAbsoluteLocation
 If RelativeLocation should be considered relative to the world, rather than the parent.
bool bAbsoluteScale
 If RelativeScale3D should be considered relative to the world, rather than the parent.
FRotator RelativeRotation
 Rotation of the component relative to its parent.
FVector RelativeScale3D
 Non-uniform scaling of the component relative to its parent. Note that scaling is always applied in local space (no shearing etc).
FVector WorldLocation
const FBoxSphereBounds Bounds
const USceneComponent AttachParent
 What we are currently attached to. If valid, RelativeLocation etc. are used relative to this object.
FRotator WorldRotation
const FVector ShapeCenter
FQuat ComponentQuat
bool ShouldUpdatePhysicsVolume
 Gets whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved.
const APhysicsVolume PhysicsVolume
 Physics Volume in which this SceneComponent is located *.
const FVector ComponentVelocity
 Velocity of the component. @see GetComponentVelocity().
const FName AttachSocketName
 Optional socket name on AttachParent that we are attached to.
FTransform WorldTransform
const FVector WorldScale
const int NumChildrenComponents
 Gets the number of attached children components.
bool bShouldUpdatePhysicsVolume
 Whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved. @see GetPhysicsVolume().
FPhysicsVolumeChanged PhysicsVolumeChangedDelegate
 Delegate that will be called when PhysicsVolume has been changed *.
bool bUseAttachParentBound
 If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together.
bool bVisible
 Whether to completely draw the primitive; if false, the primitive is not drawn, does not cast a shadow.
bool bHiddenInGame
 Whether to hide the primitive in game, if the primitive is Visible.
const FVector ForwardVector
 Get the forward (X) unit direction vector from this component, in world space.
const FVector UpVector
 Get the up (Z) unit direction vector from this component, in world space.
FTransform RelativeTransform
 Returns the transform of the component relative to its parent.
const FVector RightVector
 Get the right (Y) unit direction vector from this component, in world space.
const TArray< FName > AllSocketNames
 Gets the names of all the sockets on the component.
Public Attributes inherited from UActorComponent
bool bAutoActivate
 Whether the component is activated at creation or must be explicitly activated.
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 Array of user data stored with the component.
TArray< TObjectPtr< UAssetUserData > > AssetUserDataEditorOnly
 Array of user data stored with the component.
bool bReplicates
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
FActorComponentTickFunction PrimaryComponentTick
 Main tick function for the Component.
bool bIsEditorOnly
 If true, the component will be excluded from non-editor builds.
bool bReplicateUsingRegisteredSubObjectList
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
TArray< FName > ComponentTags
 Array of tags that can be used for grouping and categorizing. Can also be accessed from scripting.
const EComponentCreationMethod ComponentCreationMethod
const AActor Owner
 Follow the Outer chain to get the AActor that 'Owns' this component.
FActorComponentDeactivateSignature OnComponentDeactivated
 Called when the component has been deactivated.
FActorComponentActivatedSignature OnComponentActivated
 Called when the component has been activated, with parameter indicating if it was from a reset.
float32 ComponentTickInterval
 Returns the tick interval for this component's primary tick function, which is the frequency in seconds at which it will be executed.
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

CameraCollision

ECollisionChannel ProbeChannel
 Collision channel of the query probe (defaults to ECC_Camera).
float32 ProbeSize
 How big should the query probe sphere be (in unreal units).
const FVector UnfixedCameraPosition
 Get the position where the camera should be without applying the Collision Test displacement.
bool bDoCollisionTest
 If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.
FVector GetUnfixedCameraPosition () const
 Get the position where the camera should be without applying the Collision Test displacement.
bool IsCollisionFixApplied () const
 Is the Collision Test displacement being applied?

SpringArm

const FRotator TargetRotation
 Get the target rotation we inherit, used as the base target for the boom rotation. This is derived from attachment to our parent and considering the UsePawnControlRotation and absolute rotation flags.
FRotator GetTargetRotation () const
 Get the target rotation we inherit, used as the base target for the boom rotation. This is derived from attachment to our parent and considering the UsePawnControlRotation and absolute rotation flags.

Detailed Description

This component tries to maintain its children at a fixed distance from the parent, but will retract the children if there is a collision, and spring back when there is no collision.

Example: Use as a 'camera boom' or 'selfie stick' to keep the follow camera for a player from colliding into the world.

Member Function Documentation

◆ Create()

USpringArmComponent Create ( AActor Actor,
FName WithName = NAME_None )
static

◆ Get()

USpringArmComponent Get ( const AActor Actor,
FName WithName = NAME_None )
static

◆ GetbClampToMaxPhysicsDeltaTime()

bool GetbClampToMaxPhysicsDeltaTime ( ) const

If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.

◆ GetbDoCollisionTest()

bool GetbDoCollisionTest ( ) const

If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.

◆ GetbDrawDebugLagMarkers()

bool GetbDrawDebugLagMarkers ( ) const

If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).

◆ GetbEnableCameraLag()

bool GetbEnableCameraLag ( ) const

If true, camera lags behind target position to smooth its movement. See: CameraLagSpeed.

◆ GetbEnableCameraRotationLag()

bool GetbEnableCameraRotationLag ( ) const

If true, camera lags behind target rotation to smooth its movement. See: CameraRotationLagSpeed.

◆ GetbInheritPitch()

bool GetbInheritPitch ( ) const

Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.

◆ GetbInheritRoll()

bool GetbInheritRoll ( ) const

Should we inherit roll from parent component. Does nothing if using Absolute Rotation.

◆ GetbInheritYaw()

bool GetbInheritYaw ( ) const

Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.

◆ GetbUseCameraLagSubstepping()

bool GetbUseCameraLagSubstepping ( ) const

If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). See: CameraLagMaxTimeStep.

◆ GetbUsePawnControlRotation()

bool GetbUsePawnControlRotation ( ) const

If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).

See: GetTargetRotation(), APawn::GetViewRotation()

◆ GetOrCreate()

USpringArmComponent GetOrCreate ( AActor Actor,
FName WithName = NAME_None )
static

◆ GetTargetRotation()

FRotator GetTargetRotation ( ) const

Get the target rotation we inherit, used as the base target for the boom rotation. This is derived from attachment to our parent and considering the UsePawnControlRotation and absolute rotation flags.

◆ GetUnfixedCameraPosition()

FVector GetUnfixedCameraPosition ( ) const

Get the position where the camera should be without applying the Collision Test displacement.

◆ IsCollisionFixApplied()

bool IsCollisionFixApplied ( ) const

Is the Collision Test displacement being applied?

◆ SetbClampToMaxPhysicsDeltaTime()

void SetbClampToMaxPhysicsDeltaTime ( bool Value)

If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.

◆ SetbDoCollisionTest()

void SetbDoCollisionTest ( bool Value)

If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.

◆ SetbDrawDebugLagMarkers()

void SetbDrawDebugLagMarkers ( bool Value)

If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).

◆ SetbEnableCameraLag()

void SetbEnableCameraLag ( bool Value)

If true, camera lags behind target position to smooth its movement. See: CameraLagSpeed.

◆ SetbEnableCameraRotationLag()

void SetbEnableCameraRotationLag ( bool Value)

If true, camera lags behind target rotation to smooth its movement. See: CameraRotationLagSpeed.

◆ SetbInheritPitch()

void SetbInheritPitch ( bool Value)

Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.

◆ SetbInheritRoll()

void SetbInheritRoll ( bool Value)

Should we inherit roll from parent component. Does nothing if using Absolute Rotation.

◆ SetbInheritYaw()

void SetbInheritYaw ( bool Value)

Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.

◆ SetbUseCameraLagSubstepping()

void SetbUseCameraLagSubstepping ( bool Value)

If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). See: CameraLagMaxTimeStep.

◆ SetbUsePawnControlRotation()

void SetbUsePawnControlRotation ( bool Value)

If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).

See: GetTargetRotation(), APawn::GetViewRotation()

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ bClampToMaxPhysicsDeltaTime

bool bClampToMaxPhysicsDeltaTime

If true AND the view target is simulating using physics then use the same max timestep cap as the physics system. Prevents camera jitter when delta time is clamped within Chaos Physics.

◆ bDoCollisionTest

bool bDoCollisionTest

If true, do a collision test using ProbeChannel and ProbeSize to prevent camera clipping into level.

◆ bDrawDebugLagMarkers

bool bDrawDebugLagMarkers

If true and camera location lag is enabled, draws markers at the camera target (in green) and the lagged position (in yellow). A line is drawn between the two locations, in green normally but in red if the distance to the lag target has been clamped (by CameraLagMaxDistance).

◆ bEnableCameraLag

bool bEnableCameraLag

If true, camera lags behind target position to smooth its movement. @see CameraLagSpeed.

◆ bEnableCameraRotationLag

bool bEnableCameraRotationLag

If true, camera lags behind target rotation to smooth its movement. @see CameraRotationLagSpeed.

◆ bInheritPitch

bool bInheritPitch

Should we inherit pitch from parent component. Does nothing if using Absolute Rotation.

◆ bInheritRoll

bool bInheritRoll

Should we inherit roll from parent component. Does nothing if using Absolute Rotation.

◆ bInheritYaw

bool bInheritYaw

Should we inherit yaw from parent component. Does nothing if using Absolute Rotation.

◆ bUseCameraLagSubstepping

bool bUseCameraLagSubstepping

If bUseCameraLagSubstepping is true, sub-step camera damping so that it handles fluctuating frame rates well (though this comes at a cost). @see CameraLagMaxTimeStep.

◆ bUsePawnControlRotation

bool bUsePawnControlRotation

If this component is placed on a pawn, should it use the view/control rotation of the pawn where possible? When disabled, the component will revert to using the stored RelativeRotation of the component. Note that this component itself does not rotate, but instead maintains its relative rotation to its parent as normal, and just repositions and rotates its children as desired by the inherited rotation settings. Use GetTargetRotation() if you want the rotation target based on all the settings (UsePawnControlRotation, InheritPitch, etc).

@see GetTargetRotation(), APawn::GetViewRotation()

◆ CameraLagMaxDistance

float32 CameraLagMaxDistance

Max distance the camera target may lag behind the current location. If set to zero, no max distance is enforced.

◆ CameraLagMaxTimeStep

float32 CameraLagMaxTimeStep

Max time step used when sub-stepping camera lag.

◆ CameraLagSpeed

float32 CameraLagSpeed

If bEnableCameraLag is true, controls how quickly camera reaches target position. Low values are slower (more lag), high values are faster (less lag), while zero is instant (no lag).

◆ CameraRotationLagSpeed

float32 CameraRotationLagSpeed

If bEnableCameraRotationLag is true, controls how quickly camera reaches target position. Low values are slower (more lag), high values are faster (less lag), while zero is instant (no lag).

◆ ProbeChannel

ECollisionChannel ProbeChannel

Collision channel of the query probe (defaults to ECC_Camera).

◆ ProbeSize

float32 ProbeSize

How big should the query probe sphere be (in unreal units).

◆ SocketOffset

FVector SocketOffset

offset at end of spring arm; use this instead of the relative offset of the attached component to ensure the line trace works as desired

◆ TargetArmLength

float32 TargetArmLength

Natural length of the spring arm when there are no collisions.

◆ TargetOffset

FVector TargetOffset

Offset at start of spring, applied in world space. Use this if you want a world-space offset from the parent component instead of the usual relative-space offset.

◆ TargetRotation

const FRotator TargetRotation

Get the target rotation we inherit, used as the base target for the boom rotation. This is derived from attachment to our parent and considering the UsePawnControlRotation and absolute rotation flags.

◆ UnfixedCameraPosition

const FVector UnfixedCameraPosition

Get the position where the camera should be without applying the Collision Test displacement.