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 |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bRecordParentHierarchy | bool | Whether to ensure that the parent hierarchy is also 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 |
|
| 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 | |
| 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< class UTakeRecorderSource * > | Array of Actor Sources that we ended up creating that we need to clean up when we stop recording. | 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< class 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< class 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 | |
| TargetSequenceID | FMovieSceneSequenceID | ID of the TargetLevelSequence. | TakeRecorderActorSource.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddContentsToFolder
(
UMovieSceneFolder* InFolder |
TakeRecorderActorSource.h | ||
virtual void FinalizeRecording() |
TakeRecorderActorSource.h | ||
virtual TArray< UObject * > GetAdditionalSettingsObjects() |
TakeRecorderActorSource.h | ||
FGuid GetObjectBindingGuid() |
Get the Guid of the Object Binding that this Actor Source created in the resulting Level Sequence. | 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() |
TakeRecorderActorSource.h |
|
|
virtual FString GetSubsceneAssetName
(
ULevelSequence* InSequence |
TakeRecorderActorSource.h | ||
virtual FString GetSubsceneTrackName
(
ULevelSequence* InSequence |
TakeRecorderActorSource.h | ||
virtual bool IsValid() |
TakeRecorderActorSource.h | ||
virtual void PostDuplicate
(
bool bDuplicateForPIE |
TakeRecorderActorSource.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
TakeRecorderActorSource.h | ||
virtual void PostEditUndo() |
TakeRecorderActorSource.h | ||
virtual TArray< UTakeRecorderSource * > PostRecording
(
ULevelSequence* InSequence, |
TakeRecorderActorSource.h | ||
virtual TArray< UTakeRecorderSource * > PreRecording
(
ULevelSequence* InSequence, |
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 |
|
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 | |
virtual void CleanExistingDataFromSequenceImpl
(
const FGuid& ForGuid, |
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 | |
| Walks the hierarchy of the given Target actor 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 | |
virtual void PostProcessCreatedObjectTemplateImpl
(
AActor* ObjectTemplate |
This is called after a Spawnable object template is created. | TakeRecorderActorSource.h | |
void PostProcessTrackRecorders
(
ULevelSequence* InSequence |
Called as part of PostRecording before Track Recorders are finalized. | TakeRecorderActorSource.h | |
virtual void PostProcessTrackRecordersImpl() |
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 | ||
FGuid ResolveActorFromSequence
(
AActor* InActor, |
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 |
Overridden from IMovieSceneTrackRecorderHost
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
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 |