Filters are used everywhere in Mover.
Get to know all of them, and how to use the interface to define them.
Types of filters
Simple operations or functions to transform a value.
For example addition, crop a value or a logistic for an infinitesimal crop.
Filters where past values are used. So they are based on the history of the value.
For example softening a value with a low pass filter.
General filter info and usage
A filter is a way of conditioning/transforming a value by performing operations over it.
In reality, I call it filters, because they change the value, but some are just operations like addition or multiplication.
There's two main types of filters in Mover. The ones affected by the value history and the filters that are not affected by history.
What this means is that cropping a value has nothing to do with it's past, while smoothing a value, depends on it's past.
A filter is defined by a keyword, and a serie of parameters:
The keyword defines the type of filter you want to apply.
The number of parameters, depend on the type of filter you are using.
One of those parameters, the first one, is usually what we want to filter:
The keyword VALUE represents the value we receive, that we want to filter.
For example if we are making a filter for sway and we are receiving the lateral acceleration, VALUE is the sway value received from the source/game.
Now, in this example, the first parameter is also a filter.
Off course, to calculate the main filter, Mover needs to calculate that “inner” filter in PARAMETER1 first.
So we can compose filters like a tree, and that's what we try to represent in the user interface.
When editing a filter, we can use the drop down boxes and work on the tree or we can edit the text of the filter (in the gray area bellow).
When editing the filter if the current filter is not valid, the last valid filter will be the one in use and the text area will be red.
Represents the received value and has no parameters.
This is the default selection on the filters, and using it is the like not having a filter.
This keyword allows us to introduce a numeric value.
The keyword is visible only in the tree drop downs. You can't use it in the text.
To use a number in the text, just place the numeric value you want.
The in/out filter graphic
To make the filtering more visual, a graphic is shown with the filters.
That graphic shows the input value and respective output.
Input is horizontal, and output is vertical, just like a X, Y graphic.
The visible line is the result of filters that are not time/sample based.
So for a specific input value, the grey dot shows the filtered value in the line, but that's without the time/sample based filters.
The result with time/sample based filters is shown in the red dot (the filters that use value history).
Besides the points, in the left is shown a bar with the output value and bellow a bar with the input value.
You can move the graphic by dragging it with the mouse, or zooming it with the mouse wheel.
To reset the graphic position press the 0 button and to reset scale to 1, press the scale button.
Another feature present in the filters is the filter transition.
Each time we change the filter, a transition between the old and the new filter is performed to make the change smooth.
While the transition is performed, the background of the filter control is yellow.
The time used in the transition, can be adjusted in the main menu of Mover, under options.
But why do we have transition between two filters?
Imagine we have a low pass filter running and the current value is around 20.
If I change the filter to a high pass filter, we suddenly change the value from 20 to around 0.
This causes a sudden move on the rig.
So what the transition does is start with 100% low pass and 0% high pass and transition to 0% low pass and 100% high pass, in the selected time.
The change is not linear, it's an s curve to make it softer.