Navigation
API > API/Plugins > API/Plugins/RigLogicModule
An asset holding the data needed to generate/update/animate a RigLogic character It is imported from character's DNA file as a bit stream, and separated out it into runtime (behavior) and design-time chunks; Currently, the design-time part still loads the geometry, as it is needed for the skeletal mesh update; once SkeletalMeshDNAReader is fully implemented, it will be able to read the geometry directly from the SkeletalMesh and won't load it into this asset
| Name | UDNA |
| Type | class |
| Header File | /Engine/Plugins/Animation/RigLogic/Source/RigLogicModule/Public/DNA.h |
| Include Path | #include "DNA.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, Meta=(DisplayName="DNA"))
class UDNA : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UDNA
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UDNA() |
DNA.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~UDNA() |
DNA.h |
Structs
| Name | Remarks |
|---|---|
| FSkeletalMeshSkeletonToDNAIndexMappingKey |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AssetImportData | TObjectPtr< class UAssetImportData > | DNA.h |
|
|
| bKeepDNAAfterInitialization | bool | In non-editor builds, the DNA source data will be unloaded to save memory after the runtime data has been initialized from it. | DNA.h |
|
| bUseOptimizedCooking | bool | Instead of serializing the DNA data and initialize RigLogic from it in runtime, dump the RigLogic state directly into the cooked asset, skipping the expensive initialization at runtime entirely. | DNA.h |
|
| DNAConfig | FDNAConfig | DNA.h |
|
|
| MetaData | TMap< FString, FString > | Collection of runtime metadata related to a specific character. | DNA.h |
|
| RigLogicConfiguration | FRigLogicConfiguration | DNA.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DNAIndexMappingContainer | TMap< FSkeletalMeshSkeletonToDNAIndexMappingKey, TSharedPtr< FDNAIndexMapping > > | Container for Skeleton <-> DNAAsset index mappings The mapping object owners will be the SkeletalMeshes, and periodic cleanups will ensure that dead objects are deleted from the map. | DNA.h | |
| DNAIndexMappingUpdateLock | FTransactionallySafeRWLock | Synchronize DNA Index Mapping updates. | DNA.h | |
| DNAReader | TSharedPtr< IDNAReader > | Unified DNA Reader used for run-time execution of RigLogic and updating of SkeletalMesh geometry | DNA.h | |
| DNAUpdateLock | FTransactionallySafeRWLock | Synchronize DNA updates. | DNA.h | |
| MemoryResource | TSharedPtr< rl4::MemoryResource > | Keep ref-count to shared memory resource alive in case the DNA asset is GCed during engine shutdown. | DNA.h | |
| RigRuntimeContext | TSharedPtr< FSharedRigRuntimeContext > | Runtime data necessary for rig computations that is shared between multiple rig instances based on the same DNA. | DNA.h | |
| RigRuntimeContextUpdateLock | FTransactionallySafeRWLock | Synchronize Rig Runtime Context updates. | DNA.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedPtr< FDNAIndexMapping > GetDNAIndexMapping
(
const USkeleton* Skeleton, |
DNA.h | ||
TSharedPtr< IDNAReader > GetDNAReader() |
DNA.h | ||
TSharedPtr< FSharedRigRuntimeContext > GetRigRuntimeContext() |
DNA.h | ||
| DNA.h | |||
bool Init
(
const FString& Filename, |
DNA.h | ||
void InitializeForRuntimeFrom
(
UDNA* Other |
Initialize this object for use at runtime from another instance that has already been initialized. | DNA.h | |
void RestoreLegacyUEMHCCompatibility () |
Fallback for users who have not updated to the new conversion workflow. | DNA.h | |
void SetDNAReader
(
TSharedPtr< IDNAReader > SourceDNAReader, |
Alias or Copy DNA Reader and optionally reinitialize RigLogic with the new DNA data. | DNA.h |
Public Virtual
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
DNA.h | ||
virtual void PreSave
(
FObjectPreSaveContext SaveContext |
DNA.h | ||
virtual void Serialize
(
FArchive& Ar |
DNA.h |