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

Allows multiple animations to be blended between based on input parameters. More...

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from UAnimationAsset
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

AdditiveSettings
UAnimSequence PreviewBasePose
 Preview Base pose for additive BlendSpace *.
AnalysisProperties
UAnalysisProperties AnalysisProperties
 Analysis properties for each axis. Note that these can be null. They will be created/set from FBlendSpaceDetails::HandleAnalysisFunctionChanged.
Animation
bool bLoop
 The default looping behavior of this blend space. Asset players can override this.
AnimationNotifies
ENotifyTriggerMode NotifyTriggerMode
 The current mode used by the BlendSpace to decide which animation notifies to fire. Valid options are:
BlendParametersTest
FBlendParameter BlendParameters
 Blend Parameters for each axis. *.
BlendSamples
TArray< FBlendSample > SampleData
 Sample animation data.
InputInterpolation
bool bInterpolateUsingGrid
 If true then interpolation is done via a grid at runtime. If false the interpolation uses the triangulation.
FInterpolationParameter InterpolationParam
 Input Smoothing parameters for each input axis.
EPreferredTriangulationDirection PreferredTriangulationDirection
 Preferred edge direction when the triangulation has to make an arbitrary choice.
EBlendSpaceAxis AxisToScaleAnimation
 If you have input smoothing, this specifies the axis on which to scale the animation playback speed. E.g. for locomotion animation, the speed axis will scale the animation speed in order to make up the difference between the target and the result of blending the samples.
SampleSmoothing
bool bAllowMeshSpaceBlending
 If set then blending is performed in mesh space if there are per-bone sample smoothing overrides.
FBlendSpaceBlendProfile PerBoneBlendProfile
 Reference to a blend profile of the corresponding skeleton to be used for per bone smoothing in case the per bone blend mode is set to use a blend profile.
bool bTargetWeightInterpolationEaseInOut
 If set then this eases in/out the sample weight adjustments, using the speed to determine how much smoothing to apply.
float32 TargetWeightInterpolationSpeedPerSec
 If greater than zero, this is the speed at which the sample weights are allowed to change.
EBlendSpacePerBoneBlendMode PerBoneBlendMode
 There are two ways to use per pone sample smoothing: Blend profiles and manually maintaining the per bone overrides.
TArray< FPerBoneInterpolation > ManualPerBoneOverrides
 Per bone sample smoothing settings, which affect the specified bone and all its descendants in the skeleton. These act as overrides to the global sample smoothing speed, which means the global sample smoothing speed does not affect these bones. Note that they also override each other - so a per-bone setting on the chest will not affect the hand if there is a per-bone setting on the arm.
Public Attributes inherited from UAnimationAsset
TArray< TObjectPtr< UAnimMetaData > > MetaData
 Meta data that can be saved with the asset.
UThumbnailInfo ThumbnailInfo
 Information for thumbnail rendering.
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 Array of user data stored with the asset.
const float32 PlayLength
UPoseAsset PreviewPoseAsset
 The default skeletal mesh to use when previewing this asset - this only applies when you open Persona using this asset// @todo: note that this doesn't retarget right now.
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

Additional Inherited Members

float32 GetPlayLength () const
void SetPreviewSkeletalMesh (USkeletalMesh PreviewMesh)
 Sets or updates the preview skeletal mesh.
UAnimMetaData FindMetaDataByClass (const TSubclassOf< UAnimMetaData > MetaDataClass) const
 Returns the first metadata of the specified class.
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

Detailed Description

Allows multiple animations to be blended between based on input parameters.

Member Function Documentation

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ AnalysisProperties

UAnalysisProperties AnalysisProperties

Analysis properties for each axis. Note that these can be null. They will be created/set from FBlendSpaceDetails::HandleAnalysisFunctionChanged.

◆ AxisToScaleAnimation

EBlendSpaceAxis AxisToScaleAnimation

