Commit Graph

9 Commits

Author SHA1 Message Date
benoit gadreau
0465f116f8 Constraints in Sequencer : Improved constraints baking and properties changes
#jira none
#rb none
#preflight 6295df42d57da28cc8ef4f14

[CL 20435145 by benoit gadreau in ue5-main branch]
2022-05-31 06:23:44 -04:00
benoit gadreau
089d1d8ab0 Constraints in Sequencer:
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]
2022-05-25 05:04:16 -04:00
benoit gadreau
b8f0f3c237 fixed missing include (NoPCH compilation error)
#jira none
#rb trivial
#preflight 6283d23b496ba7f1b277e4cc

[CL 20246186 by benoit gadreau in ue5-main branch]
2022-05-17 13:15:43 -04:00
benoit gadreau
a321b705dc fix NoPCH compilation
#jira UE-152676 UE-152677
#rb trivial
#preflight 6283b7284316db80d18edcd5

[CL 20243676 by benoit gadreau in ue5-main branch]
2022-05-17 11:16:46 -04:00
benoit gadreau
1838c15a3b fix NoPCH compilation (missing header)
#jira UE-152666
#rb halfdan.ingvarsson
#preflight 6283a418ba3597a0308fba92

[CL 20242089 by benoit gadreau in ue5-main branch]
2022-05-17 09:59:21 -04:00
benoit gadreau
77439b7338 Constraints in Sequencer experiments
#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]
2022-05-16 04:56:23 -04:00
cesar castro
18c7c9dba5 Added angular information to trajectory samples
#rb aaron.cox braeden.shosa koray.hagen
#preflight 6192f6634c209c1865c8594a
#preflight 6192f6634c209c1865c8594a

[CL 18201094 by cesar castro in ue5-main branch]
2021-11-15 20:13:45 -05:00
koray hagen
92c6cef01d Motion Trajectory Component debugging functionality. Includes minor Horde compiler suite fixes.
#rb none
#trivial

[CL 17553625 by koray hagen in ue5-main branch]
2021-09-17 12:25:13 -04:00
koray hagen
972c9dcdb9 #preflight 6143ef4681695600011c49a8
#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]
2021-09-16 22:34:04 -04:00