Navigation
API > API/Plugins > API/Plugins/HairStrandsCore
Implements an asset that can be used to store binding information between a groom and a skeletal mesh
| Name | UGroomBindingAsset |
| Type | class |
| Header File | /Engine/Plugins/Runtime/HairStrands/Source/HairStrandsCore/Public/GroomBindingAsset.h |
| Include Path | #include "GroomBindingAsset.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, HideCategories=(Object))
class UGroomBindingAsset :
public UObject ,
public IInterface_AsyncCompilation
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UGroomBindingAsset
Implements Interfaces
Structs
| Name | Remarks |
|---|---|
| FCachedCookedPlatformData | |
| FHairGroupPlatformData | Binding bulk data |
| FHairGroupPlatformDataArray | Queue of data which needs to be deleted. |
| FHairGroupResource | GPU and CPU binding data for both simulation and rendering. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FHairGroupResources | TArray< FHairGroupResource > | GroomBindingAsset.h | |
| FOnGroomBindingAssetChanged | TMulticastDelegate_NoParams< void > | Notification when anything changed | GroomBindingAsset.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AssetNameHash | uint32 | GroomBindingAsset.h | ||
| bIsValid | bool | GroomBindingAsset.h | ||
| CachedCookedPlatformDatas | TArray< FCachedCookedPlatformData * > | GroomBindingAsset.h | ||
| CachedDerivedDataKey | TArray< FString > | GroomBindingAsset.h | ||
| CachedResourcesFeatureLevel | ERHIFeatureLevel::Type | GroomBindingAsset.h | ||
| CachedResourcesPlatformLevel | ERHIFeatureLevel::Type | GroomBindingAsset.h | ||
| OnGroomBindingAssetChanged | FOnGroomBindingAssetChanged | IInterface_AsyncCompilation end | GroomBindingAsset.h | |
| ThumbnailInfo | TObjectPtr< class UThumbnailInfo > | Information for thumbnail rendering | GroomBindingAsset.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AccessedProperties | std::atomic< uint64 > | Used as a bit-field indicating which properties are read by async compilation. | GroomBindingAsset.h | |
| AsyncTask | TUniquePtr< FGroomBindingAsyncBuildTask > | Holds the pointer to an async task if one exists. | GroomBindingAsset.h | |
| Groom | TObjectPtr< UGroomAsset > | Groom to bind. | GroomBindingAsset.h |
|
| GroomBindingType | EGroomBindingMeshType | Type of mesh to create groom binding for | GroomBindingAsset.h |
|
| GroupInfos | TArray< FGoomBindingGroupInfo > | GroomBindingAsset.h |
|
|
| HairGroupPlatformDataToDelete | TQueue< FHairGroupPlatformDataArray * > | GroomBindingAsset.h | ||
| HairGroupResources | FHairGroupResources | GroomBindingAsset.h | ||
| HairGroupResourcesToDelete | TQueue< FHairGroupResource > | Queue of resources which needs to be deleted. | GroomBindingAsset.h | |
| HairGroupsPlatformData | TArray< FHairGroupPlatformData > | Platform data for each hair groups | GroomBindingAsset.h | |
| MatchingSection | int32 | Number of points used for the rbf interpolation | GroomBindingAsset.h |
|
| ModifiedProperties | std::atomic< uint64 > | Used as a bit-field indicating which properties are written to by async compilation. | GroomBindingAsset.h | |
| NumInterpolationPoints | int32 | Number of points used for the rbf interpolation | GroomBindingAsset.h |
|
| SourceGeometryCache | TObjectPtr< UGeometryCache > | GroomBindingAsset.h |
|
|
| SourceMeshRequestedLOD | int32 | GroomBindingAsset.h |
|
|
| SourceMeshUsedLOD | int32 | GroomBindingAsset.h |
|
|
| SourceSkeletalMesh | TObjectPtr< USkeletalMesh > | Skeletal mesh on which the groom has been authored. | GroomBindingAsset.h |
|
| TargetBindingAttribute | FName | Optional binding attribute name on target skeletal mesh, to filter out which triangles are valid to bind groom to | GroomBindingAsset.h |
|
| TargetGeometryCache | TObjectPtr< UGeometryCache > | GroomBindingAsset.h |
|
|
| TargetMeshRequestedMinLOD | int32 | GroomBindingAsset.h |
|
|
| TargetMeshUsedMinLOD | int32 | GroomBindingAsset.h |
|
|
| TargetSkeletalMesh | TObjectPtr< USkeletalMesh > | Skeletal mesh on which the groom is attached to. | GroomBindingAsset.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddHairGroupResourcesToDelete
(
FHairGroupResource& In |
GroomBindingAsset.h | ||
void BeginCacheDerivedDatas
(
const FOnGroomBindingAssetBuildComplete& DynamicCompletionDelegate, |
Internal use only. | GroomBindingAsset.h | |
void Build
(
const FOnGroomBindingAssetBuildComplete& DynamicCompletionDelegate, |
GroomBindingAsset.h | ||
void Build
(
const FOnGroomBindingAssetBuildCompleteNative& CompletionDelegate |
GroomBindingAsset.h |
|
|
void Build
(
FOnGroomBindingAssetBuildComplete CompletionDelegate |
Build/rebuild a binding asset. | GroomBindingAsset.h |
|
void ChangeFeatureLevel
(
ERHIFeatureLevel::Type PendingFeatureLevel |
GroomBindingAsset.h | ||
void ChangePlatformLevel
(
ERHIFeatureLevel::Type PendingFeatureLevel |
GroomBindingAsset.h | ||
uint32 GetAssetHash() |
GroomBindingAsset.h | ||
FName GetAssetPathName
(
int32 LODIndex |
Helper function to return the asset path name, optionally joined with the LOD index if LODIndex > -1. | GroomBindingAsset.h | |
TArray< FHairGroupPlatformData > * GetCachedCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
GroomBindingAsset.h | ||
TArray< FGoomBindingGroupInfo > & GetGroupInfos() |
GroomBindingAsset.h |
|
|
const FHairGroupResources & GetHairGroupResources () |
GroomBindingAsset.h | ||
FHairGroupResources & GetHairGroupResources () |
GroomBindingAsset.h | ||
| GroomBindingAsset.h | |||
const TArray< FHairGroupPlatformData > & GetHairGroupsPlatformData () |
GroomBindingAsset.h | ||
FOnGroomBindingAssetChanged & GetOnGroomBindingAssetChanged() |
GroomBindingAsset.h | ||
bool HasAnyDependenciesCompiling() |
GroomBindingAsset.h | ||
bool HasValidTarget() |
Returns true if the target is not null and matches the binding type | GroomBindingAsset.h | |
void InitResource() |
Initialize resources. | GroomBindingAsset.h | |
void InvalidateBinding
(
USkeletalMesh* |
GroomBindingAsset.h | ||
void InvalidateBinding () |
GroomBindingAsset.h | ||
virtual bool IsCompiling() |
IInterface_AsyncCompilation begin | GroomBindingAsset.h | |
bool IsValid() |
Return true if the binding asset is valid, i.e., correctly built and loaded. | GroomBindingAsset.h | |
void RecreateResources() |
GroomBindingAsset.h | ||
void RegisterGroomDelegates() |
GroomBindingAsset.h | ||
void RegisterSkeletalMeshDelegates() |
GroomBindingAsset.h | ||
void ReleaseResource
(
bool bResetLoadedSize |
Release the hair strands resource. | GroomBindingAsset.h | |
bool RemoveHairGroupResourcesToDelete
(
FHairGroupResource& Out |
GroomBindingAsset.h | ||
void Reset() |
GroomBindingAsset.h | ||
void SetHairGroupResources
(
FHairGroupResources InHairGroupResources |
GroomBindingAsset.h | ||
void StreamInForCPUAccess
(
bool bWait |
Stream in all of this binding's streamable resources and make them accessible from the CPU. | GroomBindingAsset.h | |
void UnregisterGroomDelegates() |
GroomBindingAsset.h | ||
void UnregisterSkeletalMeshDelegates() |
GroomBindingAsset.h | ||
void UpdateResource() |
Update resources. | GroomBindingAsset.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
GroomBindingAsset.h | ||
virtual void BeginDestroy() |
GroomBindingAsset.h | ||
virtual void ClearAllCachedCookedPlatformData() |
GroomBindingAsset.h | ||
virtual void GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
GroomBindingAsset.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Part of UObject interface | GroomBindingAsset.h | |
virtual void PostLoad() |
GroomBindingAsset.h | ||
virtual void PostSaveRoot
(
FObjectPostSaveRootContext ObjectSaveContext |
GroomBindingAsset.h | ||
virtual void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
GroomBindingAsset.h | ||
virtual void Serialize
(
FArchive& Ar |
GroomBindingAsset.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void FlushRenderingCommandIfUsed
(
const UGroomBindingAsset* In |
GroomBindingAsset.h | ||
static FName GetGroomBindingTypeMemberName() |
GroomBindingAsset.h | ||
static FName GetGroomMemberName() |
GroomBindingAsset.h | ||
static FName GetGroupInfosMemberName() |
GroomBindingAsset.h | ||
static FName GetHairGroupPlatformDataMemberName() |
GroomBindingAsset.h | ||
static FName GetHairGroupResourcesMemberName() |
GroomBindingAsset.h | ||
static FName GetMatchingSectionMemberName() |
GroomBindingAsset.h | ||
static FName GetNumInterpolationPointsMemberName() |
GroomBindingAsset.h | ||
static FName GetSourceGeometryCacheMemberName() |
GroomBindingAsset.h | ||
static FName GetSourceMeshRequestedLODMemberName() |
GroomBindingAsset.h | ||
static FName GetSourceMeshUsedLODMemberName() |
GroomBindingAsset.h | ||
static FName GetSourceSkeletalMeshMemberName() |
GroomBindingAsset.h | ||
static FName GetTargetBindingAttributeMemberName() |
GroomBindingAsset.h | ||
static FName GetTargetGeometryCacheMemberName() |
GroomBindingAsset.h | ||
static FName GetTargetMeshRequestedMinLODMemberName() |
GroomBindingAsset.h | ||
static FName GetTargetMeshUsedMinLODMemberName() |
GroomBindingAsset.h | ||
static FName GetTargetSkeletalMeshMemberName() |
GroomBindingAsset.h | ||
static bool IsBindingAssetValid
(
const UGroomBindingAsset* InBinding, |
GroomBindingAsset.h | ||
static bool IsCompatible
(
const UGroomAsset* InGroom, |
GroomBindingAsset.h | ||
static bool IsCompatible
(
const USkeletalMesh* InSkeletalMesh, |
GroomBindingAsset.h | ||
static bool IsCompatible
(
const UGeometryCache* InGeometryCache, |
GroomBindingAsset.h |