Exposed basic constraints properties (via the contextual menu)
Added a basic baking process (via the contextual menu) factorizing code with the snapper when possible.
todo:
- factorize the controls' snapping process to use the BakingHelper interface
- create a better UI for the baker to stick to the design (currently via a contextual menu) and handle both frame range and constraint's active state animation
#jira UE-140598
#rb mike.zyracki
#preflight 628dec29415c65b96ad88d29
[CL 20361614 by benoit gadreau in ue5-main branch]
#jira UE-140598
#rb mike.zyracki
#fyi chase.cooper
#preflight 62820966fa65e101e5ca23b9
This is a first prototype of a constraints manager system.
note: have a look at the jira description for the features leading this work
The current design is based on the idea of having a unique constraint manager that stores several constraints (UTickableConstraint).
Each constraint holds a tick function (FConstraintTickFunction) that can register one or several functions (represented by a basic TFunction) that are evaluated when calling
the FConstraintTickFunction::ExecuteTick function. This FConstraintTickFunction can basically represent anything.
[CL 20221291 by benoit gadreau in ue5-main branch]
#rb braeden.shosa, aaron.cox, cesar.castro
#jira none
Motion Trajectory Component for Motion Matching:
Motion Trajectory Component notes:
1) Abstract component/interface implemented with prediction and history API.
2) Implemented uniform, frame-rate independent history sampling algorithm for retaining trajectory sample coherence.
3) Implemented concrete Character Movement Trajectory Component for encapsulating ground locomotion prediction algorithm and API.
4) Motion Trajectory blueprint library containing:
5) FlattenTrajectory2D algorithm for isolating and removing Z axis direction contribution from tracjectory.
6) ClampTrajectoryDirection for projecting trajectory samples into a discrete, allowed set of directions (such as cardinal).
Engine changes:
1) Implemented shared TrajectorySample, Range, and Domain structures for common usage among Motion Trajectory, Pose Search, and Blueprint.
2) Expanded Sequence Player blueprint library functionality for Scripted Motion Matching content example.
Pose Search changes:
1) Match Pose renamed to Pose History with minor configuration parameters.
2) Complete removal of approximated past trajectory sampling. This has now been pushed to the Motion Trajectory Component.
3) Motion Matching interface changes: Goal has been replaced with Trajectory and Dynamic Play Rate Adjustment has been encapsulated to an experimental code module and blueprint library. New defaults, and encapsulating settings.
4) Motion Matching changes: New Pose Search blueprint library which encapsulates core Motion Matching algorithm.
5) Unified Trajectory to Pose Feature Vector transformation algorithms.
6) Removal of temporary Pose Search Prediction blueprint library (now Dynamic Play Rate).
7) End-to-end implementation support for Past/Future Time and Distance domain schemas.
AnimInput changes:
1) Removal of AnimInput_CapsulePrediction (replaced with Motion Trajectory Component).
Gameplay Anim Gym changes:
1) Pose search database is now fully distance-based (history and future).
2) Character blueprint includes Character Movement Trajectory Component with distance-based domain setup.
3) Scripted Motion Matching anim node function prototype with Engine content example.
#preflight 6143ef4681695600011c49a8
[CL 17547347 by koray hagen in ue5-main branch]