Compute acceleration and deceleration factors to a speed property in an array created by a sensor tracking a moving object.
This is useful to add an accumulation and a release of inertia to a moving object relative to tracked data and avoid abrupt starts & stops when the tracked object either starts or halts its movement or comes in and out of the tracking field.
The node is designed to function with a feedback of its own output and add to it. The easiest way to achieve this is by writing its output to a variable and reading that variable into its dedicated input. See example below.
Properties
This node has three tabs in the Editor
panel : General, Flick and Limit
General
Value Field Name
: The name of the property to compute friction from. This needs to be manually set to the correct property.
Default : V
Max Speed
: Set the speed cap for the target value. A value of 0 means no limit.
Default : 0.0
Update Style
: Choose between System Refresh Rate or Fixed Interval. Defines the rate at which the Friction node updates its data.
Default : System Refresh Rate
Note : If Fixed Interval is chosen an additional option appears to set the interval in ms.
Acceleration
: Sets a factor for acceleration. A value of 0 disables acceleration. The best values for these factors will depend on your data input.
Default : 0.0
Deceleration
: Sets a factor for deceleration. A value of 0 disables acceleration. The best values for these factors will depend on your data input.
Default : 0.0
Override touch
: If toggled ON this option will override any computation currently in effect with fresh computation from the input array as soon as it receives data. This is particularly useful in conjunction to the Flick option below.
Default : OFF
Flick
Flick means the computation will continue even if the input array becomes empty, or if the tracked property stops moving. It will use the last known value for the target property in its computation.
Flickable
: Toggle to activate/deactivate the Flick property.
Default : OFF
Note : Keeping this value OFF will hide the following properties.
Flick maximum time
: Window of time (in ms) under which flick will occur. If detection appears and disappears within this time frame, the flick will be activated. If detection does not disappear within this timeframe flick will not be activated.
Default : 800
Flick minimum distance
: Minimum distance for a flick to occur. If detection does not travel more than this distance (within the timeframe set above) then flick will not be activated. Set to 0 to deactivate the spatial window.
Default : 0.0
Flick inertia time
: Set the duration for which flick will continue to compute data before entering deceleration phase.
Default : 1000
Flick speed behavior
: Choose between Dynamic Accumulation where flicks can be stacked and added to each other if several flicks occur in a limited timeframe before the computation for each flick is over, or Constant where flick speed is calculated with a constant factor regardless of the number of occurrences.
Default : Dynamic accumulation
Flick accumulation coefficient
: (Only ifFlick Speed Behavior
is set to Dynamic Accumulation) Set the coefficient for each flick to compute its speed in addition to the current speed.
Default : 0.5
Flick speed
: (Only ifFlick Speed Behavior
is set to Constant) Set the speed to maintain for the duration of the inertia time.
Default : 1.0
Limit
The limit property will constrain the value between a minimum (lower bound) and a maximum (upper bound).
Limit
: Toggle to activate/deactivate the limit property.
Default : OFF
Note : Keeping this value OFF will hide the following properties.
Upper bound
: The upper limit the output value will not go over.
Default : 1.0
Lower bound
: The lower limit the output value will not go under.
Default : 0.0
Edge bounce
: Toggle to activate/deactivate a rebound if the value hits the upper or lower bounds. A rebound will force the value to go in the opposite direction with a certain strength calculated using the ratio below.
Default : OFF
Damper Ratio
: (Only ifEdge Bounce
is ON) Sets the factor to compute the strength of the rebound. A value of 0 is equivalent to no Edge bounce, while a value of 1 will set the maximum possible strength for the rebound. Values cannot be anything other than between 0 and 1.
Default : 0.5
Inputs
Name | Type | Description |
---|---|---|
Array | Array | Array containing dynamic data with at least a speed property |
Value | Float | Input for the feedback of the output value |
Outputs
Name | Type | Description |
---|---|---|
Value | Value | Output value of the computation |
Example
Value Field Name
: VxMax Speed
: 1500Update Style
: System Refresh RateAcceleration
: 3.0Deceleration
: 3.0Override touch
: OFFFlick
: ONFlick Speed Behavior
: ConstantFlick Speed
: 1.0Limit
: ONUpper bound
: 4.0Lower bound
: 3.0Edge bounce
: ONDamper Ratio
: 1.0
Need more help with this?
Don’t hesitate to contact us here.