Navigation
API > API/Plugins > API/Plugins/TakeRecorderSources
This Take Recorder Source can record an actor from the World's properties. Records the properties of the actor and the components on the actor and safely handles new components being spawned at runtime and the actor being destroyed.
| Name | UTakeRecorderActorSource |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/Takes/Source/TakeRecorderSources/Public/TakeRecorderActorSource.h |
| Include Path | #include "TakeRecorderActorSource.h" |
Syntax
UCLASS (MinimalAPI, Category="Actors")
class UTakeRecorderActorSource :
public UTakeRecorderSource,
public IMovieSceneTrackRecorderHost
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UTakeRecorderSource → UTakeRecorderActorSource
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UTakeRecorderActorSource
(
const FObjectInitializer& ObjInit |
TakeRecorderActorSource.h |
Structs
| Name | Remarks |
|---|---|
| FCreateTrackArgs | Args for calling CreateTrack on TrackRecorders. |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AttachRecordBehaviour | ETakeRecorderAttachRecordBehaviour | Control how attachments and hierarchies are recorded. | TakeRecorderActorSource.h |
|
| bReduceKeys | bool | Whether to perform key-reduction algorithms as part of the recording | TakeRecorderActorSource.h |
|
| bShowProgressDialog | bool | Show Dialog during the (possibly) slow parts of the take recording | TakeRecorderActorSource.h | |
| ExcludeAnimationNames | TArray< FString > | Exclude all animation bones/curves that match this list | TakeRecorderActorSource.h |
|
| FactorySettings | TArray< TObjectPtr< UObject > > | Dynamically created list of settings objects for the different factories that are recording something on this actor. | TakeRecorderActorSource.h | |
| IncludeAnimationNames | TArray< FString > | Include only the animation bones/curves that match this list | TakeRecorderActorSource.h |
|
| meta | TakeRecorderActorSource.h |
|
||
| ParentSource | TObjectPtr< UTakeRecorderActorSource > | The parent actor source that generated this actor source (ie. through parenting or as an attached component). | TakeRecorderActorSource.h | |
| RecordedProperties | TObjectPtr< UActorRecorderPropertyMap > | Lists the properties and components on the current actor and whether or not each property will be recorded into a track in the resulting Level Sequence. | TakeRecorderActorSource.h |
|
| RecordType | ETakeRecorderActorRecordType | Should this actor be recorded as a Possessable in Sequencer? If so the resulting Object Binding will not create a Spawnable copy of this object and instead will possess this object in the level. | TakeRecorderActorSource.h |
|
| RootLevelSequence | TObjectPtr< ULevelSequence > | The root or uppermost level sequence that this source is being recorded into. | TakeRecorderActorSource.h | |
| SpawnableOverwriteBehavior | ETakeRecorderSpawnableOverwriteBehavior | Should recording this actor as a spawnable overwrite existing spawnables or not. | TakeRecorderActorSource.h |
|
| Target | TSoftObjectPtr< AActor > | Reference to the actor in the world that should have it's properties recorded. | TakeRecorderActorSource.h |
|
| TargetLevelSequence | TObjectPtr< ULevelSequence > | The level sequence that this source is being recorded into. | TakeRecorderActorSource.h | |
| TrackRecorders | TArray< TObjectPtr< class UMovieSceneTrackRecorder > > | An array of section recorders created during the recording process that are capturing data about the actor/components. | TakeRecorderActorSource.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActorSerializer | FActorSerializer | Serializer | TakeRecorderActorSource.h | |
| AddedActorSources | TArray< UTakeRecorderSource * > | Array of Actor Sources that we ended up creating that we need to clean up when we stop recording. | TakeRecorderActorSource.h | |
| bIsTemporarySource | bool | If this actor source should be considered temporary, and removed later. | TakeRecorderActorSource.h | |
| bRemovedSpawnTrack | bool | True when we removed the spawn track from a Take Recorder-created spawnable to prevent a duplicate actor during recording. | TakeRecorderActorSource.h | |
| bTargetIsSequencerActor | bool | True when this source's target is a Sequencer-managed actor (spawnable or possessable with the SequencerActor tag). | TakeRecorderActorSource.h | |
| CachedActorLabel | FString | Cached actor label from when Target was last set. | TakeRecorderActorSource.h | |
| CachedComponentList | TSet< TWeakObjectPtr< UActorComponent > > | A set of components that we're currently recording. | TakeRecorderActorSource.h | |
| CachedObjectBindingGuid | FGuid | Object Binding guid that is created in the Level Sequence when recording starts. | TakeRecorderActorSource.h | |
| CachedObjectTemplate | TWeakObjectPtr< AActor > | A pointer to the Object Template instance that was created inside the Target Level Sequence at the start of recording. | TakeRecorderActorSource.h | |
| NewReferencedActors | TSet< AActor * > | Array of actors that have some sort of referenced link to our actor (such as an object attached to our hierarchy) that need Actor Source recorders initialized for them. | TakeRecorderActorSource.h | |
| PendingTrackRecorders | TArray< FCreateTrackArgs > | TrackRecorders we need to create after PreRecord has completed for all sources. | TakeRecorderActorSource.h | |
| RecoveryTickerHandle | FTSTicker::FDelegateHandle | Ticker handle for the editor-only per-tick recovery check. Active while this source is alive. | TakeRecorderActorSource.h | |
| TargetSequenceID | FMovieSceneSequenceID | ID of the TargetLevelSequence. | TakeRecorderActorSource.h | |
| WeakAttachParent | TWeakObjectPtr< AActor > | Weak pointer to the current attach parent. | TakeRecorderActorSource.h | |
| WeakOriginalSource | TWeakObjectPtr< UTakeRecorderActorSource > | Weak pointer to the original (pre-recording) source object. | TakeRecorderActorSource.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ETakeRecorderAttachRecordBehaviour GetAttachRecordBehaviour() |
Get the resolved attach record behaviour. This will resolve from Project Settings if needed. | TakeRecorderActorSource.h |
|
FGuid GetObjectBindingGuid() |
Get the Guid of the Object Binding that this Actor Source created in the resulting Level Sequence. | TakeRecorderActorSource.h | |
bool GetRecordParentHierarchy () |
Get if we are recording the parent hierarchy. | TakeRecorderActorSource.h |
|
bool GetRecordToPossessable() |
Get the record type. If set to project default, gets the type from the project settings | TakeRecorderActorSource.h | |
TSoftObjectPtr< AActor > GetSourceActor() |
Get the target source actor. | TakeRecorderActorSource.h |
|
void SetAttachRecordBehaviour
(
ETakeRecorderAttachRecordBehaviour InAttachRecordBehaviour |
Set the current attach record behaviour. | TakeRecorderActorSource.h |
|
void SetIsTemporarySource
(
bool bValue |
If this source should be cleaned up later. | TakeRecorderActorSource.h | |
void SetRecordParentHierarchy
(
bool bValue |
Set if the parent hierarchy should be recorded or not. Sets AttachRecordBehaviour. | TakeRecorderActorSource.h |
|
void SetSourceActor
(
TSoftObjectPtr< AActor > InTarget |
Set the Target actor that we are going to record. Will reset the Recorded Property Map to defaults. | TakeRecorderActorSource.h |
|
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddContentsToFolder
(
UMovieSceneFolder* InFolder |
TakeRecorderActorSource.h | ||
virtual const IMovieSceneTrackRecorderHost * AsTrackRecorderHost() |
TakeRecorderActorSource.h | ||
virtual void BeginDestroy() |
TakeRecorderActorSource.h | ||
virtual void FinalizeRecording() |
TakeRecorderActorSource.h | ||
| TakeRecorderActorSource.h | |||
virtual FString GetSubsceneAssetName
(
ULevelSequence* InSequence |
TakeRecorderActorSource.h | ||
virtual FString GetSubsceneTrackName
(
ULevelSequence* InSequence |
TakeRecorderActorSource.h | ||
virtual void Initialize() |
TakeRecorderActorSource.h | ||
virtual bool IsActorSourceForActor
(
const AActor* Actor |
TakeRecorderActorSource.h | ||
virtual bool IsValid() |
TakeRecorderActorSource.h | ||
virtual void OnAllSourcesPreRecordingFinished() |
TakeRecorderActorSource.h | ||
virtual bool OverwriteExistingTrackData() |
TakeRecorderActorSource.h | ||
virtual void PostDuplicate
(
bool bDuplicateForPIE |
TakeRecorderActorSource.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
TakeRecorderActorSource.h | ||
virtual void PostEditUndo() |
TakeRecorderActorSource.h | ||
virtual void PostInitProperties() |
TakeRecorderActorSource.h | ||
virtual void PostLoad() |
TakeRecorderActorSource.h | ||
virtual TArray< UTakeRecorderSource * > PostRecording
(
ULevelSequence* InSequence, |
TakeRecorderActorSource.h | ||
virtual TArray< UTakeRecorderSource * > PreRecording
(
ULevelSequence* InSequence, |
TakeRecorderActorSource.h | ||
virtual void PreRemove() |
TakeRecorderActorSource.h | ||
virtual bool ShouldCreateFolderForContents() |
TakeRecorderActorSource.h | ||
virtual void StartRecording
(
const FTimecode& InSectionStartTimecode, |
TakeRecorderActorSource.h | ||
virtual void StopRecording
(
ULevelSequence* InSequence |
TakeRecorderActorSource.h | ||
virtual void TickRecording
(
const FQualifiedFrameTime& CurrentSequenceTime |
TakeRecorderActorSource.h |
Overridden from IMovieSceneTrackRecorderHost
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FMovieSceneSequenceID GetSequenceID() |
TakeRecorderActorSource.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CleanExistingDataFromSequence
(
const FGuid& ForGuid, |
Remove the Possessable data for the given Guid from the sequence. | TakeRecorderActorSource.h | |
| Iterates through the NewReferencedActors set and creates a new UTakeRecorderActorSource for each one. | TakeRecorderActorSource.h | ||
void CreateSectionRecordersRecursive
(
UObject* ObjectToRecord, |
This is called when recording starts to generate the Section Recorders for the actor and all components that it currently has, as well as again during runtime for any newly added components. | TakeRecorderActorSource.h | |
bool EnsureObjectTemplateHasComponent
(
UActorComponent* InComponent, |
Ensure that the Object Template this recording is recording into has the specified component. | TakeRecorderActorSource.h | |
| TakeRecorderActorSource.h | |||
void EnsureParentHierarchyIsReferenced
(
ULevelSequence* InLevelSequence |
Walks the hierarchy of the Target actor and the given sequence to ensure all parents have been added to the NewReferencedActors set. | TakeRecorderActorSource.h | |
void GetActorComponents
(
AActor* OnActor, |
Gets all Actor components on the recorded actor, not including Scene components. | TakeRecorderActorSource.h | |
void GetAllComponents
(
TSet< TWeakObjectPtr< UActorComponent > >& OutArray, |
Gets all components (both Scene and Actor) on the recorded Actor. | TakeRecorderActorSource.h | |
void GetChildSceneComponents
(
USceneComponent* OnSceneComponent, |
Returns the direct children of the specified scene component. | TakeRecorderActorSource.h | |
UActorRecorderPropertyMap * GetParentPropertyMapForComponent
(
UActorComponent* InComponent |
Looks at the given component and determines what the parent of this component is. | TakeRecorderActorSource.h | |
UActorRecorderPropertyMap * GetPropertyMapForComponentRecursive
(
UActorComponent* InComponent, |
Looks through the given Property Map recursively to find a property map which references the given component. | TakeRecorderActorSource.h | |
void GetSceneComponents
(
USceneComponent* OnSceneComponent, |
Gets all Scene components that are a child of the specified component. | TakeRecorderActorSource.h | |
UMovieSceneTrackRecorderSettings * GetSettingsObjectForFactory
(
TSubclassOf< UMovieSceneTrackRecorderSettings > InClass |
Gets the already initialized instance of the specified class from the Settings array. | TakeRecorderActorSource.h | |
void InitializeFactorySettingsObject
(
TSubclassOf< UMovieSceneTrackRecorderSettings > InClass |
Initializes an instance of the specified class if we don't already have it in our Settings array. | TakeRecorderActorSource.h | |
void PostProcessTrackRecorders
(
ULevelSequence* InSequence |
Called as part of PostRecording before Track Recorders are finalized. | TakeRecorderActorSource.h | |
void RebuildRecordedPropertyMap () |
Request that we re-build the map of which properties to record. | TakeRecorderActorSource.h | |
void RebuildRecordedPropertyMapRecursive
(
const FFieldVariant& InObject, |
TakeRecorderActorSource.h | ||
| Returns the Guid of the Possessable in the specified sequence that represents the given actor, or an invalid Guid if the actor has no object binding in the sequence. | TakeRecorderActorSource.h | ||
| Update our cached properties for what will be recorded. | TakeRecorderActorSource.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CleanExistingDataFromSequenceImpl
(
const FGuid& ForGuid, |
TakeRecorderActorSource.h | ||
virtual void PostProcessCreatedObjectTemplateImpl
(
AActor* ObjectTemplate |
This is called after a Spawnable object template is created. | TakeRecorderActorSource.h | |
virtual void PostProcessTrackRecordersImpl() |
TakeRecorderActorSource.h |
Overridden from IMovieSceneTrackRecorderHost
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ULevelSequence * GetLevelSequence
(
const AActor* OtherActor |
Returns active level sequence for the given Actor | TakeRecorderActorSource.h | |
virtual FMovieSceneSequenceID GetLevelSequenceID
(
AActor* OtherActor |
Returns id of the active level sequence for the given Actor | TakeRecorderActorSource.h | |
virtual FTransform GetRecordedActorAnimationInitialRootTransform
(
AActor* OtherActor |
Returns offset that may get set when recording a skeletal mesh animation. | TakeRecorderActorSource.h | |
virtual FGuid GetRecordedActorGuid
(
AActor* OtherActor |
Returns a valid guid if the other actor is also being recorded by the owning UTakeRecorderSources. | TakeRecorderActorSource.h | |
virtual ULevelSequence * GetRootLevelSequence() |
Returns the root level sequence being recorded into | TakeRecorderActorSource.h | |
virtual FTrackRecorderSettings GetTrackRecorderSettings() |
Returns generic track recorder settings | TakeRecorderActorSource.h | |
virtual bool IsOtherActorBeingRecorded
(
AActor* OtherActor |
Returns true if the other actor is also being recorded by the owning UTakeRecorderSources. | TakeRecorderActorSource.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UTakeRecorderSource * AddSourceForActor
(
AActor* InActor, |
Add a take recorder source for the given actor. | TakeRecorderActorSource.h |
|
static bool AllowsSpawnableObjects() |
External Sequencers can set whether spawnables are allowed for this Take Recorder | TakeRecorderActorSource.h | |
static void RemoveActorFromSources
(
AActor* InActor, |
Remove the given actor from TakeRecorderSources. | TakeRecorderActorSource.h |
|
static void SetAllowsSpawnableObjects
(
bool bInAllowsSpawnableObjects |
TakeRecorderActorSource.h |