unreal.MetaHumanPerformance

class unreal.MetaHumanPerformance(outer: Object | None = None, name: Name | str = 'None')

Bases: Object

MetaHuman Performance Asset

Produces an Animation Sequence for MetaHuman Control Rig by tracking facial expressions in video-footage from a Capture Source, imported through Capture Manager, using a SkeletalMesh obtained through MetaHuman Identity asset toolkit.

C++ Source:

  • Plugin: MetaHuman

  • Module: MetaHumanPerformance

  • File: MetaHumanPerformance.h

Editor Properties: (see get_editor_property/set_editor_property)

  • audio (SoundWave): [Read-Write] Audio of performance used with the Audio data input type

  • audio_channel_index (uint32): [Read-Write] Specify the audio channel used to solve into animation

  • audio_driven_animation_models (AudioDrivenAnimationModels): [Read-Write] The models to be used by audio driven animation

  • audio_driven_animation_output_controls (AudioDrivenAnimationOutputControls): [Read-Write]

  • audio_driven_animation_solve_overrides (AudioDrivenAnimationSolveOverrides): [Read-Write] Settings to change the behavior of the audio driven animation solve

  • auto_body_height (bool): [Read-Write] Flag indicating if body height should be automatically inferred

  • auto_choose_head_movement_reference_frame (bool): [Read-Write] If set to true, automatically pick the most front - facing frame as the reference frame for control-rig head movement calculation, default to true. Changing this will cause a re-bake of Control Rig data

  • body_detection_confidence (float): [Read-Write] Threshold for acquiring (or re-acquiring) the subject. Higher values demand a clearly visible subject before tracking begins; lower values allow tracking to start on difficult footage but risk locking onto the wrong subject.

  • body_height (float): [Read-Write] Manual Body height. Values outside the range [145, 190] might lead to reduced tracking quality

  • body_tracking (bool): [Read-Write] Flag indicating if body tracking should be performed

  • body_tracking_confidence (float): [Read-Write] Threshold for maintaining the subject lock across frames. Higher values drop the subject during occlusion or fast motion, producing gaps; lower values follow through difficult moments but may drift onto the background or another subject.

  • camera (str): [Read-Write] Name of camera (view) in the footage capture data calibration to use for display and processing

  • capture_data_config (str): [Read-Only] Display name of the config to use with the capture data

  • control_rig_asset_reference (ControlRigAssetStrongReference): [Read-Write]

  • control_rig_class (type(Class)): [Read-Write] deprecated: Property ‘ControlRigClass’ is deprecated.

  • default_solver (MetaHumanFaceAnimationSolver): [Read-Write] Solver parameters for processing the footage

  • default_tracker (MetaHumanFaceContourTrackerAsset): [Read-Write] Tracker parameters for processing the footage

  • downmix_channels (bool): [Read-Write] Downmix multi channel audio before solving into animation

  • easy_to_edit_control_curves (bool): [Read-Write] Flag indicating whether we want to produce curves containing combinations of controls which are more easily editable than the normal solve result

  • enable_foot_locking (bool): [Read-Write] Flag indicating if foot-locking should be enabled for the body solver

  • end_frame_to_process (uint32): [Read-Write] The frame to end processing with

  • face_tracking (bool): [Read-Write] Flag indicating if facial solving should be performed

  • focal_length (float): [Read-Only] The estimated focal length of the footage

  • footage_capture_data (FootageCaptureData): [Read-Write] Real-world footage data with the performance

  • generate_blinks (bool): [Read-Write] Flag indicating if we should generate blinks

  • head_allowed_rotation_left_right (float): [Read-Write] Allowed yaw (left/right) head rotation in degrees. Frames where the head turns past this angle are treated as unsolved. Changing this requires reprocessing to take effect.

  • head_allowed_rotation_up_down (float): [Read-Write] Allowed pitch (up/down) head rotation in degrees. Frames where the head tilts past this angle are treated as unsolved. Changing this requires reprocessing to take effect.

  • head_movement_mode (PerformanceHeadMovementMode): [Read-Write] Head movement type

  • head_movement_reference_frame (uint32): [Read-Write] Which frame to use as reference frame for head pose (if Auto Choose Head Movement Reference Frame is not selected), default to first processed frame. Changing this will cause a re-bake of Control Rig data

  • head_rotation_handler (FaceUnsolvedFrameBehavior): [Read-Write] How to handle frames where head rotation exceeds the allowed yaw or pitch. - None: leave the frame empty; the exported curves will interpolate across the gap based on the curve interpolation setting. - Neutral Pose: fall back to a neutral face pose. Changing this requires reprocessing to take effect.

  • head_stabilization (bool): [Read-Write] Reduces noise in head position and orientation.

  • identity (MetaHumanIdentity): [Read-Write] A digital double of the person performing in the footage, captured in the MetaHuman Identity asset

  • input_type (DataInputType): [Read-Write] Enum to indicate which data input type is being used for the performance

  • max_distance (float): [Read-Write] The maximum cm from the camera expected for valid depth information. Depth information beyond this will be ignored to help filter out noise.

  • maximum_scale_difference_from_identity (float): [Read-Write] The maximum allowed percentage difference in estimated head scale between Identity and Performance. Above this value a diagnostic warning will be flagged.

  • maximum_stereo_baseline_difference_from_identity (float): [Read-Write] The maximum allowed percentage difference in stereo baseline between Identity and Performance CaptureData camera calibrations. Above this value a diagnostic warning will be flagged.

  • min_distance (float): [Read-Write] The minimum cm from the camera expected for valid depth information. Depth information closer than this will be ignored to help filter out noise.

  • minimum_depth_map_face_coverage (float): [Read-Write] The minimum percentage of the face region which should have valid depth-map pixels. Below this value a diagnostic warning will be flagged.

  • minimum_depth_map_face_width (float): [Read-Write] The minimum required width of the face region on the depth-map in pixels. Below this value a diagnostic warning will be flagged.

  • mono_smoothing_params (MetaHumanRealtimeSmoothingParams): [Read-Write] Smoothing parameters to use for mono video processing

  • monocular_animation_pipeline_models (MonocularAnimationPipelineModels): [Read-Write] The models to be used by the monocular pipeline

  • neutral_pose_calibration_alpha (double): [Read-Write] Neutral pose calibration alpha parameter, defaults to 1. Changing this will cause a re-bake of Control Rig data

  • neutral_pose_calibration_curves (Array[Name]): [Read-Write] Set of curve names to apply neutral pose calibration to. Changing this will cause a re-bake of Control Rig data

  • neutral_pose_calibration_enabled (bool): [Read-Write] If set to true perform neutral pose calibration for mono solve, default to false. Changing this will cause a re-bake of Control Rig data

  • neutral_pose_calibration_frame (uint32): [Read-Write] Which frame to use as the neutral pose calibration for mono solve (if Enable Neutral Pose Calibration is selected), default to first processed frame. Changing this will cause a re-bake of Control Rig data

  • on_processing_finished_dynamic (OnProcessingFinishedDynamic): [Read-Write] Dynamic delegate called when the pipeline finishes running

  • processing_excluded_frames (Array[FrameRange]): [Read-Only] Frames that the processing has identified as producing bad results and should not be exported

  • realtime_audio (bool): [Read-Write] Flag indicating if we should use realtime audio solve

  • realtime_audio_lookahead (int32): [Read-Write] The amount of time, in milliseconds, that the audio solver looks ahead into the audio stream to produce the current frame of animation. A larger value will produce higher quality animation but will come at the cost of increased latency.

  • realtime_audio_mood (AudioDrivenAnimationMood): [Read-Write] The mood of the realtime audio driven animation solve

  • realtime_audio_mood_intensity (float): [Read-Write] The mood intensity of the realtime audio driven animation solve

  • show_frames_as_they_are_processed (bool): [Read-Write] Flag indicating if editor updates current frame to show the results as frames are processed

  • show_skeleton (bool): [Read-Write]

  • skeleton_color (Color): [Read-Write]

  • skeleton_offset (Vector): [Read-Write]

  • skip_diagnostics (bool): [Read-Write] Flag indicating whether processing diagnostics should be calculated during processing

  • skip_filtering (bool): [Read-Write] Flag indicating if process should run animation filtering

  • skip_per_vertex_solve (bool): [Read-Write] Flag indicating if the process should run per-vertex solve (which is slow to process but gives slightly better animation results)

  • skip_preview (bool): [Read-Write] Flag indicating if performance predictive solver preview should be ran

  • skip_tongue_solve (bool): [Read-Write] Flag indicating if the process should run tongue solving

  • solve_type (SolveType): [Read-Write] Enum to indicate which type of solve to perform

  • start_frame_to_process (uint32): [Read-Write] The frame to start processing from

  • timecode_alignment (TimecodeAlignment): [Read-Write] Timecode alignment type

  • user_excluded_frames (Array[FrameRange]): [Read-Write] Frames that the user has identified which are to be excluded from the processing, eg part of the footage where the face goes out of frame

  • visualization_object (Object): [Read-Write]

