Navigation
API > API/Plugins > API/Plugins/PoseSearch
A data asset for indexing a collection of animation sequences.
| Name | UPoseSearchDatabase |
| Type | class |
| Header File | /Engine/Plugins/Animation/PoseSearch/Source/Runtime/Public/PoseSearch/PoseSearchDatabase.h |
| Include Path | #include "PoseSearch/PoseSearchDatabase.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, Category="Animation|Pose Search",
Meta=(DisplayName="Pose Search Database"))
class UPoseSearchDatabase : public UDataAsset
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UDataAsset → UPoseSearchDatabase
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UPoseSearchDatabase() |
PoseSearch/PoseSearchDatabase.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FNonSelectableIdx | TArray< int32, TInlineAllocator< 256, TMemStackAllocator<> > > | PoseSearch/PoseSearchDatabase.h | |
| FOnDerivedDataRebuild | FOnDerivedDataRebuildMulticaster::FDelegate | PoseSearch/PoseSearchDatabase.h | |
| FOnDerivedDataRebuildMulticaster | TMulticastDelegate_NoParams< void > | PoseSearch/PoseSearchDatabase.h | |
| FOnSynchronizeWithExternalDependencies | FOnSynchronizeWithExternalDependenciesMulticaster::FDelegate | PoseSearch/PoseSearchDatabase.h | |
| FOnSynchronizeWithExternalDependenciesMulticaster | TMulticastDelegate_NoParams< void > | PoseSearch/PoseSearchDatabase.h | |
| FSelectableAssetIdx | TArray< int32, TInlineAllocator< 256, TMemStackAllocator<> > > | PoseSearch/PoseSearchDatabase.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AdditionalExtrapolationTime | FFloatInterval | Extrapolation of animation assets will be clamped by AnimationAssetTimeStart + AdditionalExtrapolationTime.Min, AnimationAssetTimeEnd + AdditionalExtrapolationTime.Max | PoseSearch/PoseSearchDatabase.h |
|
| BaseCostBias | float | Base Cost added or removed to all poses from this database. | PoseSearch/PoseSearchDatabase.h |
|
| ContinuingInteractionCostBias | float | Cost added to poses from this database (if setup with UMultiAnimAsset assets in "interaction mode") as continuation of a previous interaction. | PoseSearch/PoseSearchDatabase.h |
|
| ContinuingPoseCostBias | float | Cost added to the continuing pose from this database. | PoseSearch/PoseSearchDatabase.h |
|
| ExcludeFromDatabaseParameters | FFloatInterval | These settings allow users to trim the start and end of animations in the database to preserve start/end frames for blending, and prevent the system from selecting the very last frames before it blends out. | PoseSearch/PoseSearchDatabase.h |
|
| KDTreeMaxLeafSize | int32 | PoseSearch/PoseSearchDatabase.h |
|
|
| KDTreeQueryNumNeighbors | int32 | PoseSearch/PoseSearchDatabase.h |
|
|
| KDTreeQueryNumNeighborsWithDuplicates | int32 | PoseSearch/PoseSearchDatabase.h |
|
|
| LoopingCostBias | float | Cost added to all looping animation assets in this database. | PoseSearch/PoseSearchDatabase.h |
|
| NormalizationSet | TObjectPtr< const UPoseSearchNormalizationSet > | This optional asset defines a list of databases you want to normalize together. | PoseSearch/PoseSearchDatabase.h |
|
| NumberOfPrincipalComponents | int32 | Number of dimensions used to create the kdtree. More dimensions allows a better explanation of the variance of the dataset that usually translates in better search results, but will imply more memory usage and worse performances. | PoseSearch/PoseSearchDatabase.h |
|
| PCAValuesPruningSimilarityThreshold | float | If two PCA values (multi dimensional point with the GetNumberOfPrincipalComponents cardinality) are closer than PCAValuesPruningSimilarityThreshold, only one will be saved into the database FSearchIndex (to save memory). | PoseSearch/PoseSearchDatabase.h |
|
| PosePruningSimilarityThreshold | float | If two poses values (multi dimensional point with the schema cardinality) are closer than PosePruningSimilarityThreshold, only one will be saved into the database FSearchIndexBase (to save memory) and accessed by the two different pose indexes | PoseSearch/PoseSearchDatabase.h |
|
| PoseSearchMode | EPoseSearchMode | This dictates how the database will perform the search. | PoseSearch/PoseSearchDatabase.h |
|
| PreviewMesh | TObjectPtr< USkeletalMesh > | If null, the default preview mesh for the skeleton will be used. | PoseSearch/PoseSearchDatabase.h |
|
| Schema | TObjectPtr< const UPoseSearchSchema > | The Schema sets what channels this database will use to match against (bones, trajectory and what properties of those you’re interested in, such as position and velocity). | PoseSearch/PoseSearchDatabase.h |
|
| Tags | TArray< FName > | Array of tags that can be used as metadata. | PoseSearch/PoseSearchDatabase.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AnimationAssets | TArray< FInstancedStruct > | PoseSearch/PoseSearchDatabase.h | ||
| CachedAssetMap | TMap< FObjectKey, TArray< int32 > > | CachedAssetMap is NOT serialized in operator<< but recalculated by UpdateCachedProperties every time SearchIndexPrivate changes. | PoseSearch/PoseSearchDatabase.h | |
| Chooser | TObjectPtr< UChooserTable > | Experimental, this feature might be removed without warning, not for production use if Chooser is valid, all the AnimationAssets will come from it and AnimationAssets is not gonna be used AT ALL | PoseSearch/PoseSearchDatabase.h |
|
| OnDerivedDataRebuild | FOnDerivedDataRebuildMulticaster | PoseSearch/PoseSearchDatabase.h | ||
| OnSynchronizeWithExternalDependencies | FOnSynchronizeWithExternalDependenciesMulticaster | PoseSearch/PoseSearchDatabase.h | ||
| SearchIndexPrivate | UE::PoseSearch::FSearchIndex | Do not use it directly. Use GetSearchIndex / SetSearchIndex interact with it and validate that is ok to do so. | PoseSearch/PoseSearchDatabase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddAnimationAsset
(
FInstancedStruct AnimationAsset |
PoseSearch/PoseSearchDatabase.h | ||
TConstArrayView< float > CalculateDynamicWeightsSqrt
(
TArrayView< float > DynamicWeightsSqrtBuffer |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchDatabase.h | |
bool Contains
(
const UObject* Object |
PoseSearch/PoseSearchDatabase.h | ||
UObject * GetAnimationAsset
(
int32 Index |
PoseSearch/PoseSearchDatabase.h |
|
|
TConstArrayView< int32 > GetAssetIndexesForSourceAsset
(
const UObject* SourceAsset |
PoseSearch/PoseSearchDatabase.h | ||
const UChooserTable * GetChooser() |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchDatabase.h | |
const TDatabaseAnimationAsset * GetDatabaseAnimationAsset
(
const UE::PoseSearch::FSearchIndexAsset& SearchIndexAsset |
PoseSearch/PoseSearchDatabase.h | ||
const TDatabaseAnimationAsset * GetDatabaseAnimationAsset
(
int32 AnimationAssetIndex |
PoseSearch/PoseSearchDatabase.h | ||
TDatabaseAnimationAsset * GetMutableDatabaseAnimationAsset
(
const UE::PoseSearch::FSearchIndexAsset& SearchIndexAsset |
PoseSearch/PoseSearchDatabase.h | ||
TDatabaseAnimationAsset * GetMutableDatabaseAnimationAsset
(
int32 AnimationAssetIndex |
PoseSearch/PoseSearchDatabase.h | ||
float GetNormalizedAssetTime
(
int32 PoseIdx |
PoseSearch/PoseSearchDatabase.h | ||
int32 GetNumAnimationAssets() |
PoseSearch/PoseSearchDatabase.h |
|
|
int32 GetNumberOfPrincipalComponents() |
PoseSearch/PoseSearchDatabase.h | ||
int32 GetPoseIndex
(
const UObject* AnimationAsset, |
Given an AnimationAsset, a normalized time AnimationAssetTime (in [0-1] range for blend spaces), and mirror state bMirrored will retrieve the associated pose index from this database closest in distance to BlendParameters. | PoseSearch/PoseSearchDatabase.h | |
int32 GetPoseIndexFromTime
(
float RealTimeInSeconds, |
Given RealTimeInSeconds in seconds (not a normalized time, so for blend spaces needs to be multiplied by the blendspace length given the blend parameters). | PoseSearch/PoseSearchDatabase.h | |
float GetRealAssetTime
(
int32 PoseIdx |
PoseSearch/PoseSearchDatabase.h | ||
const UE::PoseSearch::FSearchIndex & GetSearchIndex() |
PoseSearch/PoseSearchDatabase.h | ||
bool GetSkipSearchIfPossible() |
PoseSearch/PoseSearchDatabase.h | ||
void NotifyDerivedDataRebuild() |
PoseSearch/PoseSearchDatabase.h | ||
void NotifySynchronizeWithExternalDependencies() |
PoseSearch/PoseSearchDatabase.h | ||
void RegisterOnDerivedDataRebuild
(
const FOnDerivedDataRebuild& Delegate |
PoseSearch/PoseSearchDatabase.h | ||
void RegisterOnSynchronizeWithExternalDependencies
(
const FOnSynchronizeWithExternalDependencies& Delegate |
PoseSearch/PoseSearchDatabase.h | ||
void RemoveAnimationAssetAt
(
int32 AnimationAssetIndex |
PoseSearch/PoseSearchDatabase.h | ||
UE::PoseSearch::FSearchResult Search
(
UE::PoseSearch::FSearchContext& SearchContext |
PoseSearch/PoseSearchDatabase.h | ||
UE::PoseSearch::FSearchResult SearchContinuingPose
(
UE::PoseSearch::FSearchContext& SearchContext |
PoseSearch/PoseSearchDatabase.h | ||
void SetSearchIndex
(
const UE::PoseSearch::FSearchIndex& SearchIndex |
PoseSearch/PoseSearchDatabase.h | ||
void SynchronizeChooser() |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchDatabase.h | |
| PoseSearch/PoseSearchDatabase.h | |||
void SynchronizeWithExternalDependencies
(
TConstArrayView< UAnimSequenceBase* > SequencesBase |
PoseSearch/PoseSearchDatabase.h | ||
void UnregisterOnDerivedDataRebuild
(
FDelegateUserObject Unregister |
PoseSearch/PoseSearchDatabase.h | ||
void UnregisterOnSynchronizeWithExternalDependencies
(
FDelegateUserObject Unregister |
PoseSearch/PoseSearchDatabase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
PoseSearch/PoseSearchDatabase.h | ||
virtual bool IsCachedCookedPlatformDataLoaded
(
const ITargetPlatform* TargetPlatform |
PoseSearch/PoseSearchDatabase.h | ||
virtual void PostLoad() |
Begin UObject. | PoseSearch/PoseSearchDatabase.h | |
virtual void PostSaveRoot
(
FObjectPostSaveRootContext ObjectSaveContext |
PoseSearch/PoseSearchDatabase.h | ||
virtual void PreSaveRoot
(
FObjectPreSaveRootContext ObjectSaveContext |
PoseSearch/PoseSearchDatabase.h | ||
virtual void Serialize
(
FArchive& Ar |
PoseSearch/PoseSearchDatabase.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void AppendToClassSchema
(
FAppendToClassSchemaContext& Context |
PoseSearch/PoseSearchDatabase.h |