Navigation
API > API/Plugins > API/Plugins/ChaosClothAssetEngine
Base cloth asset class. Any object slot based on this type can be either a Cloth Asset or an Outfit Asset.
| Name | UChaosClothAssetBase |
| Type | class |
| Header File | /Engine/Plugins/ChaosClothAsset/Source/ChaosClothAssetEngine/Public/ChaosClothAsset/ClothAssetBase.h |
| Include Path | #include "ChaosClothAsset/ClothAssetBase.h" |
Syntax
UCLASS (MinimalAPI, Abstract, BlueprintType)
class UChaosClothAssetBase :
public USkinnedAsset ,
public IDataflowContentOwner ,
public IDataflowInstanceInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UStreamableRenderAsset → USkinnedAsset → UChaosClothAssetBase
Implements Interfaces
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UChaosClothAssetBase
(
const FObjectInitializer& ObjectInitializer |
ChaosClothAsset/ClothAssetBase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AssetImportData | TObjectPtr< class UAssetImportData > | Asset data to be used when re-importing | ChaosClothAsset/ClothAssetBase.h |
|
| CachedComposedRefPoseMatrices | TArray< FMatrix > | Mesh-space ref pose, where parent matrices are applied to ref pose matrices. | ChaosClothAsset/ClothAssetBase.h | |
| PreviewSceneAnimation | TSoftObjectPtr< class UAnimationAsset > | Optional animation attached to PreviewSceneSkeletalMesh in the Preview Scene in the Cloth Editor | ChaosClothAsset/ClothAssetBase.h |
|
| PreviewSceneSkeletalMesh | TSoftObjectPtr< class USkeletalMesh > | The following PreviewScene properties are modeled after PreviewSkeletalMesh in USkeleton | ChaosClothAsset/ClothAssetBase.h |
|
| RefBasesInvMatrix | TArray< FMatrix44f > | Reference skeleton precomputed bases. | ChaosClothAsset/ClothAssetBase.h | |
| SkeletalMeshRenderData | TUniquePtr< FSkeletalMeshRenderData > | Rendering data. | ChaosClothAsset/ClothAssetBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ExportToSkeletalMesh
(
USkeletalMesh& SkeletalMesh |
Export the graphical representation of this asset to a SkeletalMesh asset. | ChaosClothAsset/ClothAssetBase.h | |
UAssetImportData * GetAssetImportData() |
ChaosClothAsset/ClothAssetBase.h | ||
const UDataflow * GetDataflow () |
Return the Dataflow graph asset associated to this asset if any, const version. | ChaosClothAsset/ClothAssetBase.h | |
UDataflow * GetDataflow () |
Return the Dataflow graph asset associated to this asset if any. | ChaosClothAsset/ClothAssetBase.h | |
UAnimationAsset * GetPreviewSceneAnimation() |
ChaosClothAsset/ClothAssetBase.h | ||
USkeletalMesh * GetPreviewSceneSkeletalMesh() |
ChaosClothAsset/ClothAssetBase.h | ||
const FPerQualityLevelInt & GetQualityLevelMinLod() |
ChaosClothAsset/ClothAssetBase.h | ||
bool HasDataflow () |
Return whether there is a Dataflow graph associated with this asset. | ChaosClothAsset/ClothAssetBase.h | |
void SetAssetImportData
(
UAssetImportData* InAssetImportData |
ChaosClothAsset/ClothAssetBase.h | ||
void SetDataflow
(
UDataflow* InDataflow |
Set the Dataflow graph asset for this asset. | ChaosClothAsset/ClothAssetBase.h | |
void SetHasVertexColors
(
bool InbHasVertexColors |
ChaosClothAsset/ClothAssetBase.h | ||
void SetOverlayMaterial
(
UMaterialInterface* NewOverlayMaterial |
Change the default overlay material used by this mesh | ChaosClothAsset/ClothAssetBase.h |
|
void SetOverlayMaterialMaxDrawDistance
(
float InMaxDrawDistance |
Change the default overlay material max draw distance used by this mesh | ChaosClothAsset/ClothAssetBase.h |
|
void SetPreviewSceneAnimation
(
UAnimationAsset* Animation |
ChaosClothAsset/ClothAssetBase.h | ||
void SetPreviewSceneSkeletalMesh
(
USkeletalMesh* Mesh |
ChaosClothAsset/ClothAssetBase.h | ||
void SetQualityLevelMinLod
(
FPerQualityLevelInt InMinLod |
ChaosClothAsset/ClothAssetBase.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CacheDerivedData
(
FSkinnedAssetCompilationContext* Context |
Load the running-platform render data from the DDC if cached, otherwise leave the render data untouched for the caller to rebuild. | ChaosClothAsset/ClothAssetBase.h | |
virtual UChaosClothAssetBase * CreatePreviewAssetCopy
(
UObject* Outer, |
Create a simplified copy of this asset suitable for preview rendering (thumbnails, etc.). | ChaosClothAsset/ClothAssetBase.h | |
virtual FGuid GetAssetGuid
(
int32 ModelIndex |
Return the asset GUID used to match the render sections for this asset model. | ChaosClothAsset/ClothAssetBase.h | |
virtual TSharedPtr< const FChaosClothSimulationModel > GetClothSimulationModel
(
int32 ModelIndex |
Return the simulation model physical data. | ChaosClothAsset/ClothAssetBase.h | |
virtual FName GetClothSimulationModelName
(
int32 ModelIndex |
Return the name of the specified cloth simulation models in this asset. | ChaosClothAsset/ClothAssetBase.h | |
virtual const TArray< TSharedRef< const FManagedArrayCollection > > & GetCollections
(
int32 ModelIndex |
Return the collections for this asset model (one per LOD). | ChaosClothAsset/ClothAssetBase.h | |
virtual bool GetEnableLODStreaming
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetMaxNumStreamedLODs
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetNumClothSimulationModels() |
Return the number of cloth simulation models in this asset. | ChaosClothAsset/ClothAssetBase.h | |
virtual const UPhysicsAsset * GetPhysicsAssetForModel
(
int32 ModelIndex |
Return the physics asset used for the simulation by this asset model. | ChaosClothAsset/ClothAssetBase.h | |
virtual bool HasValidClothSimulationModels() |
Return whether the asset has any valid cloth simulation models and is simulation enabled. | ChaosClothAsset/ClothAssetBase.h | |
virtual void SetReferenceSkeleton
(
const FReferenceSkeleton* ReferenceSkeleton |
Set the specified reference skeleton or a default reference skeleton with a simple root if ReferenceSkeleton is nullptr. | ChaosClothAsset/ClothAssetBase.h |
Overridden from USkinnedAsset
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual USkeletalMeshSocket * FindSocket
(
FName InSocketName |
ChaosClothAsset/ClothAssetBase.h | ||
virtual USkeletalMeshSocket * FindSocketInfo
(
FName InSocketName, |
ChaosClothAsset/ClothAssetBase.h | ||
virtual TArray< class USkeletalMeshSocket * > GetActiveSocketList() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FBoxSphereBounds GetBounds() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FMatrix GetComposedRefPoseMatrix
(
int32 BoneIndex |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FMatrix GetComposedRefPoseMatrix
(
FName BoneName |
ChaosClothAsset/ClothAssetBase.h | ||
virtual UMeshDeformer * GetDefaultMeshDeformer() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetDefaultMinLod() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FPerPlatformBool & GetDisableBelowMinLodStripping() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool GetHasVertexColors() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FSkeletalMeshModel * GetImportedModel() |
Default GetImportedModel returns the inherited MeshModel; derived classes override to add async-property waits. | ChaosClothAsset/ClothAssetBase.h | |
virtual FSkeletalMeshLODInfo * GetLODInfo
(
int32 Index |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FSkeletalMeshLODInfo * GetLODInfo
(
int32 Index |
ChaosClothAsset/ClothAssetBase.h | ||
virtual TArray< FSkeletalMeshLODInfo > & GetLODInfoArray () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const TArray< FSkeletalMeshLODInfo > & GetLODInfoArray () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetLODNum() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const TArray< FSkeletalMaterial > & GetMaterials () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual TArray< FSkeletalMaterial > & GetMaterials () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetMaxNumOptionalLODs
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FPerPlatformInt & GetMinLod() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetMinLodIdx
(
bool bForceLowestLODIdx |
ChaosClothAsset/ClothAssetBase.h | ||
virtual UMaterialInterface * GetOverlayMaterial() |
Get the default overlay material used by this mesh | ChaosClothAsset/ClothAssetBase.h |
|
virtual float GetOverlayMaterialMaxDrawDistance() |
Get the default overlay material max draw distance used by this mesh | ChaosClothAsset/ClothAssetBase.h |
|
virtual int32 GetPlatformMinLODIdx
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual int32 GetRayTracingMinLOD() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual TArray< FMatrix44f > & GetRefBasesInvMatrix () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const TArray< FMatrix44f > & GetRefBasesInvMatrix () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FReferenceSkeleton & GetRefSkeleton () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FReferenceSkeleton & GetRefSkeleton () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual FSkeletalMeshRenderData * GetResourceForRendering() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual UPhysicsAsset * GetShadowPhysicsAsset() |
ChaosClothAsset/ClothAssetBase.h |
|
|
virtual bool GetSupportRayTracing() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual UMeshDeformerCollection * GetTargetMeshDeformers() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FMeshUVChannelInfo * GetUVChannelData
(
int32 MaterialIndex |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool HasHalfEdgeBuffer
(
int32 LODIndex |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool IsMaterialUsed
(
int32 MaterialIndex |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool IsMinLodQualityLevelEnable() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool IsValidLODIndex
(
int32 Index |
ChaosClothAsset/ClothAssetBase.h |
|
|
virtual bool NeedCPUData
(
int32 LODIndex |
ChaosClothAsset/ClothAssetBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void BeginDestroy() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void ClearAllCachedCookedPlatformData() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void GetAssetRegistryTags
(
FAssetRegistryTagsContext Context |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool IsCachedCookedPlatformDataLoaded
(
const ITargetPlatform* TargetPlatform |
ChaosClothAsset/ClothAssetBase.h | ||
virtual bool IsReadyForFinishDestroy() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void PostInitProperties() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void PostLoad() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void Serialize
(
FArchive& Ar |
ChaosClothAsset/ClothAssetBase.h |
Overridden from IDataflowContentOwner
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TObjectPtr< UDataflowBaseContent > CreateDataflowContent() |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void ReadDataflowContent
(
const TObjectPtr< UDataflowBaseContent >& DataflowContent |
ChaosClothAsset/ClothAssetBase.h | ||
virtual void WriteDataflowContent
(
const TObjectPtr< UDataflowBaseContent >& DataflowContent |
ChaosClothAsset/ClothAssetBase.h |
Overridden from IDataflowInstanceInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FDataflowInstance & GetDataflowInstance () |
ChaosClothAsset/ClothAssetBase.h | ||
virtual const FDataflowInstance & GetDataflowInstance () |
ChaosClothAsset/ClothAssetBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AcquireAsyncProperty
(
const EnumType AsyncProperties, |
Lock properties that should not be modified/accessed during async build. | ChaosClothAsset/ClothAssetBase.h | |
void AppendBuildSettingsToDDCKey
(
FString& InOutKeySuffix, |
Append build settings to a DDC key suffix: GPU bone limits, bone influences, LODInfo GUIDs. | ChaosClothAsset/ClothAssetBase.h | |
void CalculateBounds() |
Calculate bounds from the render data's position vertex buffer. | ChaosClothAsset/ClothAssetBase.h | |
void CalculateInvRefMatrices() |
Pre-calculate refpose-to-local transforms. | ChaosClothAsset/ClothAssetBase.h | |
void EstablishCookedHeadKey() |
Maintain the cooked-load head invariant: head holds running-platform render data with matching DerivedDataKey. | ChaosClothAsset/ClothAssetBase.h | |
TArray< UActorComponent * > GetDependentComponents() |
Return all components currently using this asset. | ChaosClothAsset/ClothAssetBase.h | |
FSkeletalMeshRenderData * GetSerializeRenderData
(
FArchive& Ar |
Cooked-save render data switch on Ar.CookingTarget(); builds the per-platform variant on miss. | ChaosClothAsset/ClothAssetBase.h | |
void InitResources() |
Initialize all render resources. | ChaosClothAsset/ClothAssetBase.h | |
void OnAssetChanged
(
const bool bReregisterComponents |
Update all components currently using this asset. | ChaosClothAsset/ClothAssetBase.h | |
void OnPropertyChanged
(
const bool bReregisterComponents |
Update all properties for components currently using this asset. | ChaosClothAsset/ClothAssetBase.h | |
void ReleaseAsyncProperty
(
const EnumType AsyncProperties, |
Release properties that should not be modified/accessed during async build. | ChaosClothAsset/ClothAssetBase.h | |
void ReleaseResources() |
Safely release the render data. | ChaosClothAsset/ClothAssetBase.h | |
void ReregisterComponents() |
Reregister all components using this asset to reset the simulation in case anything has changed. | ChaosClothAsset/ClothAssetBase.h | |
void SetResourceForRendering
(
TUniquePtr< FSkeletalMeshRenderData >&& InSkeletalMeshRenderData |
Set render data. | ChaosClothAsset/ClothAssetBase.h | |
void StoreDerivedData() |
Store the current running-platform render data to DDC and set the head DerivedDataKey. | ChaosClothAsset/ClothAssetBase.h | |
void WaitUntilAsyncPropertyReleased
(
const EnumType AsyncProperties, |
Wait for the asset to finish compilation to protect internal skinned asset data from race conditions during async build. | ChaosClothAsset/ClothAssetBase.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginPostLoadAssetImpl
(
FSkinnedAssetPostLoadContext& Context |
Asset-specific BeginPostLoadInternal work, called on the game thread. | ChaosClothAsset/ClothAssetBase.h | |
virtual void ExecutePostLoadAssetImpl
(
FSkinnedAssetPostLoadContext& Context |
Asset-specific ExecutePostLoadInternal work, may run on a worker thread. | ChaosClothAsset/ClothAssetBase.h | |
virtual FString GetAsyncPropertyName
(
uint64 Property |
Resolve the names of base-class async property bits (bits 0-31) for diagnostic logging. | ChaosClothAsset/ClothAssetBase.h | |
virtual const TCHAR * GetDerivedDataPrefix() |
DDC key prefix that distinguishes this asset type's cache entries, e.g. "CHAOSOUTFIT", "CHAOSCLOTH". | ChaosClothAsset/ClothAssetBase.h | |
virtual const TCHAR * GetDerivedDataVersion() |
DDC key version GUID; bump to invalidate cached entries when the on-disk layout changes. | ChaosClothAsset/ClothAssetBase.h | |
virtual void PrepareMeshModel() |
Prepare an empty FSkeletalMeshModel sized to the current head render data, used by BuildLODModel on a Cache miss. | ChaosClothAsset/ClothAssetBase.h |
Overridden from USkinnedAsset
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsInitialBuildDone() |
True once the head render data carries a DerivedDataKey: set by Build->Store, DDC hit, or cooked-load. | ChaosClothAsset/ClothAssetBase.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UChaosClothAssetBase * CreateSimModelPreviewAsset
(
const UChaosClothAssetBase& SourceAsset, |
Create a transient asset with render data built from the source asset's simulation models. | ChaosClothAsset/ClothAssetBase.h | |
static FName GetAssetImportDataMemberName() |
ChaosClothAsset/ClothAssetBase.h |