Files
UnrealEngineUWP/Engine/Source/Runtime/AnimGraphRuntime
braeden shosa 78fbb20623 PoseSearch: New weighted metric for pose similarity
Scoring weights can now be specified at several levels of abstraction.

Channel: Pose weight vs trajectory weight.
Horizon: History weight vs prediction weight.
Type: Weights per feature types, such as positions and velocities.

Weights are normalized at each of these levels. So ultimately the weights that
make up all channels of a weights group will sum to 1 (or zero if entirely disabled).

Several new concepts were introduced for this system that aren't fully
formalized. Channels aren't a concrete data type, but I'm imagining we'll head
in that direction where a Schema is made up of Channels which themselves contain
sampling paramters like time/distance offsets and what to sample. The weights
system sets itself up in such a way to effectively pretend channels exist.

Similarly, horizons aren't an explicit data type either and the weights system
pretends they sort of are for presenting this high level concept of past vs future
weight to the user.

I have removed the previous weighting system including per sequence weights.
This feature will be replaced by a grouping system for databases in the future.
Groups will be collections of sequences and a set of weights for that group.
This is why the WeightsContext contains an array of 1 group of weights-- it's
setup that way to vector the implementation toward groups.

Speaking of the WeightsContext, the motion matching node holds onto one and
updates it every frame. This is in order to support changing weights at
runtime. There are a set of dynamic weight parameters that can be used to scale
the weights of all weight groups within a database. The WeightsContext tracks
the prior dynamic weight params and knows if the weights buffer needs to be
recomputed or not. So most of the time, updating the WeightsContext is a no-op.
In the future we'll need to add support for interpolating changes to dynamic
weights to avoid abrupt scoring changes.

#preflight 614452dd568b3a00013ee9cb
#rb cesar.castro
#jira none

[CL 17555406 by braeden shosa in ue5-main branch]
2021-09-17 14:11:08 -04:00
..