property audio: SoundWave

[Read-Write] Audio of performance used with the Audio data input type

Type:

(SoundWave)

property body_tracking: bool

[Read-Write] Flag indicating if body tracking should be performed

Type:

(bool)

can_export_animation() bool

Can Export Animation

Return type:

bool

can_process() bool

Can Process

Return type:

bool

cancel_pipeline() None

Cancel Pipeline

contains_animation_data() bool

Returns true if there is at least one animation frame with valid data, false otherwise

Return type:

bool

contains_animation_data_type(data_type) bool

Contains Animation Data Type

Parameters:

data_type (FrameAnimationDataType)

Return type:

bool

property control_rig_asset_reference: ControlRigAssetStrongReference

[Read-Write]

Type:

(ControlRigAssetStrongReference)

property control_rig_class: Class

[Read-Write] deprecated: Property ‘ControlRigClass’ is deprecated.

Type:

(type(Class))

diagnostics_indicates_processing_issue() Text or None

Diagnostics Indicates Processing Issue

Returns:

out_diagnostics_warning_message (Text):

Return type:

Text or None

export_animation(export_range) None

(DEPRECATED: use UMetaHumanPerformanceExportUtils::ExportAnimation instead) Export an animation sequence targeting the face skeleton. This will ask the user where to place the new animation sequence