If you have input smoothing, this specifies the axis on which to scale the animation playback speed. E.g. for locomotion animation, the speed axis will scale the animation speed in order to make up the difference between the target and the result of blending the samples.

◆ bAllowMeshSpaceBlending

bool bAllowMeshSpaceBlending

If set then blending is performed in mesh space if there are per-bone sample smoothing overrides.

Note that mesh space blending is significantly more expensive (slower) than normal blending when the samples are regular animations (i.e. not additive animations that are already set to apply in mesh space), and is typically only useful if you want some parts of the skeleton to achieve a pose in mesh space faster or slower than others - for example to make the head move faster than the body/arms when aiming, so the character looks at the target slightly before aiming at it.

Note also that blend space assets with additive/mesh space samples will always blend in mesh space, and also that enabling this option with blend space graphs producing additive/mesh space samples may cause undesired results.

◆ bInterpolateUsingGrid

bool bInterpolateUsingGrid

If true then interpolation is done via a grid at runtime. If false the interpolation uses the triangulation.

◆ BlendParameters

FBlendParameter BlendParameters

Blend Parameters for each axis. *.

◆ bLoop

bool bLoop

The default looping behavior of this blend space. Asset players can override this.

◆ bTargetWeightInterpolationEaseInOut

bool bTargetWeightInterpolationEaseInOut

If set then this eases in/out the sample weight adjustments, using the speed to determine how much smoothing to apply.

◆ InterpolationParam

FInterpolationParameter InterpolationParam

Input Smoothing parameters for each input axis.

◆ ManualPerBoneOverrides

TArray<FPerBoneInterpolation> ManualPerBoneOverrides

Per bone sample smoothing settings, which affect the specified bone and all its descendants in the skeleton. These act as overrides to the global sample smoothing speed, which means the global sample smoothing speed does not affect these bones. Note that they also override each other - so a per-bone setting on the chest will not affect the hand if there is a per-bone setting on the arm.

◆ NotifyTriggerMode

ENotifyTriggerMode NotifyTriggerMode

The current mode used by the BlendSpace to decide which animation notifies to fire. Valid options are:

  • AllAnimations: All notify events will fire
  • HighestWeightedAnimation: Notify events will only fire from the highest weighted animation
  • None: No notify events will fire from any animations

◆ PerBoneBlendMode

EBlendSpacePerBoneBlendMode PerBoneBlendMode

There are two ways to use per pone sample smoothing: Blend profiles and manually maintaining the per bone overrides.

◆ PerBoneBlendProfile

FBlendSpaceBlendProfile PerBoneBlendProfile

Reference to a blend profile of the corresponding skeleton to be used for per bone smoothing in case the per bone blend mode is set to use a blend profile.

◆ PreferredTriangulationDirection

EPreferredTriangulationDirection PreferredTriangulationDirection

Preferred edge direction when the triangulation has to make an arbitrary choice.

◆ PreviewBasePose

UAnimSequence PreviewBasePose

Preview Base pose for additive BlendSpace *.

◆ SampleData

TArray<FBlendSample> SampleData

Sample animation data.

◆ TargetWeightInterpolationSpeedPerSec

float32 TargetWeightInterpolationSpeedPerSec

If greater than zero, this is the speed at which the sample weights are allowed to change.

A speed of 1 means a sample weight can change from zero to one (or one to zero) in one second. A speed of 2 means that this would take half a second.

This allows the Blend Space to switch to new parameters without going through intermediate states, effectively blending between where it was and where the new target is. For example, imagine we have a blend space for locomotion, moving left, forward and right. Now if you interpolate the inputs of the blend space itself, from one extreme to the other, you will go from left, to forward, to right. As an alternative, by setting this Sample Weight Speed to a value higher than zero, it will go directly from left to right, without going through moving forward first.

Smaller values mean slower adjustments of the sample weights, and thus more smoothing. However, a value of zero disables this smoothing entirely.