Filters
(→trigger filter) |
(→object_set filter) |
||
(30 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
= trigger filter = | = trigger filter = | ||
− | + | Lets a rigid body trigger the event once, instead of repeatedly. Without it the RB can participate in the event any number of times. The Trigger filter used for one-time edits to properties of an RB. Usage examples would be if you want to add onto the velocity on a single frame. or you want to stop fragments in mid-air. The time filter will let you limit the event to a particular period of time. The duration filter will restrict how long the event can keep executing after the first time it runs (whenever than happens to be). The trigger filter will let things run once. Without any of the aforementioned filters an event will trigger repeatedly. | |
[[File:Trigger filter.png]] | [[File:Trigger filter.png]] | ||
Line 28: | Line 28: | ||
[[File:Chance filter.png]] | [[File:Chance filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Since the ground plane never passed this filter it normally appropriate to leave this attribute at its default. | ||
+ | |} | ||
+ | |||
+ | ==== Probability of true ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | float | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 0.5 | ||
+ | |- | ||
+ | ! scope="row" width="75" | min | ||
+ | | 0.0 | ||
+ | |- | ||
+ | ! scope="row" width="75" | max | ||
+ | | 1.0 | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Chance for each fragment passing through the filter to evaluate to True. A value of 1.0 will mean all fragments will evaluate True and a value of 0.0 would mean '''none''' of the fragments would evaluate to True. | ||
+ | |} | ||
+ | |||
+ | ==== Seed ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | int | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 0 | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Changing the seed would vary the fragments that test True. | ||
+ | |} | ||
= DG filter = | = DG filter = | ||
Compares the values of custom data on both colliding bodies. | Compares the values of custom data on both colliding bodies. | ||
[[File:Dg filter.png]] | [[File:Dg filter.png]] | ||
+ | |||
+ | |||
+ | ==== Operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | > | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | < : <= : == : != : >= : > | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the values. | ||
+ | |} | ||
+ | |||
+ | ==== Data Type ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | float | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | bool,int :float | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Data type to set the input fields to. | ||
+ | |} | ||
+ | |||
+ | ==== Truncate ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | bool | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | False | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Truncate both float inputs before comparing. Not available when the [[Filters#Data_Type|data type]] set to bool,int | ||
+ | |} | ||
= object filter = | = object filter = | ||
Line 37: | Line 132: | ||
[[File:Object filter.png]] | [[File:Object filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Filter one or both of the colliding pairs. | ||
+ | |} | ||
+ | |||
+ | ==== Operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | == | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | == : != | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the [[Filters#Filter_2|filtered]] and a [[Filters#Object_name|connected input object]]. | ||
+ | |} | ||
+ | |||
+ | ==== Object name ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | string | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Name of a connected input object. Clicking on the '''Choose...''' label will open a popup menu in which a connected input object can be selected. | ||
+ | |} | ||
= object_set filter = | = object_set filter = | ||
Line 42: | Line 180: | ||
[[File:Object set filter.png]] | [[File:Object set filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Filter one or both of the colliding pairs. | ||
+ | |} | ||
+ | |||
+ | ==== Operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | is member of | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | not member of : is member of | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Condition of the set membership the filtered object has to match. | ||
+ | |} | ||
+ | |||
+ | ==== Maya set ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | string | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Name of a valid Maya set. The '''Choose...''' menu displays available sets to choose from. | ||
+ | |} | ||
= difference filter = | = difference filter = | ||
Line 52: | Line 233: | ||
[[File:Time filter.png]] | [[File:Time filter.png]] | ||
+ | |||
+ | |||
+ | ==== Frame (Operator) ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | > | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | < : <= : == : != : >= : > | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the values. | ||
+ | |} | ||
+ | |||
+ | ==== Source ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | value | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | data : value | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Switch between the types of source data to compare the current frame to. | ||
+ | |} | ||
+ | |||
+ | ===== data ===== | ||
+ | When toggled on the float field is replaced with a string input and a filter option menu. | ||
+ | |||
+ | [[File:Time filter data source.png]] | ||
+ | |||
+ | ====== Data name ====== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | string | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | This data can be derived from either the [[Dynamics_parameters|Dynamic parameters]] or [[Custom_data|Custom data]]. The '''Choose...''' menu displays available data types from connected input nodes and when used will set the data type correctly. | ||
+ | |} | ||
+ | |||
+ | ====== Filter ====== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ===== value ===== | ||
+ | This is the default which only supports arbitrary float values. | ||
+ | |||
+ | [[File:Time filter value source.png]] | ||
+ | |||
+ | ====== float ====== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | float | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 1.000 | ||
+ | |} | ||
= contact filter = | = contact filter = | ||
Line 57: | Line 317: | ||
[[File:Contact filter.png]] | [[File:Contact filter.png]] | ||
+ | |||
+ | |||
+ | ==== Impact force operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | > | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | < : > | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the values. | ||
+ | |} | ||
+ | |||
+ | ==== Impact force threshold ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | float | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 1000.0000 | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | | ||
+ | |} | ||
= data filter = | = data filter = | ||
Line 62: | Line 352: | ||
[[File:Data filter.png]] | [[File:Data filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Filter one or both of the colliding pairs. | ||
+ | |} | ||
+ | |||
+ | ==== Name ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | string | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Custom data name. This data can be derived from either the [[Dynamics_parameters|Dynamic parameters]] or [[Custom_data|Custom data]]. The '''Choose...''' menu displays available data types from connected input nodes and when used will set the data type correctly. | ||
+ | |} | ||
+ | |||
+ | ==== Operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | == | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | < : <= : == : != : >= : > | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the values. | ||
+ | |} | ||
+ | |||
+ | ==== Data value ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | int, float, string | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 0 (int) | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | The type of field changes based on the data type. | ||
+ | |} | ||
+ | |||
+ | ==== Data type ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | bool,int | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | vector : vec2(unimplemented) : float : bool,int : color(unimplemented) : string | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | This data should match the type of data selected. This is not necessary with the data name is set with the '''Choose...''' menu. | ||
+ | |} | ||
= ground_plane filter = | = ground_plane filter = | ||
Line 67: | Line 429: | ||
[[File:Ground plane filter.png]] | [[File:Ground plane filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Filter one or both of the colliding pairs for the ground plane. | ||
+ | |} | ||
+ | |||
+ | ==== Is plane ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | true | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | false : true | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | What the [[Filters#Filter_5|filter]] condition must evaluate to. | ||
+ | |} | ||
= size filter = | = size filter = | ||
[[File:Size filter.png]] | [[File:Size filter.png]] | ||
+ | |||
+ | |||
+ | ==== Filter ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | first OR second | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | first : second : first OR second : first AND second | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Filter one or both of the colliding pairs. | ||
+ | |} | ||
+ | |||
+ | ==== Operator ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | enum | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | > | ||
+ | |- | ||
+ | ! scope="row" width="75" | indices | ||
+ | | < : > | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | Conditional operator to use on the values. | ||
+ | |} | ||
+ | |||
+ | ==== Threshold ==== | ||
+ | {| class="wikitable" style="width: 100%" | ||
+ | |- | ||
+ | ! scope="row" width="75" | type | ||
+ | | float | ||
+ | |- | ||
+ | ! scope="row" width="75" | default | ||
+ | | 1.000 | ||
+ | |- | ||
+ | ! scope="row" width="75" | | ||
+ | | | ||
+ | |} |
Latest revision as of 04:23, 1 August 2012
Filters are logical tests applied to one or both of the rigid bodies in a colliding pair, used to describe conditions that must be satisied in order for a collision event to be triggered. All filters must evaluate to true for the event to be triggered and the script to execute.
Contents |
[edit] trigger filter
Lets a rigid body trigger the event once, instead of repeatedly. Without it the RB can participate in the event any number of times. The Trigger filter used for one-time edits to properties of an RB. Usage examples would be if you want to add onto the velocity on a single frame. or you want to stop fragments in mid-air. The time filter will let you limit the event to a particular period of time. The duration filter will restrict how long the event can keep executing after the first time it runs (whenever than happens to be). The trigger filter will let things run once. Without any of the aforementioned filters an event will trigger repeatedly.
[edit] Allow
type | enum |
---|---|
default | repeated |
indices | once : repeated |
Limit the number of times this event may be triggered for each object. Requires the script to set "trigger:"+$thisPlug. |
[edit] chance filter
Returns true a certain percentage of the time.
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Since the ground plane never passed this filter it normally appropriate to leave this attribute at its default. |
[edit] Probability of true
type | float |
---|---|
default | 0.5 |
min | 0.0 |
max | 1.0 |
Chance for each fragment passing through the filter to evaluate to True. A value of 1.0 will mean all fragments will evaluate True and a value of 0.0 would mean none of the fragments would evaluate to True. |
[edit] Seed
type | int |
---|---|
default | 0 |
Changing the seed would vary the fragments that test True. |
[edit] DG filter
Compares the values of custom data on both colliding bodies.
[edit] Operator
type | enum |
---|---|
default | > |
indices | < : <= : == : != : >= : > |
Conditional operator to use on the values. |
[edit] Data Type
type | enum |
---|---|
default | float |
indices | bool,int :float |
Data type to set the input fields to. |
[edit] Truncate
type | bool |
---|---|
default | False |
Truncate both float inputs before comparing. Not available when the data type set to bool,int |
[edit] object filter
Tests if a rigid body is derived from a particular input mesh.
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Filter one or both of the colliding pairs. |
[edit] Operator
type | enum |
---|---|
default | == |
indices | == : != |
Conditional operator to use on the filtered and a connected input object. |
[edit] Object name
type | string |
---|---|
Name of a connected input object. Clicking on the Choose... label will open a popup menu in which a connected input object can be selected. |
[edit] object_set filter
Evaluates to true if a body is derived from an input mesh which is a member of a particular maya set.
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Filter one or both of the colliding pairs. |
[edit] Operator
type | enum |
---|---|
default | is member of |
indices | not member of : is member of |
Condition of the set membership the filtered object has to match. |
[edit] Maya set
type | string |
---|---|
Name of a valid Maya set. The Choose... menu displays available sets to choose from. |
[edit] difference filter
Returns true if the two colliding rigid bodies are from different input meshes.
[edit] time filter
Returns true if the current time is within a range.
[edit] Frame (Operator)
type | enum |
---|---|
default | > |
indices | < : <= : == : != : >= : > |
Conditional operator to use on the values. |
[edit] Source
type | enum |
---|---|
default | value |
indices | data : value |
Switch between the types of source data to compare the current frame to. |
[edit] data
When toggled on the float field is replaced with a string input and a filter option menu.
[edit] Data name
type | string |
---|---|
This data can be derived from either the Dynamic parameters or Custom data. The Choose... menu displays available data types from connected input nodes and when used will set the data type correctly. |
[edit] Filter
type | enum |
---|---|
default | first |
indices | first : second : first OR second : first AND second |
[edit] value
This is the default which only supports arbitrary float values.
[edit] float
type | float |
---|---|
default | 1.000 |
[edit] contact filter
Tests the position, normal or force (in the normal direction) at the contact point between two colliding bodies.
[edit] Impact force operator
type | enum |
---|---|
default | > |
indices | < : > |
Conditional operator to use on the values. |
[edit] Impact force threshold
type | float |
---|---|
default | 1000.0000 |
[edit] data filter
Compares the value of custom data attached to a body, with some constant value. The test may be applied to the first or second body, either (logical OR), or both (logical AND). If the body doesn't have the data attached, the filter evaluates to false.
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Filter one or both of the colliding pairs. |
[edit] Name
type | string |
---|---|
Custom data name. This data can be derived from either the Dynamic parameters or Custom data. The Choose... menu displays available data types from connected input nodes and when used will set the data type correctly. |
[edit] Operator
type | enum |
---|---|
default | == |
indices | < : <= : == : != : >= : > |
Conditional operator to use on the values. |
[edit] Data value
type | int, float, string |
---|---|
default | 0 (int) |
The type of field changes based on the data type. |
[edit] Data type
type | enum |
---|---|
default | bool,int |
indices | vector : vec2(unimplemented) : float : bool,int : color(unimplemented) : string |
This data should match the type of data selected. This is not necessary with the data name is set with the Choose... menu. |
[edit] ground_plane filter
Tests if a body is the built-in ground plane.
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Filter one or both of the colliding pairs for the ground plane. |
[edit] Is plane
type | enum |
---|---|
default | true |
indices | false : true |
What the filter condition must evaluate to. |
[edit] size filter
[edit] Filter
type | enum |
---|---|
default | first OR second |
indices | first : second : first OR second : first AND second |
Filter one or both of the colliding pairs. |
[edit] Operator
type | enum |
---|---|
default | > |
indices | < : > |
Conditional operator to use on the values. |
[edit] Threshold
type | float |
---|---|
default | 1.000 |