Giving us access to interpolation would be great, and could allow us to avoid blendtree smoothing setups for networked parameters, but not for local parameters, so I’d like to request a few things to be taken into consideration:
- The option to apply interpolation on local-only parameters
- 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 Inter/<duration>/<originalParameter>:
- Float parameter
Valis changed from 0.5 to 1.0 (immediately) - Float parameter
Inter/1.5/Valinterpolates that change over1.5seconds - Allow
Inter/1.5/Valto be driven by parameter drivers - if it does not matchValthen interpolate from the new value toValover1.5seconds. - Multiple interpolated parameters could be defined for one parameter, like
Inter/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 #3, special non-duration definitions could be added too:
Inter/Local/Valfor local interpolationInter/LocalRate/Val>= 0 to set (and update at runtime) the interpolation rate forInter/Local/ValInter/Remote/Valfor remote interpolationInter/RemoteRate/Val>= 0 to set (and update at runtime) the interpolation rate forInter/Remote/ValInter/<originalParameter>used locally/remotely with different rates, dictated by:Inter/LocalRate/<originalParameter>to set the local interpolation rate for the parameterInter/RemoteRate/<originalParameter>to set the remote interpolation rate for the parameter
- Optionally support
Inter/LocalRateandInter/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 0 should be acting as a mirror of the original parameter (no frame buffer), if someone desires a frame buffer they can use
0.0001or some other impossibly low value that is greater than 0.