| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Engine/SkeletalMesh.h |
Include |
#include "Engine/SkeletalMesh.h" |
class USkeletalMesh :
public UStreamableRenderAsset,
public IInterface_CollisionDataProvider,
public IInterface_AssetUserData,
public INodeMappingProviderInterface
SkeletalMesh is geometry bound to a hierarchical skeleton of bones which can be animated for the purpose of deforming the mesh. Skeletal Meshes are built up of two parts; a set of polygons composed to make up the surface of the mesh, and a hierarchical skeleton which can be used to animate the polygons. The 3D models, rigging, and animations are created in an external modeling and animation application (3DSMax, Maya, Softimage, etc).
Name | Description | ||
---|---|---|---|
|
AssetUserData |
Array of user data stored with the asset |
|
|
uint8: 1 |
bSupportRayTracing |
If true, a ray tracing acceleration structure will be built for this mesh and it may be used in ray tracing effects |
|
NegativeBoundsExtension |
Bound extension values in addition to imported bound in the negative direction of XYZ, positive value increases bound size and negative value decreases bound size. |
|
|
OnMeshChanged |
||
|
PositiveBoundsExtension |
The properties below are protected to force the use of the Set* methods for this data in code so we can keep the extended bounds up to date after changing the data. |
|
|
ReleaseResourcesFence |
A fence which is used to keep track of the rendering thread releasing the static mesh resources. |
|
|
SamplingInfo |
Defines if and how to generate a set of precomputed data allowing targeted and fast sampling of this mesh on the CPU. |
|
|
SkinWeightProfiles |
Set of skin weight profiles associated with this mesh |
Name | Description | |
---|---|---|
|
USkeletalMesh ( |
|
|
USkeletalMesh ( |
This is declared so we can use TUniquePtr |
Name | Description | |
---|---|---|
|
~USkeletalMesh() |
Name | Description | ||
---|---|---|---|
|
AddBoneToReductionSetting |
||
|
AddBoneToReductionSetting |
||
|
AddClothingAsset ( |
Adds an asset to this mesh with validation and event broadcast |
|
|
AddLODInfo ( |
Add New LOD info entry with entry This is used by import code, where they want to override this |
|
|
FSkeletalMes... |
AddLODInfo() |
Add New LOD info entry to LODInfo array |
|
AddSkinWeightProfile ( |
||
|
AllocateResourceForRendering() |
Allocate a new FSkeletalMeshRenderData and assign to SkeletalMeshRenderData member. |
|
|
Build() |
If derive data cache key do not match, regenerate derived data and re-create any render state based on that. |
|
|
BuildPhysicsData() |
Trigger a physics build to ensure per poly collision is created |
|
|
CalculateExtendedBounds() |
Calculate the extended bounds based on the imported bounds and the extension values |
|
|
CalculateInvRefMatrices() |
Setup-only routines - not concerned with the instance. |
|
|
CalculateRequiredBones ( |
Calculate the required bones for a Skeletal Mesh LOD, including possible extra influences |
|
|
CancelAllPendingStreamingActions() |
Cancels any pending static mesh streaming actions if possible. |
|
|
ComputeActiveClothingAssets() |
Compute whether or not any bound clothing assets exist for this mesh |
|
|
ConvertLegacyLODScreenSize() |
Convert legacy screen size (based on fixed resolution) into screen size (diameter in screen units) |
|
|
CopyImportedData ( |
Static function that copy the LOD import data from a source s^keletal mesh to a destination skeletal mesh |
|
|
CopyMirrorTableFrom ( |
Utility for copying and converting a mirroring table from another USkeletalMesh. |
|
|
CreateBodySetup() |
||
|
DebugVerifySkeletalMeshLOD() |
Verify SkeletalMeshLOD is set up correctly |
|
|
EmptyAllImportData() |
Remove the import data for all the LODs |
|
|
EmptyLODImportData ( |
Remove the import data for the specified LOD |
|
|
ExportMirrorTable ( |
Utility for copying and converting a mirroring table from another SkeletalMesh. |
|
|
UMorphTarget... |
FindMorphTarget ( |
Find a named MorphTarget from the MorphSets array in the SkinnedMeshComponent. |
|
UMorphTarget... |
FindMorphTargetAndIndex |
Find a named MorphTarget from the MorphSets array in the SkinnedMeshComponent. |
|
USkeletalMes... |
FindSocket ( |
Find a socket object in this SkeletalMesh by name. |
|
USkeletalMes... |
FindSocketAndIndex |
Find a socket object in this SkeletalMesh by name. |
|
USkeletalMes... |
FindSocketInfo ( |
Find a socket object and asscociated info in this SkeletalMesh by name. |
|
FlushRenderState() |
Flush current render state |
|
|
ForceBulkDataResident ( |
||
|
GetActiveSocketList() |
Returns the "active" socket list - all sockets from this mesh plus all non-duplicates from the skeleton Const ref return value as this cannot be modified externally |
|
|
UAssetImport... |
GetAssetImportData() |
|
|
GetAssetImportDataMemberName() |
||
|
const UAnimS... |
GetBakePose ( |
Get BakePose for the given LOD |
|
GetbHasVertexColorsMemberName() |
||
|
UBodySetup &... |
GetBodySetup() |
|
|
GetBodySetupMemberName() |
||
|
FBoxSphereBo... |
GetBounds() |
Get the extended bounds of this mesh (imported bounds plus bounds extension) |
|
UClothingAss... |
GetClothingAsset ( |
Get a clothing asset from its associated GUID (returns nullptr if no match is found) |
|
GetClothingAssetIndex ( |
Get the index in the clothing asset array for a given asset (INDEX_NONE if InAsset isn't in the array) |
|
|
GetClothingAssetIndex ( |
Get the index in the clothing asset array for a given asset GUID (INDEX_NONE if there is no match) |
|
|
GetClothingAssetsInUse ( |
Populates OutClothingAssets with all clothing assets that are mapped to sections in the mesh. |
|
|
GetComposedRefPoseMatrix ( |
Get the component orientation of a bone or socket. Transforms by parent bones. |
|
|
GetComposedRefPoseMatrix ( |
Get the component orientation of a bone or socket. Transforms by parent bones. |
|
|
TSoftObjectP... |
GetDefaultAnimatingRig() |
|
|
GetDefaultAnimatingRigMemberName() |
||
|
const FVecto... |
GetDefaultEditorCameraLocation() |
|
|
GetDefaultEditorCameraLocationMemberName() |
||
|
const FVecto... |
GetDefaultEditorCameraLookAt() |
|
|
GetDefaultEditorCameraLookAtMemberName() |
||
|
float |
GetDefaultEditorCameraOrthoZoom() |
|
|
GetDefaultEditorCameraOrthoZoomMemberName() |
||
|
const FRotat... |
GetDefaultEditorCameraRotation() |
|
|
GetDefaultEditorCameraRotationMemberName() |
||
|
const USkele... |
GetDefaultLODSetting() |
Get Default LOD Setting of this mesh |
|
GetDerivedDataKey() |
Generate the derived data key used to fetch derived data |
|
|
const FPerPl... |
GetDisableBelowMinLodStripping() |
|
|
GetDisableBelowMinLodStrippingMemberName() |
||
|
GetEnablePerPolyCollision() |
||
|
GetEnablePerPolyCollisionMemberName() |
||
|
float |
GetFloorOffset() |
|
|
GetFloorOffsetMemberName() |
||
|
GetHasActiveClothingAssetsMemberName() |
||
|
GetHasBeenSimplified() |
||
|
GetHasBeenSimplifiedMemberName() |
||
|
GetHasCustomDefaultEditorCamera() |
||
|
GetHasCustomDefaultEditorCameraMemberName() |
||
|
GetHasVertexColors() |
||
|
FBoxSphereBo... |
GetImportedBounds() |
Get the original imported bounds of the skel mesh |
|
FSkeletalMes... |
GetImportedModel() |
End USkeletalMeshEditorData public skeletalmesh API. |
|
GetLODImportedDataVersions ( |
Get the Versions of the geo and skinning data. |
|
|
FSkeletalMes... |
GetLODInfo ( |
Get LODInfo of the given index non-const |
|
const FSkele... |
GetLODInfo ( |
Get LODInfo of the given index const |
|
const TArray... |
GetLODInfoArray() |
Returns whole array of LODInfo const |
|
GetLODInfoArray() |
Returns whole array of LODInfo non-const |
|
|
GetLODNum() |
Returns total number of LOD |
|
|
const USkele... |
GetLODSettings() |
|
|
USkeletalMes... |
GetLODSettings() |
|
|
GetLODSettingsMemberName() |
||
|
GetMaterials() |
||
|
const TArray... |
GetMaterials() |
|
|
GetMaterialsMemberName() |
||
|
const FPerPl... |
GetMaxNumOptionalLODs() |
|
|
GetMaxNumOptionalLODs ( |
Get the maximum number of optional LODs. |
|
|
GetMaxNumOptionalLODsMemberName() |
||
|
const FPerPl... |
GetMaxNumStreamedLODs() |
|
|
GetMaxNumStreamedLODs ( |
Get the maximum number of LODs that can be streamed. |
|
|
GetMaxNumStreamedLODsMemberName() |
||
|
const TArray... |
GetMeshClothingAssets() |
|
|
GetMeshClothingAssets() |
||
|
GetMeshClothingAssetsMemberName() |
||
|
const TArray... |
GetMeshOnlySocketList() |
Const version Returns the mesh only socket list - this ignores any sockets in the skeleton Return value is a non-const reference so the socket list can be changed |
|
GetMeshOnlySocketList() |
Returns the mesh only socket list - this ignores any sockets in the skeleton Return value is a non-const reference so the socket list can be changed |
|
|
const FPerPl... |
GetMinLod() |
|
|
GetMinLodMemberName() |
||
|
GetMipDataFilename |
||
|
GetMorphTargetIndexMap() |
||
|
const TMap< ... |
GetMorphTargetIndexMap() |
|
|
GetMorphTargetIndexMapMemberName() |
||
|
GetMorphTargets() |
||
|
const TArray... |
GetMorphTargets() |
|
|
GetMorphTargetsMemberName() |
||
|
const FVecto... |
GetNegativeBoundsExtension() |
Get bound extension values in the negative direction of XYZ |
|
UNodeMapping... |
GetNodeMappingContainer ( |
|
|
TArray< clas... |
GetNodeMappingData() |
|
|
const TArray... |
GetNodeMappingData() |
|
|
GetNodeMappingDataMemberName() |
||
|
GetNumSkinWeightProfiles() |
||
|
FOnMeshChang... |
GetOnMeshChanged() |
|
|
const FOnMes... |
GetOnMeshChanged() |
|
|
GetOverrideLODStreamingSettings() |
||
|
GetOverrideLODStreamingSettingsMemberName() |
||
|
UPhysicsAsse... |
GetPhysicsAsset() |
|
|
GetPhysicsAssetMemberName() |
||
|
const FVecto... |
GetPositiveBoundsExtension() |
Get bound extension values in the positive direction of XYZ |
|
GetPostEditChangeStackCounter() |
||
|
TSubclassOf<... |
GetPostProcessAnimBlueprint() |
|
|
GetPostProcessAnimBlueprintMemberName() |
||
|
FPreviewAsse... |
GetPreviewAttachedAssetContainer() |
|
|
const FPrevi... |
GetPreviewAttachedAssetContainer() |
|
|
FSkeletalMes... |
GetReductionSettings ( |
Get a copy of the reduction settings for a specified LOD index. |
|
const TArray... |
GetRefBasesInvMatrix() |
|
|
GetRefBasesInvMatrix() |
||
|
GetRefBasesInvMatrixMemberName() |
||
|
GetRefPoseMatrix ( |
||
|
const FRefer... |
GetRefSkeleton() |
|
|
FReferenceSk... |
GetRefSkeleton() |
|
|
GetRefSkeletonMemberName() |
||
|
GetRequiresLODHysteresisConversion() |
||
|
GetRequiresLODScreenSizeConversion() |
||
|
FSkeletalMes... |
GetResourceForRendering() |
Get the data to use for rendering. |
|
const TArray... |
GetRetargetBasePose() |
|
|
GetRetargetBasePose() |
||
|
GetRetargetBasePoseMemberName() |
||
|
const FSkele... |
GetSamplingInfo() |
|
|
UClothingAss... |
GetSectionClothingAsset |
Given an LOD and section index, retrieve a clothing asset bound to that section. |
|
const UCloth... |
GetSectionClothingAsset |
Given an LOD and section index, retrieve a clothing asset bound to that section. |
|
UPhysicsAsse... |
GetShadowPhysicsAsset() |
|
|
GetShadowPhysicsAssetMemberName() |
||
|
USkeleton &#... |
GetSkeleton() |
|
|
const USkele... |
GetSkeleton() |
|
|
GetSkeletonMemberName() |
||
|
TEnumAsByte<... |
GetSkelMirrorAxis() |
|
|
GetSkelMirrorAxisMemberName() |
||
|
TEnumAsByte<... |
GetSkelMirrorFlipAxis() |
|
|
GetSkelMirrorFlipAxisMemberName() |
||
|
const TArray... |
GetSkelMirrorTable() |
|
|
TArray< stru... |
GetSkelMirrorTable() |
|
|
GetSkelMirrorTableMemberName() |
||
|
const TArray... |
GetSkinWeightProfiles() |
|
|
GetSkinWeightProfiles() |
||
|
USkeletalMes... |
GetSocketByIndex ( |
Returns a socket by index. |
|
GetSourceFileLabelFromIndex ( |
||
|
const FPerPl... |
GetSupportLODStreaming() |
|
|
GetSupportLODStreamingMemberName() |
||
|
GetSupportsLODStreaming ( |
Get whether this mesh use LOD streaming. |
|
|
UThumbnailIn... |
GetThumbnailInfo() |
|
|
GetThumbnailInfoMemberName() |
||
|
GetUseLegacyMeshDerivedDataKey() |
||
|
GetUseLegacyMeshDerivedDataKeyMemberName() |
||
|
const FMeshU... |
GetUVChannelData ( |
Returns the UV channel data for a given material index. |
|
GetVertexBufferFlags() |
Computes flags for building vertex buffers. |
|
|
GetVertexColorData ( |
Returns vertex color data by position. |
|
|
GetVertexColorGuid() |
||
|
GetVertexColorGuidMemberName() |
||
|
HasActiveClothingAssets() |
Get whether or not any bound clothing assets exist for this mesh |
|
|
HasActiveClothingAssetsForLOD ( |
Get whether or not any bound clothing assets exist for this mesh's given LOD |
|
|
HasCustomActorFactory() |
This is a bit hacky. |
|
|
HasCustomActorReimportFactory() |
This is a bit hacky. |
|
|
ImportMirrorTable ( |
Utility for copying and converting a mirroring table from another SkeletalMesh. |
|
|
InitBoneMirrorInfo() |
Allocate and initialise bone mirroring table for this skeletal mesh. |
|
|
InitMorphTargets() |
Initialize MorphSets look up table : MorphTargetIndexMap |
|
|
InitMorphTargetsAndRebuildRenderData() |
Initialize morph targets and rebuild the render data |
|
|
InitResources() |
Initialize the mesh's render resources. |
|
|
InvalidateDeriveDataCacheGUID() |
Force the creation of a new GUID use to build the derive data cache key. |
|
|
IsLODImportedDataBuildAvailable ( |
Return true if the imported data has all the necessary data to use the skeletalmesh builder. |
|
|
IsLODImportedDataEmpty ( |
Return true if the imported data is present. |
|
|
IsReductionActive ( |
Return true if the reduction settings are setup to reduce a LOD |
|
|
IsSectionUsingCloth |
Checks whether the provided section is using APEX cloth. |
|
|
IsValidLODIndex ( |
Return true if given index's LOD is valid |
|
|
K2_GetAllMorphTargetNames() |
Returns the list of all morph targets of this skeletal mesh |
|
|
LoadLODImportedData ( |
USkeletalMeshEditorData public skeletalmesh API We do not want skeletal mesh client to use directly the asset(function GetMeshEditorData) We have to maintain some sync between the LODModels and the asset to avoid loading the asset when building the DDC key. |
|
|
MirrorTableIsGood ( |
Utility for checking that the bone mirroring table of this mesh is good. |
|
|
NeedCPUData ( |
True if this mesh LOD needs to keep it's data on CPU. |
|
|
NumSockets() |
Returns the number of sockets available. Both on this mesh and it's skeleton. |
|
|
FOnPostMeshC... |
OnPostMeshCached() |
Get multicast delegate broadcast post to mesh data caching |
|
ReallocateRetargetBasePose() |
Recalculate Retarget Base Pose BoneTransform |
|
|
RebuildSocketMap() |
Called to rebuild an out-of-date or invalid socket map |
|
|
RegisterMorphTarget ( |
If name conflicts, it will overwrite the reference |
|
|
FDelegateHan... |
RegisterOnClothingChange ( |
Delegates for asset editor events |
|
ReleaseCPUResources() |
Release CPU access version of buffer |
|
|
ReleaseResources() |
Releases the mesh's render resources. |
|
|
ReleaseSkinWeightProfileResources() |
Releases all allocated Skin Weight Profile resources, assumes none are currently in use |
|
|
RemoveClothingAsset |
If the given section of the specified LOD has a clothing asset, unbind it's data and remove it from the asset array |
|
|
RemoveLegacyClothingSections() |
Clothing used to require the original section to be hidden and duplicated to a new rendered section. |
|
|
RemoveLODInfo ( |
Remove LOD info of given index |
|
|
RemoveMeshSection |
Removes a specified section from the skeletal mesh, this is a destructive action |
|
|
ReserveLODImportData ( |
Allocate the space we need. Use this before calling this API in multithreaded. |
|
|
ResetLODInfo() |
Reset whole entry |
|
|
SaveLODImportedData ( |
Fill the asset LOD entry with the InMesh. |
|
|
SetAssetImportData ( |
||
|
SetBodySetup ( |
||
|
SetDefaultAnimatingRig ( |
||
|
SetDefaultEditorCameraLocation ( |
||
|
SetDefaultEditorCameraLookAt ( |
||
|
SetDefaultEditorCameraOrthoZoom ( |
||
|
SetDefaultEditorCameraRotation ( |
||
|
SetDisableBelowMinLodStripping ( |
||
|
SetEnablePerPolyCollision ( |
||
|
SetFloorOffset ( |
||
|
SetHasActiveClothingAssets ( |
||
|
SetHasBeenSimplified ( |
||
|
SetHasCustomDefaultEditorCamera ( |
||
|
SetHasVertexColors ( |
||
|
SetImportedBounds ( |
Set the original imported bounds of the skel mesh, will recalculate extended bounds |
|
|
SetLODImportedDataVersions ( |
Set the Versions of the geo and skinning data. |
|
|
SetLODSettings ( |
||
|
SetMaterials ( |
||
|
SetMaxNumOptionalLODs ( |
||
|
SetMaxNumStreamedLODs ( |
||
|
SetMeshClothingAssets ( |
||
|
SetMinLod ( |
||
|
SetMorphTargetIndexMap |
||
|
SetMorphTargets ( |
||
|
SetNegativeBoundsExtension ( |
Set bound extension values in the negative direction of XYZ, positive value increases bound size |
|
|
SetNodeMappingData ( |
||
|
SetOverrideLODStreamingSettings ( |
||
|
SetPhysicsAsset ( |
||
|
SetPositiveBoundsExtension ( |
Set bound extension values in the positive direction of XYZ, positive value increases bound size |
|
|
SetPostEditChangeStackCounter ( |
||
|
SetPostProcessAnimBlueprint ( |
||
|
SetPreviewAttachedAssetContainer ( |
||
|
SetRefBasesInvMatrix |
||
|
SetRefSkeleton ( |
||
|
SetRequiresLODHysteresisConversion ( |
||
|
SetRequiresLODScreenSizeConversion ( |
||
|
SetRetargetBasePose ( |
||
|
SetSamplingInfo ( |
||
|
SetShadowPhysicsAsset ( |
||
|
SetSkeleton ( |
||
|
SetSkelMirrorAxis ( |
||
|
SetSkelMirrorFlipAxis ( |
||
|
SetSkelMirrorTable ( |
||
|
SetSupportLODStreaming ( |
||
|
SetThumbnailInfo ( |
||
|
SetUseLegacyMeshDerivedDataKey ( |
||
|
SetVertexColorGuid ( |
||
|
StackPostEditChange() |
This function will increment the PostEditChange stack counter. |
|
|
UnregisterAllMorphTarget() |
||
|
UnregisterMorphTarget ( |
||
|
UnregisterOnClothingChange ( |
||
|
UnStackPostEditChange() |
This function will decrement the stack counter. |
|
|
UpdateGenerateUpToData() |
||
|
UpdateUVChannelData ( |
Update the material UV channel data used by the texture streamer. |
|
|
UpgradeOldClothingAssets() |
Take clothing assets that were imported using APEX files before we moved away from the APEX simulation framework and upgrade them to UE4 UClothingAssets. |
|
|
ValidateBoneWeights ( |
Warn if the platform supports the minimal number of per vertex bone weights |
|
|
ValidateBoundsExtension() |
Alters the bounds extension values to fit correctly into the current bounds (so negative values never extend the bounds etc.) |
|
|
ValidatePreviewAttachedObjects() |
Makes sure all attached objects are valid and removes any that aren't. |
Name | Description | ||
---|---|---|---|
|
CalcCumulativeLODSize ( |
||
|
DoesMipDataExist ( |
||
|
FIoFilenameH... |
GetMipIoFilenameHash ( |
|
|
EStreamableR... |
GetRenderAssetType() |
|
|
HasPendingRenderResourceInitialization() |
Also returns false if the render resource is non existent, to prevent stalling on an event that will never complete. |
|
|
StreamIn |
Loads mips from disk to memory. Only usable if the asset is streamable. |
|
|
StreamOut ( |
Unload some mips from memory. Only usable if the asset is streamable. |
Name | Description | ||
---|---|---|---|
|
BeginCacheForCookedPlatformData ( |
Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects |
|
|
BeginDestroy() |
Called before destroying the object. |
|
|
GetAssetRegistryTagMetadata ( |
Gathers a collection of asset registry tag metadata |
|
|
GetAssetRegistryTags ( |
Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects |
|
|
GetDesc() |
Returns a one line description of an object for viewing in the thumbnail view of the generic browser |
|
|
GetDetailedInfoInternal() |
This will return detail info about this specific object. |
|
|
GetPreloadDependencies |
Called during cooking. |
|
|
GetResourceSizeEx ( |
Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific). |
|
|
IsPostLoadThreadSafe() |
Called during async load to determine if PostLoad can be called on the loading thread. |
|
|
IsReadyForFinishDestroy() |
Called to check if the object is ready for FinishDestroy. |
|
|
PostEditChangeProperty ( |
Called when a property on this object has been modified externally |
|
|
PostEditUndo() |
Called after applying a transaction to the object. |
|
|
PostInitProperties() |
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
|
|
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
|
PreSave ( |
Presave function. |
|
|
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
Name | Description | ||
---|---|---|---|
|
ContainsPhysicsTriMeshData ( |
Interface for checking if the implementing objects contains triangle mesh collision data |
|
|
GetMeshId ( |
An optional string identifying the mesh data. |
|
|
GetPhysicsTriMeshData ( |
Interface for retrieving triangle mesh collision data from the implementing object |
|
|
WantsNegXTriMesh() |
Do we want to create a negative version of this mesh |
Name | Description | ||
---|---|---|---|
|
AddAssetUserData ( |
||
|
const TArray... |
GetAssetUserDataArray() |
|
|
UAssetUserDa... |
GetAssetUserDataOfClass ( |
|
|
RemoveUserDataOfClass ( |
Name |
Description |
---|---|
FOnMeshChanged |
Notification when anything changed |
Name | Description | ||
---|---|---|---|
|
UBodySetup &... |
GetBodySetup() |
Please do not use this non const function; use the combination of USkeletalMesh::CreateBodySetup() and USkeletalMesh::GetBodySetup() const. Cast the skeletal mesh caller to const to force the compiler to use the USkeletalMesh::GetBodySetup() const function and avoid the deprecation warning |