I’m trying to create a distance-matching blendspace node, but I’m having trouble understanding the lingo in BlendSpace.h
and BlendSpace.cpp
. (A picture of a non-functional node is shown below.)
For example, what is a BlendSample
? Is this the animation sequence, or is it a “random” sample from the grid?
What is the BlendParameter
? Is that simply an axis of the blendspace (0, 1, 2), or a value along the axis, or something completely different?
Conceptually, I think I understand what I need to do. I show a proof of concept in the below video, where the Start and Stop states are both blendspaces driven by distance.
I hacked my way through calculating the normalized time and then plugged that normalized time into a Blendspace Evaluator. But this approach is cumbersome, since it requires I make a struct of the sequences I use in my blendspace, and then pull information from those sequences to then determine the normalized time that will drive the Blendspace Evaluator.
I would like to make a single node, similar to the Blendspace Evaluator but that is driven by distance rather than time. (Of course, time will be found internally, which is where I’m stuck.)
My outline is the following:
- Use distance as the input parameter.
- Get the corresponding time from each of the relevant animations by accessing distance curves on the sequences.
- Average those different time values using the blendspace weights (somehow?).
- Get the normalized time.
- Set
InternalTimeAccumulator = NormalizedTime
Are there any good resources to help me better understand the individuals pieces of the BlendSpace class? Can anyone provide direction?