unreal.MovieGraphTimeStepData

class unreal.MovieGraphTimeStepData(output_frame_number: int = 0, shot_output_frame_number: int = 0, rendered_frame_number: int = 0, frame_delta_time: float = 0.0, world_time_dilation: float = 0.0, world_seconds: float = 0.0, motion_blur_fraction: float = 0.0, frame_rate: FrameRate = Ellipsis, temporal_sample_index: int = 0, temporal_sample_count: int = 0, is_first_temporal_sample_for_frame: bool = False, is_last_temporal_sample_for_frame: bool = False, discard_output: bool = False, requires_accumulator: bool = False, evaluated_config: MovieGraphEvaluatedConfig = Ellipsis, root_time_code: Timecode = Ellipsis, root_frame_number: FrameNumber = Ellipsis, shot_time_code: Timecode = Ellipsis, shot_frame_number: FrameNumber = Ellipsis)

Bases: StructBase

This data structure needs to be filled out each frame by the UMovieGraphTimeStepBase, which will eventually be passed to the renderer. It controls per-sample behavior such as the delta time, if this is the first/last sample for an output frame, etc.

C++ Source:

  • Plugin: MovieRenderPipeline

  • Module: MovieRenderPipelineCore

  • File: MovieGraphTimeStepData.h

Editor Properties: (see get_editor_property/set_editor_property)

  • discard_output (bool): [Read-Write] Should the rendered result be discarded after a render? This will skip any accumulators or readback and is used for frames that are only produced to warm up the renderer.

  • evaluated_config (MovieGraphEvaluatedConfig): [Read-Write] The evaluated config holds the configuration used for this given frame. This pointer can potentially change each frame (if the graph for that frame is different) but users can rely on the EvaluatedConfig being correct for a given frame, thus all resolves (such as filenames) should use the config for that frame, not the latest one available.

  • frame_delta_time (float): [Read-Write]

  • frame_rate (FrameRate): [Read-Write]

  • is_first_temporal_sample_for_frame (bool): [Read-Write] Should be set to true for the first sample of each output frame. Used to determine if various systems need to reset or gather data for a new frame. Can be true at the same time as bIsLastTemporalSampleForFrame (ie: 1TS)

  • is_last_temporal_sample_for_frame (bool): [Read-Write] Should be set to true for the last sample of each output frame. Can be true at the same time as bIsFirstTemporalSampleForFrame (ie: 1TS)

  • motion_blur_fraction (float): [Read-Write]

  • output_frame_number (int32): [Read-Write] * Relative to zero for the entire render.

  • rendered_frame_number (int32): [Read-Write]

  • requires_accumulator (bool): [Read-Write] Should be set to true for every sample if there is more than one temporal sample making up this render. This will cause the renderer to allocate accumulators to store the multi-frame data into.

  • root_frame_number (FrameNumber): [Read-Write] * The current frame number at the root (sequence) level. * This is the same number as what is shown in sequencer when viewing the sequence.

  • root_time_code (Timecode): [Read-Write] The current timecode at the root (sequence) level.

  • shot_frame_number (FrameNumber): [Read-Write] * The current frame number at the shot level. * This is the same number as what is shown in sequencer when viewing the shot.

  • shot_output_frame_number (int32): [Read-Write] * Relative to zero for the current shot.

  • shot_time_code (Timecode): [Read-Write] The current timecode at the shot level.

  • temporal_sample_count (int32): [Read-Write] * What is the maximum number of Temporal Samples this frame is expected to be able to process.

  • temporal_sample_index (int32): [Read-Write] * Index out of TemporalSampleCount we’re on. No guarantee that we’ll ever reach Index == Count-1, * if bIsLastTemporalSampleForFrame has priority over that (to allow early outs)

  • world_seconds (float): [Read-Write]

  • world_time_dilation (float): [Read-Write]

property discard_output: bool

[Read-Write] Should the rendered result be discarded after a render? This will skip any accumulators or readback and is used for frames that are only produced to warm up the renderer.

Type:

(bool)

property evaluated_config: MovieGraphEvaluatedConfig

[Read-Write] The evaluated config holds the configuration used for this given frame. This pointer can potentially change each frame (if the graph for that frame is different) but users can rely on the EvaluatedConfig being correct for a given frame, thus all resolves (such as filenames) should use the config for that frame, not the latest one available.

Type:

(MovieGraphEvaluatedConfig)

property frame_delta_time: float

[Read-Write]

Type:

(float)

property frame_rate: FrameRate

[Read-Write]

Type:

(FrameRate)

property is_first_temporal_sample_for_frame: bool

[Read-Write] Should be set to true for the first sample of each output frame. Used to determine if various systems need to reset or gather data for a new frame. Can be true at the same time as bIsLastTemporalSampleForFrame (ie: 1TS)

Type:

(bool)

property is_last_temporal_sample_for_frame: bool

[Read-Write] Should be set to true for the last sample of each output frame. Can be true at the same time as bIsFirstTemporalSampleForFrame (ie: 1TS)

Type:

(bool)

property motion_blur_fraction: float

[Read-Write]

Type:

(float)

property output_frame_number: int

[Read-Write] * Relative to zero for the entire render.

Type:

(int32)

property rendered_frame_number: int

[Read-Write]

Type:

(int32)

property requires_accumulator: bool

[Read-Write] Should be set to true for every sample if there is more than one temporal sample making up this render. This will cause the renderer to allocate accumulators to store the multi-frame data into.

Type:

(bool)

property root_frame_number: FrameNumber

[Read-Write] * The current frame number at the root (sequence) level. * This is the same number as what is shown in sequencer when viewing the sequence.

Type:

(FrameNumber)

property root_time_code: Timecode

[Read-Write] The current timecode at the root (sequence) level.

Type:

(Timecode)

property shot_frame_number: FrameNumber

[Read-Write] * The current frame number at the shot level. * This is the same number as what is shown in sequencer when viewing the shot.

Type:

(FrameNumber)

property shot_output_frame_number: int

[Read-Write] * Relative to zero for the current shot.

Type:

(int32)

property shot_time_code: Timecode

[Read-Write] The current timecode at the shot level.

Type:

(Timecode)

property temporal_sample_count: int

[Read-Write] * What is the maximum number of Temporal Samples this frame is expected to be able to process.

Type:

(int32)

property temporal_sample_index: int

[Read-Write] * Index out of TemporalSampleCount we’re on. No guarantee that we’ll ever reach Index == Count-1, * if bIsLastTemporalSampleForFrame has priority over that (to allow early outs)

Type:

(int32)

property world_seconds: float

[Read-Write]

Type:

(float)

property world_time_dilation: float

[Read-Write]

Type:

(float)