Parameters:

export_range (PerformanceExportRange)

property face_tracking: bool

[Read-Write] Flag indicating if facial solving should be performed

Type:

(bool)

property footage_capture_data: FootageCaptureData

[Read-Write] Real-world footage data with the performance

Type:

(FootageCaptureData)

get_animation_data(start_frame_number=0, end_frame_number=-1) Array[FrameAnimationData]

Caller is responsible to ensure data will fit into 32bit TArray

Parameters:
  • start_frame_number (int32)

  • end_frame_number (int32)

Return type:

Array[FrameAnimationData]

get_number_of_processed_frames() int32

Get Number Of Processed Frames

Return type:

int32

property identity: MetaHumanIdentity

[Read-Write] A digital double of the person performing in the footage, captured in the MetaHuman Identity asset

Type:

(MetaHumanIdentity)

property input_type: DataInputType

[Read-Write] Enum to indicate which data input type is being used for the performance

Type:

(DataInputType)

is_processing() bool

Is Processing

Return type:

bool

property on_processing_finished_dynamic: OnProcessingFinishedDynamic

[Read-Write] Dynamic delegate called when the pipeline finishes running

Type:

(OnProcessingFinishedDynamic)

set_blocking_processing(blocking_processing) None

Set Blocking Processing

Parameters:

blocking_processing (bool)

set_depth_distance_range(min_distance, max_distance) None

Negatives clamped to zero; MinDistance clamped to not exceed MaxDistance.

Parameters:
set_processing_range(start_frame, end_frame) None

Sets the processing range. Clamped to the active mode’s frame limits, or held and applied later if no source data is loaded yet. If the request has no overlap with the limits, snaps to the full extent. Negative values are treated as zero.

Parameters:
  • start_frame (int32)

  • end_frame (int32)

property skip_diagnostics: bool

[Read-Write] Flag indicating whether processing diagnostics should be calculated during processing

Type:

(bool)

start_pipeline(is_scripted_processing=True) StartPipelineErrorType

Export options

Parameters:

is_scripted_processing (bool)

Return type:

StartPipelineErrorType