![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MovieSceneInterrogationLinker.h>
A class specialized for interrogating Sequencer entity data without applying any state to objects. Currently only tracks within the same time-base are supported. Will not link systems that are in the custom "ExcludedFromInterrogation" category. Multiple different outputs can be interrogated simultaneously by Importing tracks onto separate channels allocated through AllocateChannel.
Systems may implement their own interrogation logic that can be run after updates to allow third-party interrogation behavior for specific channels or time.
Example usage: Interrogator.ImportTrack(MyTrack, FInterrogationChannel::Default());
for (int32 FrameNumber = 0; FrameNumber < 100; ++FrameNumber) Interrogator.InterrogateTime(FrameNumber);
Interrogator.Update();
UMyTrackSystem* MySystem = Interrogator.GetLinker()->FindSystem<UMyTrackSystem>(); if (MySystem) { TArray<DataType> OutData; MySystem->Interrogate(FInterogationKey::Default(), OutData); }
| UE::MovieScene::FInterrogationChannels::FInterrogationChannels | ( | ) |
| UE::MovieScene::FInterrogationChannels::~FInterrogationChannels | ( | ) |
| void UE::MovieScene::FInterrogationChannels::ActivateChannel | ( | FInterrogationChannel | InChannel | ) |
Called to activate the specified channel. Inactive channels will only ever use their object's current value.
| InChannel | The channel to activate |
| int32 UE::MovieScene::FInterrogationChannels::AddInterrogation | ( | const FInterrogationParams & | Params | ) |
Add a new time to interrogate this linker at, in the time-base of the imported tracks.
| Params | The desired time to interrogate at |
| FInterrogationChannel UE::MovieScene::FInterrogationChannels::AllocateChannel | ( | FInterrogationChannel | ParentChannel, |
| const FMovieScenePropertyBinding & | PropertyBinding | ||
| ) |
Allocate a new interrogation channel that can be used to uniquely identify groups of tracks that animate the same property or output.
| ParentChannel | The channel that should be considered this channel's parent, or FInterrogationChannel::Invalid if there is none |
| FInterrogationChannel UE::MovieScene::FInterrogationChannels::AllocateChannel | ( | UObject * | Object, |
| const FMovieScenePropertyBinding & | PropertyBinding | ||
| ) |
Allocate a new interrogation channel that relates to a specific object
| FInterrogationChannel UE::MovieScene::FInterrogationChannels::AllocateChannel | ( | UObject * | Object, |
| FInterrogationChannel | ParentChannel, | ||
| const FMovieScenePropertyBinding & | PropertyBinding | ||
| ) |
Allocate a new interrogation channel that relates to a specific object
| MOVIESCENETRACKS_API FInterrogationChannel UE::MovieScene::FInterrogationChannels::AllocateUnboundChannel | ( | FInterrogationChannel | ParentChannel, |
| const FTransform & | CurrentValueLocalSpace | ||
| ) |
Allocate a new channel for a set of transform tracks that isn't bound to any particular object (but can still exist within a hierarchy)
| ParentChannel | The channel that should be considered this channel's parent, or FInterrogationChannel::Invalid if there is none |
| CurrentValue | A value to use if this channel has now animated data after the interrogation |
| void UE::MovieScene::FInterrogationChannels::DeactivateChannel | ( | FInterrogationChannel | InChannel | ) |
Called to deactivate the specified channel. Inactive channels will only ever use their object's current value.
| InChannel | The channel to deactivate |
| FInterrogationChannel UE::MovieScene::FInterrogationChannels::FindChannel | ( | UObject * | Object | ) |
Find the existing interrogation channel for the specified object
| Object | The object to find a channel for |
|
inline |
Retrieve the current interrogations
|
inline |
Retrieve the number of channels allocated
|
inline |
| MOVIESCENETRACKS_API FInterrogationChannel UE::MovieScene::FInterrogationChannels::ImportTransformHierarchy | ( | USceneComponent * | SceneComponent | ) |
Import the entire transform hierarchy for the specified component, including all attached parents and tracks relating to them.
| SceneComponent | The scene component to import. A new channel will be allocated for this if one does not already exist. |
| InPlayer | The player interface to use for looking up object binding IDs pertaining to scene components or actors |
| SequenceID | The current sequence ID for the interrogation |
| void UE::MovieScene::FInterrogationChannels::QueryLocalSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| const TBitArray<> & | ChannelsToQuery, | ||
| TSparseArray< TArray< FIntermediate3DTransform > > & | OutTransformsByChannel | ||
| ) | const |
Query a specific set of channels for their local space transforms as defined by set bits within ChannelsToQuery
| ChannelsToQuery | Bit array containing set bits for each channel to query |
| OutTransformsByChannel | Sparse array to receive transforms allocated by their Channel index |
| void UE::MovieScene::FInterrogationChannels::QueryLocalSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| FInterrogationChannel | InChannel, | ||
| TArray< FIntermediate3DTransform > & | OutTransforms | ||
| ) | const |
Query local space transforms
| InChannel | The channel to query |
| OutTransforms | Array to output transforms into, one per Interrogation |
| void UE::MovieScene::FInterrogationChannels::QueryLocalSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| TSparseArray< TArray< FIntermediate3DTransform > > & | OutTransformsByChannel | ||
| ) | const |
Query all local space transforms, even including channels that do not have any variable track data
| OutTransformsByChannel | Sparse array to receive transforms allocated by their Channel index |
| void UE::MovieScene::FInterrogationChannels::QueryLocalSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| USceneComponent * | SceneComponent, | ||
| TArray< FIntermediate3DTransform > & | OutTransforms | ||
| ) | const |
Query local space transforms
| SceneComponent | The scene component to query |
| OutTransforms | Array to output transforms into, one per Interrogation |
| void UE::MovieScene::FInterrogationChannels::QueryTransformOrigins | ( | UMovieSceneEntitySystemLinker * | Linker, |
| const FMovieSceneSequenceHierarchy * | Hierarchy, | ||
| TArray< FTransform > & | OutTransformOrigins, | ||
| TArray< FMovieSceneSequenceID > & | SubsequenceHierarchy, | ||
| const UObject * | InstanceData | ||
| ) | const |
| void UE::MovieScene::FInterrogationChannels::QueryWorldSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| const TBitArray<> & | ChannelsToQuery, | ||
| TSparseArray< TArray< FTransform > > & | OutTransformsByChannel | ||
| ) | const |
Query a specific set of channels for their world space transforms as defined by set bits within ChannelsToQuery
| ChannelsToQuery | Bit array containing set bits for each channel to query |
| OutTransformsByChannel | Sparse array to receive transforms allocated by their Channel index |
| void UE::MovieScene::FInterrogationChannels::QueryWorldSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| FInterrogationChannel | InChannel, | ||
| TArray< FTransform > & | OutTransforms | ||
| ) | const |
Query world space transforms for a channel
| InChannel | The channel to query |
| OutTransforms | Array to output transforms into, one per Interrogation |
| void UE::MovieScene::FInterrogationChannels::QueryWorldSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| TSparseArray< TArray< FTransform > > & | OutTransformsByChannel | ||
| ) | const |
Query all world space transforms, even including channels that do not have any variable track data
| OutTransformsByChannel | Sparse array to receive transforms allocated by their Channel index |
| void UE::MovieScene::FInterrogationChannels::QueryWorldSpaceTransforms | ( | UMovieSceneEntitySystemLinker * | Linker, |
| USceneComponent * | SceneComponent, | ||
| TArray< FTransform > & | OutTransforms | ||
| ) | const |
Query world space transforms for a component
| SceneComponent | The scene component to query |
| OutTransforms | Array to output transforms into, one per Interrogation |
| void UE::MovieScene::FInterrogationChannels::Reset | ( | ) |
|
protected |
BitArray containing set bits for any channel that has data associated with it. The number of bits (0 or 1) in this array defines how many channels are allocated
|
protected |
An array of interrogation times
|
protected |
Map from an object to its interrogation channel
|
protected |
Array of information pertaining to a given channel