Module |
|
Header |
/Engine/Source/Editor/MovieSceneTools/Public/KeyframeTrackEditor.h |
Include |
#include "KeyframeTrackEditor.h" |
virtual bool ModifyGeneratedKeysByCurrentAndWeight
(
UObject * Object,
UMovieSceneTrack * Track,
UMovieSceneSection * SectionToKey,
FFrameNumber Time,
FGeneratedTrackKeys & GeneratedTotalKeys,
float Weight
) const
Scale the generated keys by the the current value and the weight. This is used for supporting layered workflows so the keyed value is set correctly. The issue is that the Generated Property Values are the Globa Values that we want to meet but we need to set the local value on a particular section based upon The algorithm to implement should be NewGeneratedValue = (GeneratedTotalValue - CurrentValue) * Weight + CurrentChannelValue Expect that this will only be called if blended sections are occuring, it will not get called if no blending is happening.
it maybe be greater than one since it's the actual inverse of the weight on that section.
Return true if this is actually implemented false if not. Usually only TrackEditors with valid BlendTypes will implement this.
Parameter |
Description |
---|---|
Object |
Object we are keying |
Track |
The track we are on |
SectionToKey |
the section we are on |
Time |
Time we are at |
GeneratedKeys |
Array of keys that are modified from the changed property. This is the same one that's calculdate but it's the Total/Global |
Weight |
The Weight used in the algorithm above. |