Additional parameter interpolation uses
Dor․
Parameter interpolation allows us to avoid blendtree smoothing setups for parameters that share the same local/remote smoothing rates, but not for more advanced uses, so I'd like to request a few things:
- The option to set local/remote interpolation times independently
- The option to control interpolation times dynamically at runtime, through another parameter's value
- The option to define interpolated parameters for contact parameters (without adding them to expression parameters)
- The option to skip interpolation when a parameter is driven by parameter drivers (new toggle, default to true)
Alternatively to adding the above to the interface which can add complexity, give us a parameter "namespace" that gives us access to interpolated values without having to manually configure them in expression parameters, for example
Lerp/<duration>/<originalParameter>
:- Float parameter Valis changed from 0.5 to 1.0 (immediately)
- Float parameter Lerp/1.5/Valinterpolates that change over1.5seconds
- Allow Lerp/1.5/Valto be driven by parameter drivers - if it does not matchValthen interpolate from the new value toValover1.5seconds. Driving the interpolation parameter and the<originalParameter>to the same value at the same time would skip the interpolation.
- Multiple interpolated parameters could be defined for one parameter, like Lerp/0.5/Valto interpolate the same parameter over0.5seconds, giving us the option to use one locally and one remotely, and for various other uses.
To support point #2, special non-duration definitions could be added too:
- Lerp/<originalParameter>used locally/remotely with different rates, dictated by:
- Lerp/LocalRate/<originalParameter>to set the local interpolation rate for the parameter
- Lerp/RemoteRate/<originalParameter>to set the remote interpolation rate for the parameter
- Optionally support Lerp/LocalRateandLerp/RemoteRatewithout a parameter, to act as a "default" interpolation rate when an explicit override for a parameter isn't set.
- When rates aren't set, default to the current interpolation rate (I believe that's 0.1 seconds if I'm not mistaken?)
- Interpolation rate of 0should be acting as a mirror of the original parameter (no frame buffer), if someone desires a frame buffer they can use0.0001or some other impossibly low value that is greater than0.
Originally posted on the forums here, corrected for local parameters being supported and adjusted
Inter
namespace to Lerp
, in case you'd like to support additional interpolation modes with different "namespaces", though Inter
works if you'd add Inter/<originalParameter>/Mode
int or suffix the <duration>
with the mode like Inter/0.5E/Val
for exponential.Log In