unreal.PoseSearchInteractionLibrary

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

Bases: BlueprintFunctionLibrary

Experimental, this feature might be removed without warning, not for production use

C++ Source:

  • Plugin: PoseSearch

  • Module: PoseSearch

  • File: PoseSearchInteractionLibrary.h

classmethod calculate_full_aligned_transform(current_result, time_offset, warp_using_root_bone) Transform

this function calculates the mesh space transform for the AnimContext assigned the role CurrentResult.Role as CalculateFullAlignedTransforms does for all the AnimContext(s)

Parameters:
Returns:

out_full_aligned_transform (Transform):

Return type:

Transform

classmethod calculate_full_aligned_transforms(current_result, time_offset, warp_using_root_bone) Array[Transform]

this function calculates the mesh space transforms (OutFullAlignedTransforms) the AnimContext(s) should reach within a time of TimeOffset to be consistently aligned to the selected UMultiAnimAsset (CurrentResult.SelectedAnim) at the selected time (CurrentResult.SelectedTime), given the interacting AnimContext(s) transforms (CurrentResult.ActorRootBoneTransforms, CurrentResult.ActorRootTransforms) if bWarpUsingRootBone is true the function will use the AnimContext root bone transforms, otherwise the mesh space transforms

Parameters:
Returns:

out_full_aligned_transforms (Array[Transform]):

Return type:

Array[Transform]

classmethod calculate_no_aligned_transform(current_result, time_offset, warp_using_root_bone) Transform

this function calculates the mesh space transform (OutNoAlignedTransform), or root bone transform if bWarpUsingRootBone is true, the AnimContext will reach within a time of TimeOffset, if it continues playing the CurrentResult.SelectedAnim from CurrentResult.SelectedTime forward

Parameters:
Returns:

out_no_aligned_transform (Transform):

Return type:

Transform

classmethod get_constraint(constraints, anim_context_role, socket_name) -> (out_desired_reach=float, out_transform=Transform, is_valid=bool)

Get Constraint

Parameters:
Returns:

out_desired_reach (float):

out_transform (Transform):

is_valid (bool):

Return type:

tuple

classmethod get_montage_continuing_properties(anim_instance) PoseSearchContinuingProperties

Get Montage Continuing Properties

Parameters:

anim_instance (AnimInstance)

Return type:

PoseSearchContinuingProperties

classmethod get_motion_match_interaction_constraint(anim_context, socket_name, compare_owning_actors=True) -> (out_desired_reach=float, out_transform=Transform, is_valid=bool)

Get Motion Match Interaction Constraint

Parameters:
  • anim_context (Object)

  • socket_name (Name)

  • compare_owning_actors (bool)

Returns:

out_desired_reach (float):

out_transform (Transform):

is_valid (bool):

Return type:

tuple

classmethod motion_match_interaction(availabilities, anim_context, pose_history_name, validate_result_against_availabilities=True) PoseSearchBlueprintResult

BlueprintCallable version of MotionMatchInteraction_Pure

Parameters:
Return type:

PoseSearchBlueprintResult

classmethod motion_match_interaction_pure(availabilities, anim_context, pose_history_name, validate_result_against_availabilities=True) PoseSearchBlueprintResult

function publishing this character (via its AnimInstance) FPoseSearchInteractionAvailability to the UPoseSearchInteractionSubsystem, FPoseSearchInteractionAvailability represents the character availability to partecipate in an interaction with other characters for the next frame. that means there will always be one frame delay between publiching availabilities and getting a result back from MotionMatchInteraction_Pure!

if FPoseSearchBlueprintResult has a valid SelectedAnimation, this will be the animation assigned to this character to partecipate in this interaction. additional interaction properties, like assigned role, SelectedAnimation time, SearchCost, etc can be found within the result ContinuingProperties are used to figure out the continuing pose and bias it accordingly. ContinuingProperties can reference directly the UMultiAnimAsset or any of the roled UMultiAnimAsset::GetAnimationAsset, and the UPoseSearchInteractionSubsystem will figure out the related UMultiAnimAsset PoseHistoryName is the name of the pose history node used for the associated motion matching search if bValidateResultAgainstAvailabilities is true, the result will be invalidated if doesn’t respect the new availabilities

Parameters:
Return type:

PoseSearchBlueprintResult

classmethod motion_match_multi(motion_match_multi_queries, pose_history_name, continuing_properties) Array[PoseSearchBlueprintResult]

function performing all the possible MotionMatching searches between the AnimContexts (eg AnimInstance(s)) defined in MotionMatchMultiQueries and compiled from the valid combination of the AnimContexts allowed Roles. Results will output the best mathing options for all those AnimContexts willing to partecipate in interactions. Users can iterate over Results, and assign the Results[i].SelectedAnim playback to the corresponding GetActor(Results[i])

Parameters:
Returns:

results (Array[PoseSearchBlueprintResult]):

Return type:

Array[PoseSearchBlueprintResult]

classmethod update_constraints(out_constraints, delta_time, multi_anim_asset, anim_contexts, selected_time, is_mirrored, blend_parameters) Array[PoseSearchConstraint]

Update Constraints

Parameters:
Returns:

out_constraints (Array[PoseSearchConstraint]):

Return type:

Array[PoseSearchConstraint]