MetaGroup Object

A 'metagroup' is a special kind of group because it allows the user to specify the criteria for membership of that group. With a conventional group, the particle is either a member of it or it is not; you can use the Change Group Modifier or Action to change from one group to another depending on criteria used in a Question object, but if you have a lot of groups with frequent changes the scene can become complex, very quickly.

In addition, metagroups have some advantages over conventional groups. These include:

  • a particle can belong to more than one metagroup at a time (or to no metagroup at all)
  • particles can be automatically removed from a metagroup if they no longer meet the criteria for membership
  • metagroups behave like a particle modifier in the scene and can use falloffs as modifiers do
  • each metagroup can specify multiple criteria for membership of the group without using Question objects

You can use a metagroup almost anywhere you would use a conventional group, such as in the Groups list of modifiers and actions, the Question object, etc. One thing you cannot do is specify that an emitter should emit particles already in a metagroup, since membership of the group depends on the particle meeting the required criteria.

Interface

The default interface looks like this:

For the 'Groups Affected' and 'Falloff' tabs, and for the buttons at the bottom of the interface, please see the 'Common interface elements' page.

Parameters

Enabled

Uncheck this switch to disable the metagroup object. If it is disabled, particles will no longer be added to or removed from the metagroup, so if they already in the metagroup when it is disabled, they remain in it.

Metagroup ID

This cannot be changed by the user. It simply shows the internal ID value of the group; you can have up to 62 metagroups in a scene.

Combine Mode

It is possible to add multiple criteria to the metagroup. If you do, then this menu controls how they are managed. The options are:

AND

ALL the criteria must be met by the particle for it to belong to the metagroup.

OR

If ANY of the criteria are met, the particle will belong to the metagroup.

Threshold

This setting is used in conjunction with the falloff, if one is used. Since membership of the group is a yes/no parameter, the falloff itself cannot change anything, since it returns a continuous variable from zero to 100%. The falloff value at the particle position must exceed this setting for it to belong to the metagroup. Note that if you set it to 100%, the particle will never join the metagroup.

Auto-Remove from Metagroup

Suppose the criterion for membership of the metagroup is that the particle speed must be higher than 150 units. If a particle joins the group with a speed higher than this, what should happen if its speed subsequently falls below 150 units?

There are two options. Either the particle remains in the metagroup anyway (i.e. once joined, it never leaves) or it is removed from the group as it no longer meets the criteria.

If this switch is checked (the default setting) then when a particle no longer meets the criteria for metagroup membership, it is automatically removed from the metagroup. But if the switch is unchecked, once the particle has joined the metagroup it will not be removed even if it no longer meets the criteria for membership.

Emitter Mode

You can use this option and the 'Emitters' list to exclude or include particles emitted from an emitter in the metagroup. The options are:

Exclude

A particle emitted from any emitter in the 'Emitters' list will never be included in the metagroup. If there are no emitters in the list, no particles will be excluded from the metagroup (i.e they will be added to the metagroup provided they satisfy the criteria).

Include

A particle which is not emitted from one of the emitters in the 'Emitters' list will never be included in the metagroup. If there are no emitters in the list, no particles will be included in the metagroup, even if they otherwise satisfy the criteria.

Emitters

Drag any emitters you want to be excluded or included in the metagroup into this list.

Criteria

The 'Criteria' section contains a list of one or more requirements that the particle must meet to be included in the metagroup. You can have as many criteria as you like, but there must always be at least one.

Add

Click this button to add another set of criteria.

Reset

Click this button to remove all existing criteria and add a single set with the default values. You will be asked to confirm that you really want to do this.

If there is only one set of criteria, this button is not available.

Enabled

If this switch is unchecked, this set of criteria will not be used when adding or removing a particle from the metagroup.

Important: if you have only one set of criteria and you uncheck this switch, and the 'Auto-Remove from Metagroup' switch is checked, all particles will be removed from the metagroup. This is because there are then no criteria to test, so the particle cannot fulfil them. If you need to turn off this switch, and you only have one set of criteria, but you don't want particles to be removed from the metagroup if they are already members of it, make sure you uncheck 'Auto-Remove from Metagroup' first.

Parameter

This is the parameter to test. The options are:

  • Age
  • Radius
  • Speed
  • Speed (World) (requires 'World Speed' to be enabled in the emitter's 'Extended Data' tab)
  • Distance Travelled
  • Particle ID
  • Color
  • Mass
  • Temperature
  • Smoke
  • Fire
  • Fuel
  • Custom Data

Note that using 'Color' or 'Custom Data' will alter the interface slightly.

Minimum

The minimum value the particle must meet. The units will vary depending on the parameter type.

For example, if 'Parameter' is set to 'Speed' and this value is set to 50 units, the particle must have at least that speed to join the metagroup.

Maximum

The maximum value the particle cannot exceed if it is to join the metagroup. The units will vary depending on the parameter type.

For example, if 'Parameter' is set to 'Speed' and this value is set to 150 units, the particle must have no higher than that speed to join the metagroup.

Delete

Click this button to delete the set of criteria. If there is only one set, this button is not available.

Color Mode

If 'Parameter' is set to 'Color', the 'Minimum' and 'Maximum' values become colour fields and this menu becomes available. This controls how the colours are used. The options are:

RGB

The red, green and blue values of the particle colour must ALL fall in the range given in the two colour fields.

Red, Green, Blue

Only the red (or green, or blue) component of the particle colour must fall in the range given in the two colour fields.

Greyscale

With this option the actual colours are not used. The overall brightness of the particle colour must then fall into the range given by the brightness of the two colour fields. Note that in this case, pure red, pure blue and pure green all have the same brightness.

Custom Data criteria

If 'Parameter' is set to 'Custom Data', additional settings appear:

,

These settings use custom data which you will have previously set up in the emitter's Extended Data tab, Custom Data quicktab.

Data Type

Only custom data which are integers, floating point numbers or time values can be used here. Other types are not supported.

ID, Name

The ID and name of the custom data, used to identify the custom data item. See the custom data page in the emitter for more details.