Keep_Apart - superclass: helper super-superclass:node - classID: #(1962490652, 515064320)
Description:
The Keep_Apart operator lets you apply forces to particles to cause them to separate to prevent or minimize collisions among particles. Alternatively, you can use a negative force to keep particles from separating too much. The operator works by controlling particle speed and acceleration.
Constructor:
Keep_Apart...
Properties:
<Keep_Apart>.Force Float default:100.0 --world units
Get/Set the amount of force applied to the particles.
Use positive values to separate particles, or negative values to move them closer together.
<Keep_Apart>.Use_Accel_Limit Boolean default:true
When set to True, the Accel_Limit
value will be considered.
When set to False, the software uses any necessary acceleration.
<Keep_Apart>.Accel_Limit Float default:1000.0 --world units
When .Use_Accel_Limit
is set to True, lets you set a maximum acceleration value that can be applied to particles' motion.
<Keep_Apart>.Use_Speed_Limit Boolean default:false
When set to True, the Speed_Limit value will be considered.
When set to False, the software uses any necessary speed.
<Keep_Apart>.Speed_Limit Float default:600.0 --world units
When .Use_Speed_Limit
is set to True, lets you set a maximum speed value that can be applied to particles' motion.
<Keep_Apart>.Range_Type Integer default:0
Lets you set a volume and falloff within which the force takes effect, either as absolute distances or relative to particle size.
0: Absolute Size - Choose this to set the core radius and falloff zone as absolute distances, in system units, using the .Core_Size
and .Falloff_Size
values.
1: Relative to Particle Size - Choose this to set the core radius and falloff zone as percentages, relative to the radius of each particle. The particle radius is determined by measuring the distance from the pivot point to the farthest corner of its bounding box.
<Keep_Apart>.Core_Size Float default:10.0 --world units
The distance from each particle's pivot point, in system units, within which the force is applied at full strength.
Used when .Range_Type
is set to 0 : Absolute Size.
<Keep_Apart>.Falloff_Size Float default:10.0 --world units
The distance beyond the core radius, in system units, over which the force diminishes from full strength to 0.
Used when .Range_Type
is set to 0 : Absolute Size.
<Keep_Apart>.Core_Percentage Float default:200.0 --percentage
The distance from each particle, as a percentage of the particle radius, within which the force is applied at full strength.
Used when .Range_Type
is set to 1 : Relative to Particle Size.
<Keep_Apart>.Falloff_Percentage Float default:100.0 --percentage
The distance beyond the core radius, as a percentage of the radius, over which the force diminishes from full strength to 0.
Used when .Range_Type
is set to 1 : Relative to Particle Size.
<Keep_Apart>.Variation Float default:0.0 --percentage
The amount by which range values can vary randomly, as a percentage of the specified values.
The software uses the same random variation value for both Core and Falloff values, whether absolute or relative.
<Keep_Apart>.Scope_Type Integer default:0
By default, the Keep Apart force affects only particles in the current event, or particle group.
These settings let you widen the scope to other events or systems.
Possible values are:
0: Particle Group - The operator affects only particles in the current event.
1: Particle System - The operator affects all particles in the current particle system.
2: Selected Particle Groups - The operator affects only highlighted events in the list below this choice. After choosing this option, click items in the list to highlight them.
3: Selected Particle Systems - The operator affects only highlighted particle systems in the list below this choice. After choosing this option, click items in the list to highlight them.
<Keep_Apart>.Selected_Groups int array default:#()
Get/Set the Groups to be affected when .Scope_Type
is set to 2 : Selected Particle Groups.
<Keep_Apart>.Selected_Systems int array default:#()
Get/Set the Systems to be affected when .Scope_Type
is set to 3 : Selected Particle Systems.
<Keep_Apart>.Use_Script_Float Integer
Possible values are:
0: Not Used - Particle Flow uses the Force setting specified in the Parameters rollout.
1: Influence - Particle Flow applies the script particleFloat channel value to the .Force
value.
<Keep_Apart>.Use_Script_Vector Integer
Controls the state of the drop-down list in the additional Script Wiring rollout.
Possible values are:
0: Not Used - Particle Flow uses the Range settings specified in the Parameters rollout.
1: Absolute Size Range - Particle Flow applies the script particleVector values to the Absolute Size Range values. The X component of the vector value is used for the .Core_Size
value, and the Y component for the .Falloff_Size
value.
2: Relative Size Range - Particle Flow applies the script particleVector values to the Relative Size Range values. The X component of the vector value is used for the. .Core_Percentage
value, and the Y component for the. .Falloff_Percentage
value.
<Keep_Apart>.Random_Seed Integer
Specifies a randomization value.
Script Wiring lets you use a script to control the Force and Range parameters, which you normally specify in the operator's properties.
Place a Script Operator before the Speed_Keep_Apart operator in the event,
Enable Script Wiring using the .setUseScriptWiring
method in the Interface: action
Use the Script_Operator to define values in the particleFloat and particleVector channels.
Channels:
ParticleFloat - Force
When Script Wiring is active, the values in the particleFloat channel will control the .Force value of the Keep_Apart operator. For an example of a script that sets particleFloat values, see particleFloat Sample Script.
ParticleVector - Absolute Size
When .Use_Script_Vector
is set to 1, the values in the particleVector channel will control the Absolute Size Range values.
The X component of the vector will be used for the .Core_Size
value.
The Y component of the vector will be used for the .Falloff_Size
value.
ParticleVector - Relative Size
When .Use_Script_Vector
is set to 2, the values in the particleVector channel will control the Relative Size Range values.
The X component of the vector will be used for the .Core_Percentage
value.
The Y component of the vector will be used for the .Falloff_Percentage
value.