#include "Animation/AnimTypes.h"
#include "Containers/Array.h"
#include "Containers/EnumAsByte.h"
#include "CoreMinimal.h"
#include "Curves/RichCurve.h"
#include "Math/Quat.h"
#include "Math/Rotator.h"
#include "Math/UnrealMathSSE.h"
#include "Math/Vector.h"
#include "Templates/SharedPointer.h"
#include "UObject/ObjectMacros.h"
#include "RBFSolver.generated.h"
Go to the source code of this file.
|
| enum class | ERBFSolverType : uint8 { Additive
, Interpolative
} |
| |
| enum class | ERBFFunctionType : uint8 {
Gaussian
, Exponential
, Linear
, Cubic
,
Quintic
, DefaultFunction
} |
| |
| enum class | ERBFDistanceMethod : uint8 {
Euclidean
, Quaternion
, SwingAngle
, TwistAngle
,
DefaultMethod
} |
| |
| enum class | ERBFNormalizeMethod : uint8 { OnlyNormalizeAboveOne
, AlwaysNormalize
, NormalizeWithinMedian
, NoNormalization
} |
| |
◆ ERBFDistanceMethod
Method for determining distance from input to targets
| Enumerator |
|---|
| Euclidean | Standard n-dimensional distance measure
|
| Quaternion | Treat inputs as quaternion
|
| SwingAngle | Treat inputs as quaternion, and find distance between rotated TwistAxis direction
|
| TwistAngle | Treat inputs as quaternion, and find distance between rotations around the TwistAxis direction
|
| DefaultMethod | Uses the setting of the parent container
|
◆ ERBFFunctionType
Function to use for each target falloff
| Enumerator |
|---|
| Gaussian | |
| Exponential | |
| Linear | |
| Cubic | |
| Quintic | |
| DefaultFunction | Uses the setting of the parent container
|
◆ ERBFNormalizeMethod
Method to normalize weights
| Enumerator |
|---|
| OnlyNormalizeAboveOne | Only normalize above one
|
| AlwaysNormalize | Always normalize. Zero distribution weights stay zero.
|
| NormalizeWithinMedian | Normalize only within reference median. The median is a cone with a minimum and maximum angle within which the value will be interpolated between non-normalized and normalized. This helps to define the volume in which normalization is always required.
|
| NoNormalization | Don't normalize at all. This should only be used with the interpolative method, if it is known that all input values will be within the area bounded by the targets.
|
◆ ERBFSolverType
The solver type to use. The two solvers have different requirements.
| Enumerator |
|---|
| Additive | The additive solver sums up contributions from each target. It's faster but may require more targets for a good coverage, and requires the normalization step to be performed for smooth results.
|
| Interpolative | The interpolative solver interpolates the values from each target based on distance. As long as the input values are within the area bounded by the targets, the interpolation is well-behaved and return weight values within the 0% - 100% limit with no normalization required. Interpolation also gives smoother results, with fewer targets, than additive but at a higher computational cost.
|
◆ FRBFSolverData